Files
GateDge2023_ljy/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/2新BOM层级库存状态.sql
PastSaid 08d8878eef a
2024-03-11 14:47:23 +08:00

3168 lines
180 KiB
Transact-SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

declare
@moBillNo varchar(100)
,@salesBillNo varchar(100)
,@ProMateriaNumber varchar(100)
,@startMaterialId int
,@endMaterialId int
,@FSDate varchar (30)
,@FEDate varchar (30)
,@FSStock varchar (max)
,@FName varchar (255)
SET @moBillNo =''
SET @salesBillNo =''
SET @moBillNo = 0
SET @moBillNo = 0
SET @FSDate = '2024-02-06'
SET @FEDate = '2024-03-06'
--SET @FSNumber = 'TSH182H000208O'
--SET @FENumber = 'TSH182H000208O'
SET @FSStock =''
SET @FName = ''
SET nocount ON
declare @FCloseBALDate varchar (30)
declare @FClosedate varchar (30)
--查询起始日期最近一期的期末结存日期
If NOT Exists(
SELECT FORGID,MAX(FCLOSEDATE) fclosedate
FROM T_STK_CLOSEPROFILE
WHERE FORGID IN (1) AND FCATEGORY = 'STK' AND (FCLOSEDATE < @FSDate)
GROUP BY FORGID)
BEGIN
SET @FClosedate='2020-01-01'
SET @FCloseBALDate='2020-01-01'
--print @FClosedate
END
ELSE
BEGIN
--SET @FClosedate='2019-07-01'
SELECT @FClosedate= CONVERT(varchar (30),DATEADD(D,1,MAX(FCLOSEDATE)),23) FROM
T_STK_CLOSEPROFILE WHERE ((FORGID IN (1) AND FCATEGORY = 'STK') AND (FCLOSEDATE < @FSDate)) GROUP BY FORGID
SET @FCloseBALDate=CONVERT(varchar (30),DATEADD(D,-1,@FClosedate),23)
--print @FClosedat
END
--生成临时选取仓库
IF EXISTS(SELECT * FROM tempdb..SYSOBJECTS WHERE id=OBJECT_ID('tempdb..#tmpStockID'))
BEGIN
DROP TABLE #tmpStockID
print '存在'
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)
--库存状态报表
if EXISTS(SELECT * FROM tempdb..sysobjects WHERE id=object_id('tempdb..#Stock_Status_temp'))
begin
DROP TABLE #Stock_Status_temp
print '存在'
END
Create Table #Stock_Status_temp (
序号 INT IDENTITY(1,1),
物料内码 INT,
物料代码 varchar(100) null,
物料名称 varchar(255) null,
规格型号 varchar(255) null,
旧编码 varchar(100) null,
--单位 varchar(30) null,
上期结存 DECIMAL (18,2) Null,
本期采购入库 DECIMAL (18,2) Null,
本期耗用 DECIMAL (18,2) Null,
期末结存 DECIMAL (18,2) Null,
在途量 DECIMAL (18,2) Null,
在制数 DECIMAL (18,2) Null,
进检量 DECIMAL (18,2) Null,
未发量 DECIMAL (18,2) Null,
领料数量 DECIMAL (18,2) Null,
销售出库数量 DECIMAL (18,2) Null,
仓库拨出数量 DECIMAL (18,2) Null,
仓库拨入数量 DECIMAL (18,2) Null,
申购未转数 DECIMAL (18,2) Null,
受订量 DECIMAL (18,2) Null,
占用量 DECIMAL (18,2) Null,
可用库存 DECIMAL (18,2) Null,
仓库内码 INT,
仓库代码 varchar(100) null,
仓库名称 varchar(255) null,
包装内码 INT,
包装方式 varchar(255) null
)
if EXISTS(SELECT * FROM tempdb..sysobjects WHERE id=object_id('tempdb..#TMP'))
begin
DROP TABLE #TMP
print '存在'
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
)
--分析BOM层级物料
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,
物料编码 NVARCHAR(255),
物料名称 NVARCHAR(255),
成品率 DECIMAL(28,10) DEFAULT (0),
分子 DECIMAL(28,10),--BOM分子
分母 DECIMAL(28,10),--BOM分母
FQty DECIMAL(28,10),--用量
FLevle INT,
FERPCLSID INT,
FProMaterialId INT,
FOrderNum NVARCHAR(255),
FBOMID INT,
BOM层级 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
/* 根据生产订单号,销售订单号,物料进行筛选对应的物料*/
SELECT
t0.FBILLNO
,t0.FID
,t0e.FQTY
,t0e.FENTRYID
,t0e.FMATERIALID
,t0e_a.FREPQUAQTY
--,t0e_a.FREQSRC --1.销售订单
,(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'
/*取出所有审核状态的BOM放入临时表中*/
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
,t0.FDOCUMENTSTATUS
,t0.FYIELDRATE
INTO #BOMTmp
FROM T_ENG_BOM T0
INNER JOIN T_BD_MATERIAL TM ON t0.FMATERIALID=TM.FMATERIALID --物料表
WHERE (t0.FDOCUMENTSTATUS = 'C') AND (t0.FFORBIDSTATUS='A')
--AND tm.FNUMBER = 'TSH182H000208O'
AND tm.FMATERIALID IN (SELECT DISTINCT FMATERIALID FROM #TEMPMO)
ORDER BY FMATERIALID,FNUMBER
--/*在临时表中同一个物料代码只保留一个最新版本的BOM*/
DELETE FROM #BOMTmp WHERE ROWID != 1
--查询出第一级产成品信息
INSERT INTO #YC_T_MRP(
FBOMNumber,FMATERIALID,物料编码,物料名称,成品率
,分子,分母,FQty,FLevle,FERPCLSID,FProMaterialId,FOrderNum
,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber)
SELECT
t0.FNUMBER,T0.FMATERIALID,t1.FNUMBER '物料编码',t3.FNAME '物料名称',t0.FYIELDRATE '成品率'
,1 '分子',1 '分母',1 'FQty','0' 'FLevle',T2.FERPCLSID 'FERPCLSID',t1.FMATERIALID,t1.FNUMBER '物料编码'
,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 --物料表
LEFT OUTER JOIN t_BD_MaterialBase t2 ON t1.FMATERIALID = t2.FMATERIALID --物料表
LEFT OUTER JOIN T_BD_MATERIAL_L t3 ON (t1.FMATERIALID = t3.FMATERIALID AND t3.FLocaleId = 2052)--物料表
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
--根据第一级产成品关联查询出第一级产成品下面的材料信息
DECLARE @num INT,@level int,@LoopCount int
SET @num = 1
SET @level =1
SET @LoopCount = 0;
INSERT INTO #YC_T_MRP(
FBOMNumber,FMATERIALID,物料编码,物料名称,成品率
,分子,分母,FQty,FLevle,FERPCLSID,FProMaterialId,FOrderNum
,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber)
SELECT
t10.FNUMBER,t7.FMATERIALID,t7.FNUMBER '物料编码',T9.FNAME '物料名称',t10.FYIELDRATE '成品率'
,t6.FNUMERATOR '分子',t6.FDENOMINATOR '分母',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty'
,@level AS 'FLevle',t8.FERPCLSID 'FERPCLSID',t5.FProMaterialId,T5.FOrderNum
,0 'FBOMID',T5.FSEQ1 'FSEQ1',t6.FSEQ 'FSEQ2',0 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6',t5.物料编码 'FParentNumber'
FROM #YC_T_MRP t5
LEFT OUTER JOIN T_ENG_BOMCHILD t6 ON t5.FBOMID=t6.FID--BOM表分录
INNER JOIN T_BD_MATERIAL t7 ON t6.FMATERIALID=t7.FMATERIALID --物料表
LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --物料表
LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--物料表
LEFT JOIN T_ENG_BOM t10 ON t10.FID=t6.FID--BOM表
WHERE (t7.FFORBIDSTATUS = 'A')
AND T5.FLevle = 0 AND T5.FERPCLSID >= 2
AND t10.FDOCUMENTSTATUS = 'C'
WHILE (@num > 0 AND @LoopCount < 10)
BEGIN
SELECT ID=IDENTITY(INT,1,1),T0.FID,T0.FNUMBER,T0.FMATERIALID
INTO #BOMTmp1 FROM #YC_T_MRP t1
INNER JOIN T_ENG_BOM t0 ON t1.FMATERIALID=t0.FMATERIALID--BOM表头
WHERE 1=1 AND (t0.FDOCUMENTSTATUS = 'C') AND (t0.FFORBIDSTATUS='A') AND T1.FLevle=@level AND T1.FERPCLSID>=2
DELETE FROM #BOMTmp1 WHERE id NOT IN (SELECT max(id) FROM #BOMTmp1 GROUP BY FMATERIALID)
INSERT INTO #YC_T_MRP(FBOMNumber,FMATERIALID,物料编码,物料名称,成品率,分子,分母,FQty,FLevle
,FERPCLSID,FProMaterialId,FOrderNum,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber)
SELECT t5.FNUMBER,t7.FMATERIALID,t7.FNUMBER '物料编码',T9.FNAME '物料名称',t5.FYIELDRATE '成品率'
,t6.FNUMERATOR '分子',t6.FDENOMINATOR '分母',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty'
,@level + 1 AS 'FLevle',t8.FERPCLSID 'FERPCLSID',t1.FProMaterialId,T1.FOrderNum,0 'FBOMID'
,t1.FSEQ1 'FSEQ1',t1.FSEQ2 'FSEQ2',t6.FSEQ 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6',t1.物料编码 'FParentNumber'
FROM #YC_T_MRP t1
INNER JOIN T_ENG_BOM t5 ON t1.FMATERIALID=t5.FMATERIALID--BOM表头
LEFT OUTER JOIN T_ENG_BOMCHILD t6 ON t5.FID=t6.FID--BOM表分录
INNER JOIN T_BD_MATERIAL t7 ON t6.FMATERIALID=t7.FMATERIALID --物料表
LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --物料表
LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--物料表
INNER JOIN #BOMTmp1 t10 ON t5.FMATERIALID=t10.FMATERIALID AND T5.FNUMBER=T10.FNUMBER
WHERE 1 = 1 AND (t7.FFORBIDSTATUS = 'A') AND T1.FLevle=@level AND T1.FERPCLSID>=2 AND t5.FDOCUMENTSTATUS = 'C'
SET @num = @@ROWCOUNT
SET @level += 1
SET @LoopCount += 1
DROP TABLE #BOMTmp1
END
UPDATE #YC_T_MRP SET BOM层级 =REPLICATE('.',FLevle)++ convert(varchar(4),FLevle)
--生产入库单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT
TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,
ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'生产入库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty
FROM T_PRD_INSTOCK TS
INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID
LEFT OUTER JOIN T_PRD_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
--((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59'))
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TS.FENTRUSTINSTOCKID = 0)
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSE.FBASEREALQTY) fbaseqcqty
FROM T_PRD_INSTOCK TS
INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TS.FENTRUSTINSTOCKID = 0)
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--入库单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.
FSTOCKSTATUSID fstockstatusid,'入库单' fbillname,
TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEUNITQTY fbaseinqty,0 fbaseoutqty
--t_STK_InStock
FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
--((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59'))
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0')
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSE.FBASEUNITQTY) fbaseqcqty
FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE ((
((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0')
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.
FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--入库单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,
FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FRECEIVEAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FRECEIVESTOCKID fstockid,ISNULL(TSE.FRECEIVESTOCKLOCID,0) fstocklocid,TSE.FRECEIVESTOCKSTATUS fstockstatusid,'入库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASEUNITQTY fbaseoutqty
FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
--((TS.FDATE >= '2019-07-01 00:00:00')AND (TS.FDATE <= '2019-11-12 23:59:59'))
AND (TSE.FRECEIVESTOCKID > 0)) AND (TSE.FRECEIVESTOCKSTATUS > 0)) AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0')
AND TSE.FRECEIVESTOCKFLAG = '1')
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,
TSE.FMATERIALID fmaterialid,ISNULL(TSE.FRECEIVEAUXPROPID,0) fauxpropid,
TSE.FRECEIVESTOCKID fstockid,ISNULL(TSE.FRECEIVESTOCKLOCID,0) fstocklocid,
TSE.FRECEIVESTOCKSTATUS fstockstatusid,'初始数据',(0 - SUM(TSE.FBASEUNITQTY)) fbaseqcqty
FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (TSE.FRECEIVESTOCKID > 0))
AND (TSE.FRECEIVESTOCKSTATUS > 0)) AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0') AND TSE.FRECEIVESTOCKFLAG = '1')
GROUP BY TS.FSTOCKORGID,TSE.FRECEIVEOWNERTYPEID,TSE.FRECEIVEOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FRECEIVEAUXPROPID,0),
ISNULL(TSE.FRECEIVELOT_TEXT,' '),ISNULL(TSE.FRECEIVEMTONO,' '),TSE.FRECEIVESTOCKID,ISNULL(TSE.FRECEIVESTOCKLOCID,0),
TSE.FRECEIVESTOCKSTATUS,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--生产领料单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,
FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
--生产领料单
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,
ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
'生产领料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
0 fbaseqcqty,0 fbaseinqty,TSED.FBASESTOCKACTUALQTY fbaseoutqty
FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID
INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
LEFT OUTER JOIN T_PRD_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND
TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(0 - TSED.FBASESTOCKACTUALQTY) fbaseqcqty
FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID
INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (
((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSED.FOWNERTYPEID,TSED.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSED.FKEEPERTYPEID,
TSED.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0),TS.FDATE
--销售出库单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'销售出库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
0 fbaseqcqty,0 fbaseinqty,TSE.FBASEUNITQTY fbaseoutqty
FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID
INNER JOIN T_SAL_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard'))
AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6'))
--AND TS.FBILLNO='SA1907050103'
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
TSE.FSTOCKSTATUSID fstockstatusid,
'初始数据',SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty
FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON TSE.FENTRYID = TSEF.FENTRYID
INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE ((((
((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,
TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--生产补料单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'生产补料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSEQ.FBASESTOCKACTUALQTY fbaseoutqty
FROM T_PRD_FEEDMTRL TS
INNER JOIN T_PRD_FEEDMTRLDATA TSE ON TSE.FID = TS.FID
INNER JOIN T_PRD_FEEDMTRLDATA_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
LEFT OUTER JOIN T_PRD_FEEDMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--AND ts.FBILLNO IN ('M31910140010','M31907010006')
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
TSE.FSTOCKSTATUSID fstockstatusid,'初始数据' fbillname,SUM(0 - TSEQ.FBASESTOCKACTUALQTY) fbaseqcqty
FROM T_PRD_FEEDMTRL TS INNER JOIN T_PRD_FEEDMTRLDATA TSE ON TSE.FID = TS.FID
INNER JOIN T_PRD_FEEDMTRLDATA_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1)
AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),
TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--生产退料单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,
ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'生产退料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSEA.FBASESTOCKQTY) fbaseoutqty
FROM T_PRD_RETURNMTRL TS
INNER JOIN T_PRD_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_PRD_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
LEFT OUTER JOIN T_PRD_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
AND TS.FCANCELSTATUS = 'A'))
--AND ts.FBILLNO='M21907200004'
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSEA.FBASESTOCKQTY) fbaseqcqty
FROM T_PRD_RETURNMTRL TS INNER JOIN T_PRD_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_PRD_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--退料单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,
0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'退料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
0 fbaseqcqty,(0 - TSE.FBASEUNITQTY) fbaseinqty,0 fbaseoutqty
FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0))
AND TSF.FISGENFORIOS = '0') AND (TSE.FSTOCKFLAG = '1' OR ((TS.FMRTYPE = 'B' AND TMB.FISINVENTORY = '1') AND (TSE.FStockStatusId <> TSE.FReceiveStockStatusId))))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty
FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1)
AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0))
AND TSF.FISGENFORIOS = '0') AND (TSE.FSTOCKFLAG = '1' OR ((TS.FMRTYPE= 'B' AND TMB.FISINVENTORY = '1')
AND (TSE.FStockStatusId <> TSE.FReceiveStockStatusId))))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
ISNULL(TSE.FLOT_TEXT,''),ISNULL(TSE.FMTONO,''),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--收料单 库存更新标志 FSTOCKFLAG 0:未更新 1:已更新
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'收料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEUNITQTY fbaseinqty,0 fbaseoutqty
FROM T_PUR_RECEIVE TS INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_PUR_RECEIVEENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
INNER JOIN T_PUR_RECEIVEFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_MATERIALBASE TMB ON TMB.FMaterialId = TSE.FMaterialId
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TMB.FISINVENTORY = '1')
AND (TSE.FSTOCKID > 0)) AND TSE.FSTOCKFLAG = '1')
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSE.FBASEUNITQTY) fbaseqcqty
FROM T_PUR_RECEIVE TS
INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0)) AND TSE.FSTOCKFLAG = '1')
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--销售退货单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
--销售退货单
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,
TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'销售退货单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSE.FBASEUNITQTY) fbaseoutqty
FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID INNER JOIN T_SAL_RETURNSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6'))
--AND TS.FBILLNO ='SB1908230003'
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSE.FBASEUNITQTY) fbaseqcqty
FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON TSE.FENTRYID = TSEF.FENTRYID
INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--简单生产入库单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'简单生产入库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty
FROM T_SP_INSTOCK TS INNER JOIN T_SP_INSTOCKENTRY TSE ON TSE.FID = TS.FID
LEFT OUTER JOIN T_SP_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSE.FBASEREALQTY) fbaseqcqty
FROM T_SP_INSTOCK TS INNER JOIN T_SP_INSTOCKENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,
TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--简单生产领料单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'简单生产领料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASEACTUALQTY fbaseoutqty
FROM T_SP_PICKMTRL TS INNER JOIN T_SP_PICKMTRLDATA TSE ON TSE.FID = TS.FID
LEFT OUTER JOIN T_SP_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',(0 - SUM(TSE.FBASEACTUALQTY)) fbaseqcqty
FROM T_SP_PICKMTRL TS INNER JOIN T_SP_PICKMTRLDATA TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,
ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--简单生产退料单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,
0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'简单生产退料单' fbillname,TS.FID fbillid,TSE.FSEQ
fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSE.FBASEQTY) fbaseoutqty
FROM T_SP_RETURNMTRL TS INNER JOIN T_SP_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
LEFT OUTER JOIN T_SP_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSE.FBASEQTY) fbaseqcqty
FROM T_SP_RETURNMTRL TS INNER JOIN T_SP_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--组装拆卸单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN 'I' ELSE 'O' END fstockio,
TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
TSE.FSTOCKSTATUSID fstockstatusid,'组装拆卸单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSE ON TSE.FID = TS.FID
LEFT OUTER JOIN T_STK_ASSEMBLYPRODUCT_R TSR ON TSR.FENTRYID = TSE.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE
(((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',
SUM(CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,
TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--组装拆卸单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FDETAILID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN 'I' ELSE 'O' END fstockio,
TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
TSE.FSTOCKSTATUSID fstockstatusid,'组装拆卸单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN 0 ELSE TSE.FBASEQTY END fbaseinqty,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN 0 ELSE TSE.FBASEQTY END fbaseoutqty
FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSEH ON TSEH.FID = TS.FID
INNER JOIN T_STK_ASSEMBLYSUBITEM TSE ON TSE.FENTRYID = TSEH.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
LEFT OUTER JOIN T_STK_ASSEMBLYPRODUCT_R TSR ON TSR.FENTRYID = TSE.FENTRYID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSEH ON TSEH.FID = TS.FID
INNER JOIN T_STK_ASSEMBLYSUBITEM TSE ON TSE.FENTRYID = TSEH.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,
TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0),TS.FDATE
--批号调整单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio,
TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,
TSE.FSTOCKSTATUSID fstockstatusid,'批号调整单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
FROM T_STK_LOTADJUST TS INNER JOIN T_STK_LOTADJUSTENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
--((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59'))
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
'初始数据',SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
FROM T_STK_LOTADJUST TS INNER JOIN T_STK_LOTADJUSTENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,
ISNULL(TSE.FBOMID,0)
--其他入库单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'其他入库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
0 fbaseqcqty,CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END fbaseinqty,0 fbaseoutqty
FROM T_STK_MISCELLANEOUS TS INNER JOIN T_STK_MISCELLANEOUSENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_STK_MISCELLANEOUSENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
--((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE<= '2019-11-12 23:59:59'))
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',
SUM(CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
FROM T_STK_MISCELLANEOUS TS INNER JOIN T_STK_MISCELLANEOUSENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,
ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--其他出库单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'其他出库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
0 fbaseqcqty,0 fbaseinqty,CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END fbaseoutqty
FROM T_STK_MISDELIVERY TS
INNER JOIN T_STK_MISDELIVERYENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_STK_MISDELIVERYENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP (FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',
SUM(CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN (0 - TSE.FBASEQTY) ELSE TSE.FBASEQTY END) fbaseqcqty
FROM T_STK_MISDELIVERY TS INNER JOIN T_STK_MISDELIVERYENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--受托加工材料入库单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'受托加工材料入库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
TS.FBILLNO fbillno,0 fbaseqcqty,FBASEQTY fbaseinqty,0 fbaseoutqty
FROM T_STK_OEMINSTOCK TS
INNER JOIN T_STK_OEMINSTOCKENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_STK_OEMINSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
--((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59'))
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(FBASEQTY) fbaseqcqty
FROM T_STK_OEMINSTOCK TS INNER JOIN T_STK_OEMINSTOCKENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--受托加工材料退料单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'受托加工材料退料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
TS.FBILLNO fbillno,0 fbaseqcqty,(0 - FBASEQTY) fbaseinqty,0 fbaseoutqty
FROM T_STK_OEMINSTOCKRTN TS
INNER JOIN T_STK_OEMINSTOCKRTNENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_STK_OEMINSTOCKRTNENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND FRETURNTYPE = 'StockReMat')
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'',(0 - SUM(FBASEQTY)) fbaseqcqty
FROM T_STK_OEMINSTOCKRTN TS INNER JOIN T_STK_OEMINSTOCKRTNENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
AND FRETURNTYPE = 'StockReMat')
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,
ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--形态转换单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio,TSE.FMATERIALID fmaterialid,
ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
'形态转换单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
FROM T_STK_STATUSCONVERT TS
INNER JOIN T_STK_STATUSCONVERTENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',
SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
FROM T_STK_STATUSCONVERT TS INNER JOIN T_STK_STATUSCONVERTENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--库存状态转换单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,
CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
'库存状态转换单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,
CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
FROM T_STK_STOCKCONVERT TS INNER JOIN T_STK_STOCKCONVERTENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_STK_STOCKCONVERTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',
SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
FROM T_STK_STOCKCONVERT TS INNER JOIN T_STK_STOCKCONVERTENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--盘盈单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
'盘盈单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEGAINQTY fbaseinqty,0 fbaseoutqty
FROM T_STK_STKCOUNTGAIN TS
INNER JOIN T_STK_STKCOUNTGAINENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
'初始数据',SUM(TSE.FBASEGAINQTY) fbaseqcqty
FROM T_STK_STKCOUNTGAIN TS INNER JOIN T_STK_STKCOUNTGAINENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--盘亏单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'盘亏单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
0 fbaseqcqty,0 fbaseinqty,TSE.FBASELOSSQTY fbaseoutqty
FROM T_STK_STKCOUNTLOSS TS INNER JOIN T_STK_STKCOUNTLOSSENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
'初始数据',SUM(0 - TSE.FBASELOSSQTY) fbaseqcqty
FROM T_STK_STKCOUNTLOSS TS INNER JOIN T_STK_STKCOUNTLOSSENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,
ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--直接调拨单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio,
TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,
TSE.FDESTSTOCKSTATUSID fstockstatusid,'直接调拨单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty
FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS
.FOBJECTTYPEID = 'STK_TransferDirect')
--初始数据
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,
ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FDESTSTOCKID fstockid,
ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,'初始数据',
SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END -
CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect')
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),
ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FDESTSTOCKID,ISNULL(TSE.FDESTSTOCKLOCID,0),
TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE
--直接调拨单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,
FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKOUTORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,
CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio,
TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,
'直接调拨单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END fbaseinqty,
CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect')
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKOUTORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,
TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'初始数据',
SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END -
CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END) fbaseqcqty
FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect')
GROUP BY TS.FSTOCKOUTORGID,TSE.FOWNERTYPEOUTID,TSE.FOWNEROUTID,TSE.FSRCMATERIALID,ISNULL(TSE.FAUXPROPID,0),
ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,
TSE.FKEEPERTYPEOUTID,TSE.FKEEPEROUTID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FSRCBOMID,TS.FDATE
--分步式调入单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio,
TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,
TSE.FDESTSTOCKSTATUSID fstockstatusid,'分步式调入单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
0 fbaseqcqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GEN
ERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,
CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty
FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN')
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,'初始数据',
SUM(TSE.FBASEQTY) fbaseqcqty
FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN')
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FDESTLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FDESTSTOCKID,ISNULL(TSE.FDESTSTOCKLOCID,0),TSE.FDESTSTOCKSTATUSID,
TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE
--分步式调入单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKOUTORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'分步式调入单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
TS.FBILLNO fbillno,0 fbaseqcqty,((0 - TSE.FBASEQTY) - TSET.FBASEPATHLOSSQTY) fbaseinqty,0 fbaseoutqty
FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_STK_STKTRANSFERINENTRY_T TSET ON TSE.FENTRYID = TSET.FENTRYID
INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1'))
AND TS.FVESTONWAY = 'A') AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN')
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKOUTORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'',SUM((0 - TSE.FBASEQTY) - TSET.FBASEPATHLOSSQTY) fbaseqcqty
FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_STK_STKTRANSFERINENTRY_T TSET ON TSE.FENTRYID = TSET.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKOUTORGID IN (1)
AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1'))
AND TS.FVESTONWAY = 'A') AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN')
GROUP BY TS.FSTOCKOUTORGID,TSE.FOWNERTYPEOUTID,TSE.FOWNEROUTID,TSE.FSRCMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FSRCMTONO,' '),
TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,TSE.FKEEPERTYPEOUTID,TSE.FKEEPEROUTID,TSE.FSRCPRODUCEDATE,TSE.FSRCEXPIRYDATE,TSE.FSRCBOMID,TS.FDATE
--分步式调出单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio,
TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,
TSE.FSRCSTOCKSTATUSID fstockstatusid,'分步式调出单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseinqty,
CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,
'初始数据',SUM(0 - TSE.FBASEQTY) fbaseqcqty
FROM T_STK_STKTRANSFEROUTENTRY TSE INNER JOIN T_STK_STKTRANSFEROUT TS ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON
TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,
TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE
--分步式调出单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,
'分步式调出单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEQTY fbaseinqty,0 fbaseoutqty
FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'A')
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,
'初始数据',SUM(TSE.FBASEQTY) fbaseqcqty
FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'A')
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),
TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE
--分步式调出单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKINORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FDESTMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,
ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,
'分步式调出单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEQTY fbaseinqty,0 fbaseoutqty
FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FDESTMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKINORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'B')
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKINORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FDESTMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,
'初始数据',SUM(TSE.FBASEQTY) fbaseqcqty
FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FDESTMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKINORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'B')
GROUP BY TS.FSTOCKINORGID,TSE.FOWNERTYPEINID,TSE.FOWNERINID,TSE.FDESTMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FDESTLOT_TEXT,' '),ISNULL(TSE.FDESTMTONO,' '),TSE.FDESTSTOCKID,
ISNULL(TSE.FDESTSTOCKLOCID,0),TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEINID,TSE.FKEEPERINID,TSE.FDESTPRODUCEDATE,TSE.FDESTEXPIRYDATE,ISNULL(TSE.FDESTBOMID,0),TS.FDATE
--生产线在制仓库调拨单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio,
TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,
TSE.FDESTSTOCKSTATUSID fstockstatusid,'生产线在制仓库调拨单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
0 fbaseqcqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,
CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty
FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_REM_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,'初始数据',
SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty
FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FDESTLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),
TSE.FDESTSTOCKID,ISNULL(TSE.FDESTSTOCKLOCID,0),TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE
--生产线在制仓库调拨单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKOUTORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio,
TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,
TSE.FSRCSTOCKSTATUSID fstockstatusid,
'生产线在制仓库调拨单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END fbaseinqty,
CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty
FROM T_REM_STKTRANSFERIN TS
INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_REM_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKOUTORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'初始数据',
SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END) fbaseqcqty
FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKOUTORGID,TSE.FOWNERTYPEOUTID,TSE.FOWNEROUTID,TSE.FSRCMATERIALID,ISNULL(TSE.FAUXPROPID,0),
ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,TSE.FKEEPERTYPEOUTID,TSE.FKEEPEROUTID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FSRCBOMID,TS.FDATE
--委外补料单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'委外补料单' fbillname,TS.FID fbillid,
TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSEQ.FBASESTOCKACTUALQTY fbaseoutqty
FROM T_SUB_FEEDMTRL TS INNER JOIN T_SUB_FEEDMTRLENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_SUB_FEEDMTRLENTRY_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
LEFT OUTER JOIN T_SUB_FEEDMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
'初始数据',SUM(0 - TSEQ.FBASESTOCKACTUALQTY) fbaseqcqty
FROM T_SUB_FEEDMTRL TS INNER JOIN T_SUB_FEEDMTRLENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_SUB_FEEDMTRLENTRY_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,
TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--委外领料单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'委外领料单' fbillname,TS.FID fbillid,
TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASESTOCKACTUALQTY fbaseoutqty
FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID
INNER JOIN T_SUB_PICKMTRLDATA_A TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
LEFT OUTER JOIN T_SUB_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
'初始数据',SUM(0 - TSE.FBASESTOCKACTUALQTY) fbaseqcqty
FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID
INNER JOIN T_SUB_PICKMTRLDATA_A TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
AND TM.FFORBIDSTATUS = 'A')AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSEQ.FOWNERTYPEID,TSEQ.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),
TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSEQ.FKEEPERTYPEID,TSEQ.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--委外退料单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
'委外退料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,
0 fbaseinqty,(0 - TSE.FBASESTOCKQTY) fbaseoutqty
FROM T_SUB_RETURNMTRL TS INNER JOIN T_SUB_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_SUB_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
LEFT OUTER JOIN T_SUB_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSE.FBASESTOCKQTY) fbaseqcqty
FROM T_SUB_RETURNMTRL TS INNER JOIN T_SUB_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_SUB_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,
TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSEA.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--生产线产品入库单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,
'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'生产线产品入库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty
FROM T_REM_INSTOCK TS INNER JOIN T_REM_INSTOCKENTRY TSE ON TSE.FID = TS.FID
LEFT OUTER JOIN T_REM_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
'初始数据',SUM(TSE.FBASEREALQTY) fbaseqcqty
FROM T_REM_INSTOCK TS INNER JOIN T_REM_INSTOCKENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
---生产线产品退库单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,
FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
'生产线产品退库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,
0 fbaseqcqty,(0 - TSE.FBASEREALQTY) fbaseinqty,0 fbaseoutqty
FROM T_REM_OUTSTOCK TS INNER JOIN T_REM_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
LEFT OUTER JOIN T_REM_OUTSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
'初始数据',SUM(TSE.FBASEREALQTY) fbaseqcqty
FROM T_REM_OUTSTOCK TS INNER JOIN T_REM_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,
ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--生产线领料单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,
'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
'生产线领料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS
.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSED.FBASESTOCKACTUALQTY fbaseoutqty
FROM T_REM_PICKMTRL TS INNER JOIN T_REM_PICKMTRLDATA TSE ON TSE.FID = TS.FID
INNER JOIN T_REM_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
LEFT OUTER JOIN T_REM_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
'初始数据',SUM(0 - TSED.FBASESTOCKACTUALQTY) fbaseqcqty
FROM T_REM_PICKMTRL TS INNER JOIN T_REM_PICKMTRLDATA TSE ON TSE.FID = TS.FID
INNER JOIN T_REM_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1)
AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSED.FOWNERTYPEID,TSED.FOWNERID,TSE.FMATERIALID,
ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSED.FKEEPERTYPEID,TSED.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0),TS.FDATE
--生产线退料单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'生产线退料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSEA.FBASESTOCKQTY) fbaseoutqty
FROM T_REM_RETURNMTRL TS INNER JOIN T_REM_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_REM_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
LEFT OUTER JOIN T_REM_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSEA.FBASESTOCKQTY) fbaseqcqty
FROM T_REM_RETURNMTRL TS INNER JOIN T_REM_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_REM_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),
TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--委外超耗单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
'委外超耗单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASEUNITQTY fbaseoutqty
FROM T_SUB_EXCONSUME TS INNER JOIN T_SUB_EXCONSUMEENTRY TSE ON TSE.FID = TS.FID
LEFT OUTER JOIN T_SUB_EXCONSUMEENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
'初始数据',SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty
FROM T_SUB_EXCONSUME TS INNER JOIN T_SUB_EXCONSUMEENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOwnerTypeId,TSE.FOwnerId,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),
ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--生产退库单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
'生产退库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,(0 - TSE.FBASEREALQTY) fbaseinqty,0 fbaseoutqty
FROM
T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_PRD_RESTOCKENTRY_A TSEA ON TSE.FEntryID = TSEA.FEntryID
LEFT OUTER JOIN T_PRD_RESTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')
AND TS.FCANCELSTATUS = 'A')) AND TS.FEntrustRetStockId = 0)
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
'初始数据',SUM(0 - TSE.FBASEREALQTY) fbaseqcqty
FROM T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1)
AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS= 'A')) AND TS.FEntrustRetStockId = 0)
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),
TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
--简单生产退库单
INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY)
SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'简单生产退库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,
TS.FBILLNO fbillno,0 fbaseqcqty,(0 - TSE.FBASEOUTQTY) fbaseinqty,0 fbaseoutqty
FROM T_SP_OUTSTOCK TS INNER JOIN T_SP_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
LEFT OUTER JOIN T_SP_OUTSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
INNER JOIN T_SP_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
--初始数据
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
'初始数据',SUM(0 - TSE.FBASEOUTQTY) fbaseqcqty
FROM T_SP_OUTSTOCK TS INNER JOIN T_SP_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID
WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A'))
GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,
TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0)
INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY)
SELECT TSE.FSTOCKORGID fstockorgid,TSE.FBALDATE fdate,-200 forderby,
'I' fstockio,TM.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,
TBS.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,
'库存余额表',SUM(TSE.FBASEENDQTY) fbaseqcqty
FROM T_STK_INVBAL TSE
INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE.FMATERIALID AND TM.FUSEORGID = TSE.FSTOCKORGID)
INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.FSTOCKID AND TBS.FUSEORGID = TSE.FSTOCKORGID)
LEFT OUTER JOIN T_ENG_BOM TB ON (TB.FMASTERID = TSE.FBOMID AND TB.FUSEORGID = TSE.FSTOCKORGID)
LEFT OUTER JOIN V_ITEMCLASS_OWNER VO ON ((VO.FMASTERID = TSE.FOWNERID AND VO.FFORMID = TSE.FOWNERTYPEID) AND (VO.FUSEORGID = TSE.FSTOCKORGID OR VO.FUSEORGID = 0
OR EXISTS (SELECT 1 FROM T_META_BASEDATATYPE BT WHERE (BT.FBASEDATATYPEID = VO.FFORMID AND BT.FSTRATEGYTYPE = 1))))
LEFT OUTER JOIN V_ITEMCLASS_OWNER_L VO_L ON (VO.FITEMID = VO_L.FITEMID AND VO_L.FLOCALEID = 2052)
LEFT OUTER JOIN V_ITEMCLASS_KEEPER VK ON ((VK.FMASTERID = TSE.FKEEPERID AND VK.FFORMID = TSE.FKEEPERTYPEID) AND (VK.FUSEORGID = TSE.FSTOCKORGID OR VK.FUSEORGID = 0
OR EXISTS (SELECT 1 FROM T_META_BASEDATATYPE BT WHERE (BT.FBASEDATATYPEID = VK.FFORMID AND BT.FSTRATEGYTYPE = 1))))
LEFT OUTER JOIN V_ITEMCLASS_KEEPER_L VK_L ON (VK.FITEMID = VK_L.FITEMID AND VK_L.FLOCALEID = 2052)
LEFT OUTER JOIN T_BD_LOTMASTER TBLM ON (ISNULL(TSE.FLOT,0) = TBLM.FMASTERID AND TBLM.FUSEORGID IN (1))
WHERE ((TSE.FSTOCKORGID IN (1) AND (FBALTYPE IN(0,1) AND (FSTOCKORGID = 1 AND TSE.FBALDATE =@FCloseBALDate )))
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
AND TM.FFORBIDSTATUS = 'A')
GROUP BY TSE.FSTOCKORGID,TSE.FOWNERTYPEID,VO.FITEMID,TSE.FBALDATE,TM.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TBLM.FNUMBER,' '),ISNULL(TSE.FMTONO,' '),
TBS.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,VK.FITEMID,TSE.FLOT,TMS.FISBATCHMANAGE,TMS.FISKFPERIOD,
TMS.FISEXPPARTOFLOT,TBLM.FPRODUCEDATE,TSE.FPRODUCEDATE,TBLM.FEXPIRYDATE,TSE.FEXPIRYDATE,ISNULL(TB.FID,0)
--合并所有出入库数据
SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
INTO #tmp1
FROM #TMP
--WHERE FDATE <='2019-08-30'
GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码)
SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码,
ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码
FROM #tmp1 TSE
INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE.FMATERIALID AND TM.FUSEORGID = TSE.FSTOCKORGID)
INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.FSTOCKID AND TBS.FUSEORGID = TSE.FSTOCKORGID)
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.FSTOCKID AND TSL.FLOCALEID = 2052)
LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
--上期结存数
--SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
--INTO #tmp2
--FROM #TMP
----WHERE FDATE <=@FSDate
--GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
--ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
--SELECT *
UPDATE t1 SET t1.上期结存=t2.FBASEQCQTY
FROM #Stock_Status_temp t1
INNER JOIN #tmp1 t2 ON t1.物料内码=t2.FMATERIALID AND t1.仓库内码=t2.FSTOCKID AND t1.包装内码=T2.FAUXPROPID
--期末结存
UPDATE t1 SET t1.期末结存=t2.FBASEQCQTY+t2.FBASEINQTY-t2.FBASEOUTQTY
FROM #Stock_Status_temp t1
INNER JOIN
#tmp1 t2 ON t1.物料内码=t2.FMATERIALID AND t1.仓库内码=t2.FSTOCKID AND t1.包装内码=T2.FAUXPROPID
--本期采购入库
SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
INTO #tmp4 FROM #TMP TS WHERE FORDERBY<>'-200' AND fstockio='I' AND ( FBILLNAME NOT like'%调拨单%' AND FBILLNAME<>'形态转换单')
AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12'
GROUP BY FSTOCKORGID,FMATERIALID,
FAUXPROPID,FSTOCKID
ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
--本期采购入库
UPDATE t1 SET t1.本期采购入库=t2.FBASEINQTY
FROM #Stock_Status_temp t1
INNER JOIN #tmp4 t2 ON t1.物料内码=t2.FMATERIALID AND t1.仓库内码=t2.FSTOCKID AND t1.包装内码=T2.FAUXPROPID
--本期耗用
SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
INTO #tmp5 FROM #TMP TS WHERE fstockio='O' AND ( FBILLNAME NOT like'%调拨单%' AND FBILLNAME<>'形态转换单')
AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12'
GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
--本期耗用
UPDATE t1 SET t1.本期耗用=t2.FBASEOUTQTY
FROM #Stock_Status_temp t1
INNER JOIN #tmp5 t2 ON t1.物料内码=t2.FMATERIALID AND t1.仓库内码=t2.FSTOCKID AND t1.包装内码=T2.FAUXPROPID
--仓库拨入数量仓库拨出数量
SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
INTO #tmp6 FROM #TMP TS WHERE FORDERBY<>'-200' AND ( FBILLNAME like'%调拨单%' )
AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12'
GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
--仓库拨入数量--仓库拨出数量
UPDATE t1 SET t1.仓库拨入数量=t2.FBASEINQTY,t1.仓库拨出数量=t2.FBASEOUTQTY
FROM #Stock_Status_temp t1
INNER JOIN #tmp6 t2 ON t1.物料内码=t2.FMATERIALID AND t1.仓库内码=t2.FSTOCKID AND t1.包装内码=T2.FAUXPROPID
--领料数量
SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
INTO #tmp7 FROM #TMP TS WHERE ( FBILLNAME IN('生产领料单','委外领料单' ))
AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12'
GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
--领料数量
UPDATE t1 SET t1.领料数量=t2.FBASEOUTQTY
FROM #Stock_Status_temp t1
INNER JOIN #tmp7 t2 ON t1.物料内码=t2.FMATERIALID AND t1.仓库内码=t2.FSTOCKID AND t1.包装内码=T2.FAUXPROPID
--销售出库数量
SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY
INTO #tmp8 FROM #TMP TS WHERE ( FBILLNAME ='销售出库单' )
AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate))
--TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12'
GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID
--销售出库数量
UPDATE t1 SET t1.销售出库数量=t2.FBASEOUTQTY
FROM #Stock_Status_temp t1
INNER JOIN #tmp8 t2 ON t1.物料内码=t2.FMATERIALID AND t1.仓库内码=t2.FSTOCKID AND t1.包装内码=T2.FAUXPROPID
--受订量
--销售订单受订量
--*******************************************
--查询订单数
--(C.FBASEREMAINOUTQTY+C.FBaseReturnQty)累计退库数量+剩余未出数量
SELECT (A.FBILLNO) AS 销售单号,(A.FID) 销售内码,(B.FENTRYID) 销售分录,(B.FSEQ) 销售序号,
B.FMATERIALID AS 物料内码,B.FBASEUNITQTY 订单数,(C.FBASEREMAINOUTQTY+C.FBaseReturnQty) AS 未出数量,FBaseReturnQty,
ISNULL(B.FSTOCKID,0) 仓库内码,B.FAUXPROPID,A.FCLOSESTATUS,FCLOSEDATE,A.FDATE,B.FMRPCLOSESTATUS 业务关闭
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 A.FDOCUMENTSTATUS='C' --AND B.FMRPTERMINATESTATUS='A'
AND (B.FTERMINATEDATE >@FEDate OR ISNULL(B.FTERMINATEDATE,'') ='')
AND (FCLOSEDATE>@FEDate OR ISNULL(FCLOSEDATE,'')='')--关闭日期在开始之前单据不考虑
AND A.FDATE <=@FEDate --AND A.FBILLNO='SO1909200018'
ORDER BY A.FDATE,A.FID,B.FENTRYID,B.FMATERIALID
--更新未出数量
--SELECT *
UPDATE t1 SET t1.未出数量=未出数量+t2.fbaseoutqty
FROM #tmpSal t1
INNER JOIN (
SELECT TSR.FSOORDERNO,TSR.FSOENTRYID,TSE.FMATERIALID,SUM(TSE.FBASEUNITQTY) fbaseoutqty
FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID
INNER JOIN T_SAL_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
WHERE TS.FDATE>@FEDate AND
( TS.FCANCELSTATUS = 'A' AND TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
GROUP BY TSR.FSOORDERNO,TSR.FSOENTRYID,TSE.FMATERIALID ) t2 ON t2.FSOORDERNO =t1.销售单号 AND t2.FSOENTRYID=t1.销售分录 AND t1.物料内码=t2.FMATERIALID
--销售出库退货
--销售退货单
--SELECT *
UPDATE t1 SET t1.未出数量=未出数量+t2.fbaseoutqty
FROM #tmpSal t1
INNER JOIN (
SELECT TSE.FORDERNO,TSE.FSOENTRYID,TSE.FMATERIALID,SUM((TSE.FBASEUNITQTY)) fbaseoutqty
FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID INNER JOIN T_SAL_RETURNSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID
WHERE TS.FDATE>@FEDate
AND ( TS.FCANCELSTATUS = 'A' AND TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
GROUP BY TSE.FORDERNO,TSE.FSOENTRYID,TSE.FMATERIALID
) t2 ON t2.FORDERNO =t1.销售单号 AND t2.FSOENTRYID=t1.销售分录 AND t1.物料内码=t2.FMATERIALID
SELECT 物料内码,订单数,未出数量,FAUXPROPID,CASE WHEN B.仓库内码<>0 THEN B.仓库内码 ELSE ISNULL(tms.FSTOCKID,0) END 仓库内码
INTO #tmpSal1 FROM #tmpSal B
LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 )
--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
ORDER BY 物料内码
SELECT 物料内码,订单数,未出数量,FAUXPROPID,仓库内码
INTO #tmpSal3 FROM #tmpSal1 B
LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
--LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
--LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 )
WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
(TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
ORDER BY 物料内码
SELECT 物料内码,SUM(订单数)订单数,SUM(未出数量)未出数量,FAUXPROPID,仓库内码
INTO #tmpSal2 FROM #tmpSal3
GROUP BY 仓库内码,物料内码,FAUXPROPID
ORDER BY 仓库内码,物料内码,FAUXPROPID
--销售订单受订量
UPDATE t1 SET t1.受订量=t2.未出数量
FROM #Stock_Status_temp t1
INNER JOIN #tmpSal2 t2 ON t1.物料内码=t2.物料内码 AND t1.仓库内码=t2.仓库内码 AND t1.包装内码=T2.FAUXPROPID
--不存在数据就重新增
INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,受订量)
SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS
物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码,
ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(未出数量)
FROM #tmpSal2 TSE
INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE.物料内码 )
INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.仓库内码 AND TSL.FLOCALEID = 2052)
LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
--SELECT * FROM #tmpSal2 TSE
WHERE NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.物料内码=t2.物料内码 AND TSE.仓库内码=t2.仓库内码 AND t2.包装内码=TSE.FAUXPROPID)
--*******************************************
--在途量
--************************************************
--采购订单
SELECT ddd.FPurchaseOrgID fstockorgid,ddd.FBILLNO 采购订单,ddd.FID AS 采购内码,B.FENTRYID 采购订单分录,b.FMATERIALID 物料内码,
ISNULL(b.FAUXPROPID,0) fauxpropid,ddd.FDATE fdate,TMS.FSTOCKID 仓库内码,FBASEUNITQTY 采购数量,
FREMAINSTOCKINQTY 剩余入库数量,FBASESTOCKINQTY 入库数量,ddd.FCLOSEDATE
INTO #tmppoorder
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
INNER JOIN T_BD_MATERIALSTOCK TMS ON b.FMATERIALID = TMS.FMATERIALID
WHERE (ddd.FPurchaseOrgID IN (1) AND (((ddd.FPurchaseOrgID IN (1))
AND (ddd.FDATE <=@FEDate)) AND ddd.fdocumentStatus = 'C'))
AND (b.FTERMINATEDATE >@FEDate OR ISNULL(b.FTERMINATEDATE,'') ='')
AND (ddd.FCLOSEDATE>@FEDate or ISNULL(ddd.FCLOSEDATE,'')='')
--入库单
--SELECT *
UPDATE t1 SET t1.剩余入库数量=剩余入库数量+t2.fbaseinqty
FROM #tmppoorder t1
INNER JOIN (
SELECT TSE.FMATERIALID,tse.FPOORDERENTRYID,tse.FPOORDERNO,SUM(TSE.FBASEUNITQTY) fbaseinqty
FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
INNER JOIN T_STK_INSTOCKENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID)
INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
WHERE 1=1 AND TS.FDATE > @FEDate
AND (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' AND TS.FDOCUMENTSTATUS IN ('C')
GROUP BY TSE.FPOORDERNO,TSE.FPOORDERENTRYID,TSE.FMATERIALID
)t2 ON t2.FPOORDERNO =t1.采购订单 AND t2.FPOORDERENTRYID=t1.采购订单分录 AND t1.物料内码=t2.FMATERIALID
--退料单
--SELECT *
UPDATE t1 SET t1.剩余入库数量=剩余入库数量-t2.fbaseinqty
FROM #tmppoorder t1
INNER JOIN(
SELECT tse.FPOORDERENTRYID,tse.FORDERNO,TSE.FMATERIALID fmaterialid,SUM( TSE.FBASEUNITQTY) fbaseinqty
FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID
WHERE 1=1 AND (TS.FDATE >@FEDate)
AND TS.FDOCUMENTSTATUS IN ('C') AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' AND (TSE.FSTOCKID > 0)
AND TSF.FISGENFORIOS = '0'AND (TSE.FSTOCKFLAG = '1' OR (TS.FMRTYPE = 'B' AND TMB.FISINVENTORY = '1') )
GROUP BY tse.FPOORDERENTRYID,tse.FORDERNO,TSE.FMATERIALID
)t2 ON t2.FORDERNO =t1.采购订单 AND t2.FPOORDERENTRYID=t1.采购订单分录 AND t1.物料内码=t2.FMATERIALID
--更新和新增在途量数据
SELECT 物料内码,采购数量,剩余入库数量,FAUXPROPID,CASE WHEN B.仓库内码<>0 THEN B.仓库内码 ELSE ISNULL(tms.FSTOCKID,0) END 仓库内码
INTO #tmppoorder1 FROM #tmppoorder B
LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
LEFT
JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 AND TSL.FLOCALEID = 2052)
--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
ORDER BY 物料内码
SELECT 物料内码,采购数量,剩余入库数量,FAUXPROPID,仓库内码
INTO #tmppoorder3 FROM #tmppoorder1 B
LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
LEFT JOIN T_BD_STOCK TSK
ON ( TSK.FMASTERID = B.仓库内码 )
WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
(TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
ORDER BY 物料内码
SELECT 物料内码,SUM(采购数量)采购数量,SUM(剩余入库数量)剩余入库数量,FAUXPROPID,仓库内码
INTO #tmppoorder2 FROM #tmppoorder3
GROUP BY 仓库内码,物料内码,FAUXPROPID
ORDER BY 仓库内码,物料内码,FAUXPROPID
--在途量
UPDATE t1 SET t1.在途量=t2.剩余入库数量
FROM #Stock_Status_temp t1
INNER JOIN #tmppoorder2 t2 ON t1.物料内码=t2.物料内码 AND t1.仓库内码=t2.仓库内码 AND t1.包装内码=T2.FAUXPROPID
--不存在数据就重新增
INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,在途量)
SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码,
ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(剩余入库数量)
FROM #tmppoorder2 TSE
INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE.物料内码 )
INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
INNER
JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.仓库内码 AND TSL.FLOCALEID = 2052)
LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
--SELECT * FROM #tmpSal2 TSE
WHERE 剩余入库数量<>0 AND
NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.物料内码=t2.物料内码 AND TSE.仓库内码=t2.仓库内码 AND t2.包装内码=TSE.FAUXPROPID)
--************************************************
--在制量
--*************************************************
--查询截止结束日期之前所有生产单
SELECT (MO.FBILLNO) 生产单号,ME.FPRODUCTTYPE,
(MO.FID) 生产内码,(ME.FENTRYID) 生产单分录,MA.FCONVEYDATE,ME.FMATERIALID 物料内码,
ISNULL(ME.FSTOCKID,0) 仓库内码,ME.FAUXPROPID,MO.FDATE,ME.FSEQ,(ME.FQTY) 生产数量,
--MQ.FBASENOSTOCKINQTY 未入库数量
(CASE WHEN (MQ.FBASENOSTOCKINQTY)>0 THEN (MQ.FBASENOSTOCKINQTY) ELSE 0 END) AS 未入库数量,MQ.FBASERESTKQTY 退库数量
INTO #tmpMO
FROM T_PRD_MO MO
INNER JOIN T_PRD_MOENTRY ME ON MO.FID =ME.FID
LEFT JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
LEFT JOIN T_PRD_MOENTRY_Q MQ ON MQ.FID =ME.FID AND ME.FENTRYID =MQ.FENTRYID
WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1
--AND MO.FBILLNO IN('MO1909090271','MO1905070262')
AND MO.FDATE <=@FEDate AND ISNULL(MA.FCONVEYDATE,'')<>''
AND (FCLOSEDATE>@FEDate OR ISNULL(FCLOSEDATE,'')='')
--截止日期之后生成的生产入库单
--SELECT *
UPDATE t1 SET t1.未入库数量=未入库数量+t2.fbaseInqty
FROM #tmpMO t1
INNER JOIN(
SELECT TSE.FMATERIALID,TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,SUM(TSE.FBASEREALQTY) fbaseInqty
FROM T_PRD_INSTOCK TS INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID
LEFT OUTER JOIN T_PRD_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
WHERE 1=1
AND TS.FDATE > @FEDate AND (TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A'
--AND TS.FBILLNO='MM1909090128'
GROUP BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID
--ORDER BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID
) t2 ON t1.生产内码=t2.FMOID AND t1.生产单分录=t2.FMOENTRYID AND t1.物料内码=t2.FMATERIALID
--截止日期之后生成的生产退库单
--SELECT *
UPDATE t1 SET t1.未入库数量=未入库数量-t2.fbaseOutqty
FROM #tmpMO t1
INNER JOIN(
SELECT TSE.FMATERIALID fmaterialid,TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,SUM(TSE.FBASEREALQTY) fbaseOutqty
FROM T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_PRD_RESTOCKENTRY_A TSEA ON TSE.FEntryID = TSEA.FEntryID
LEFT OUTER JOIN T_PRD_RESTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
WHERE 1=1
AND TS.FDATE > @FEDate
AND (TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A'
AND TS.FCANCELSTATUS = 'A' AND TS.FEntrustRetStockId = 0
GROUP BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID
) t2 ON t1.生产内码=t2.FMOID AND t1.生产单分录=t2.FMOENTRYID AND t1.物料内码=t2.FMATERIALID
--更新和新增在制数据
SELECT 物料内码,生产数量,未入库数量,FAUXPROPID,CASE WHEN B.仓库内码<>0 THEN B.仓库内码 ELSE ISNULL(tms.FSTOCKID,0) END 仓库内码
INTO #tmpMO1 FROM #tmpMO B
LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 AND TSL.FLOCALEID = 2052)
--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
ORDER BY 物料内码
SELECT 物料内码,生产数量,未入库数量,FAUXPROPID,仓库内码
INTO #tmpMO3 FROM #tmpMO1 B
LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
(TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
ORDER BY 物料内码
SELECT 物料内码,SUM(生产数量)生产数量,SUM(未入库数量)未入库数量,FAUXPROPID,仓库内码
INTO #tmpMO2 FROM #tmpMO3
GROUP BY 仓库内码,物料内码,FAUXPROPID
ORDER BY 仓库内码,物料内码,FAUXPROPID
--在制量
UPDATE t1 SET t1.在制数=t2.未入库数量
FROM #Stock_Status_temp t1
INNER JOIN #tmpMO2 t2 ON t1.物料内码=t2.物料内码 AND t1.仓库内码=t2.仓库内码 AND t1.包装内码=T2.FAUXPROPID
--不存在数据就重新增
INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,在制数)
SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码,
ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(未入库数量)
FROM #tmpMO2 TSE
INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE.物料内码 )
INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.仓库内码 AND TSL.FLOCALEID = 2052)
LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
--SELECT * FROM #tmpSal2 TSE
WHERE NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.物料内码=t2.物料内码 AND TSE.仓库内码=t2.仓库内码 AND t2.包装内码=TSE.FAUXPROPID)
--***************END**********************************
--进检量
--******************start*******************************
----查询截止结束日期之前所有收料单
SELECT TS.FSTOCKORGID fstockorgid,TS.FBILLNO 收料单号,TS.FID AS 收料内码,TSE.FENTRYID 收料分录,TSE.FMATERIALID 物料内码,
ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID 仓库内码,FBASEUNITQTY 收料数量,
CASE WHEN (FBASEUNITQTY-(TSES.FINSTOCKBASEQTY + TSES.FRETURNBASEQTY))>0 THEN (FBASEUNITQTY-(TSES.FINSTOCKBASEQTY + TSES.FRETURNBASEQTY)) ELSE 0 END 未进检量,
(FBASEUNITQTY-FINSTOCKBASEQTY +FRETURNBASEQTY) 已审进检量
INTO #TMPRECEIVE
FROM T_PUR_RECEIVE TS
INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_PUR_RECEIVEENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
INNER JOIN T_PUR_RECEIVEENTRY_S TSES ON (TSE.FID = TSES.FID AND TSE.FENTRYID = TSES.FENTRYID)
INNER JOIN T_PUR_RECEIVEENTRY_R TSER ON (TSE.FID = TSER.FID AND TSE.FENTRYID = TSER.FENTRYID)
INNER JOIN T_PUR_RECEIVEFIN TSF ON TSE.FID = TSF.FID
WHERE 1=1 AND (TS.FDATE <= @FEDate)
--AND ts.FBILLNO='T61908290024-' AND FRETURNBASEQTY<>0
AND( FEXECUTEDATE>@FEDate OR ISNULL(FEXECUTEDATE,'')='')--执行日期
AND (TS.FSTOCKORGID IN (1))
AND (TSE.FSTOCKID > 0)AND TSE.FSTOCKFLAG = '0'
-- AND TS.FDOCUMENTSTATUS IN ('C')
------查询截止结束日期之前所有入库单
--SELECT *
UPDATE t1 SET t1.未进检量=未进检量+t2.fbaseInqty
FROM #TMPRECEIVE t1
INNER JOIN (
SELECT TSE.FMATERIALID,TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,SUM(TSE.FBASEUNITQTY) fbaseinqty
FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
INNER JOIN T_STK_INSTOCKENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID)
INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
WHERE 1=1 AND TS.FDATE >@FEDate
AND (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A'
GROUP BY TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,TSE.FMATERIALID
--ORDER BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID
) t2 ON t1.收料内码=t2.FSBILLID AND t1.收料分录=t2.FSID AND t1.物料内码=t2.FMATERIALID
--
--查询截止结束日期之后所有退料单
--SELECT *
UPDATE t1 SET t1.未进检量=未进检量+t2.fbaseInqty
FROM #TMPRECEIVE t1
INNER JOIN (
SELECT TSE.FMATERIALID,TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,SUM(TSE.FBASEUNITQTY) fbaseinqty
FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
INNER JOIN T_PUR_MRBENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID)
INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID
WHERE 1=1 AND TS.FDATE >@FEDate
AND (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A'
GROUP BY TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,TSE.FMATERIALID
) t2 ON t1.收料内码=t2.FSBILLID AND t1.收料分录=t2.FSID AND t1.物料内码=t2.FMATERIALID
--更新和新增进检量数据
SELECT 物料内码,收料数量,未进检量,FAUXPROPID,CASE WHEN B.仓库内码<>0 THEN B.仓库内码 ELSE ISNULL(tms.FSTOCKID,0) END 仓库内码
INTO #TMPRECEIVE1 FROM #TMPRECEIVE B
LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 AND TSL.FLOCALEID = 2052)
--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
ORDER BY 物料内码
SELECT 物料内码,收料数量,未进检量,FAUXPROPID,仓库内码
INTO #TMPRECEIVE3
FROM #TMPRECEIVE1 B
LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
(TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
ORDER BY 物料内码
SELECT 物料内码,SUM(收料数量)收料数量,SUM(未进检量)未进检量,FAUXPROPID,仓库内码
INTO #TMPRECEIVE2 FROM #TMPRECEIVE3
GROUP BY 仓库内码,物料内码,FAUXPROPID
ORDER BY 仓库内码,物料内码,FAUXPROPID
--进检量
UPDATE t1 SET t1.进检量=t2.未进检量
FROM #Stock_Status_temp t1
INNER JOIN #TMPRECEIVE2 t2 ON t1.物料内码=t2.物料内码 AND t1.仓库内码=t2.仓库内码 AND t1.包装内码=T2.FAUXPROPID
--不存在数据就重新增
INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,进检量)
SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码,
ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(未进检量)
FROM #TMPRECEIVE2 TSE
INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE.物料内码 )
INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.仓库内码 AND TSL.FLOCALEID = 2052)
LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
--SELECT * FROM #tmpSal2 TSE
WHERE 未进检量<>0 AND
NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.物料内码=t2.物料内码 AND TSE.仓库内码=t2.仓库内码 AND t2.包装内码=TSE.FAUXPROPID)
--****************END*********************************
--*********************未发量*****************************************
--未发量(生产)
--***********************未发量(生产)*****************************
--查询截止结束日期之前所有生产单用料数
SELECT (MO.FBILLNO) 生产单号,(MO.FID) 生产内码,(ME.FENTRYID) 生产单分录,
PE.FMATERIALID 物料内码,(PP.FID) 用料内码,PP.FBILLNO 用料单号,(PE.FENTRYID) 用料单分录,
ISNULL(PC.FSTOCKID,0) 仓库内码,PE.FAUXPROPID,(PE.FMUSTQTY) AS 应发数量,
PQ.FSELPICKEDQTY AS 领料选单数量,PQ.FBASENOPICKEDQTY AS 未领数量
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
AND (MO.FDATE <=@FEDate AND ISNULL(MA.FCONVEYDATE,'')<>'')
AND (MA.FFINISHDATE >@FEDate OR ISNULL(MA.FFINISHDATE,'')='')--2020-04-27之后完工为准完工日期
--AND (MA.FCLOSEDATE>@FEDate OR ISNULL(MA.FCLOSEDATE,'')='')--2020-04-27之前是结案日期
--AND PP.FBILLNO ='PP1910150215'
--查询截止结束日期之后所有单生产领料单
--SELECT 未领数量,t2.fbaseOutqty,*
UPDATE t1 SET t1.未领数量=未领数量+t2.fbaseOutqty
FROM #tmpPPBOM t1
INNER JOIN (
SELECT tse.FMOID,tse.FMOBILLNO,tse.FMOENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,
TSE.FMATERIALID,SUM(TSED.FBASESTOCKACTUALQTY) fbaseOutqty
FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID
INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
LEFT OUTER JOIN T_PRD_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
WHERE (TS.FDATE> @FEDate)
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')
GROUP BY tse.FMOID,tse.FMOBILLNO,tse.FMOENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,TSE.FMATERIALID
) t2 ON t1.生产单号=t2.FMOBILLNO AND t1.生产单分录=t2.FMOENTRYID
AND t1.用料单号=t2.FPPBOMBILLNO AND t1.用料单分录=t2.FPPBOMENTRYID AND t1.物料内码=t2.FMATERIALID
--更新和新增未发量数据
--SELECT * FROM #tmpPPBOM
SELECT 物料内码,应发数量,未领数量,FAUXPROPID,CASE WHEN B.仓库内码<>0 THEN B.仓库内码 ELSE ISNULL(tms.FSTOCKID,0) END 仓库内码
INTO #tmpPPBOM1 FROM #tmpPPBOM B
LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 AND TSL.FLOCALEID = 2052)
--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
ORDER BY 物料内码
SELECT 物料内码,应发数量,未领数量,FAUXPROPID,仓库内码
INTO #tmpPPBOM3 FROM #tmpPPBOM1 B
LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
(TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
ORDER BY 物料内码
SELECT 物料内码,SUM(应发数量)应发数量,SUM(未领数量)未领数量,FAUXPROPID,仓库内码
INTO #tmpPPBOM2 FROM #tmpPPBOM3
GROUP BY 仓库内码,物料内码,FAUXPROPID
ORDER BY 仓库内码,物料内码,FAUXPROPID
--未发量(生产)
UPDATE t1 SET t1.未发量=t2.未领数量
FROM #Stock_Status_temp t1
INNER JOIN #tmpPPBOM2
t2 ON t1.物料内码=t2.物料内码 AND t1.仓库内码=t2.仓库内码 AND t1.包装内码=T2.FAUXPROPID
--不存在数据就重新增
INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,未发量)
SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码,
ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(未领数量)
FROM #tmpPPBOM2 TSE
INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE.物料内码 )
INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID= TSE.仓库内码 AND TSL.FLOCALEID = 2052)
LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
--SELECT * FROM #tmpSal2 TSE
WHERE 未领数量>0 AND
NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.物料内码=t2.物料内码 AND TSE.仓库内码=t2.仓库内码 AND t2.包装内码=TSE.FAUXPROPID)
--*************************未发量(生产)*****************************************
--未发量(委外)
--*************************未发量(委外)***************************
--查询截止结束日期之前所有委外单用料数
SELECT (MO.FBILLNO) 委外单号,(MO.FID) 委外内码,(ME.FENTRYID) 委外单分录,
PE.FMATERIALID 物料内码,(PP.FID) 用料内码,PP.FBILLNO 用料单号,(PE.FENTRYID) 用料单分录,
ISNULL(PC.FSTOCKID,0) 仓库内码,PE.FAUXPROPID,(PE.FMUSTQTY) AS 应发数量,
PQ.FSELPICKEDQTY AS 领料选单数量,PQ.FBASENOPICKEDQTY AS 未领数量
INTO #tmpSubBOM
FROM T_SUB_REQORDER MO
INNER JOIN T_SUB_REQORDERENTRY 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_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
AND (MO.FDATE <=@FEDate AND ISNULL(ME.FCONVEYDATE,'')<>'')
AND (ME.FCLOSEDATE>@FEDate OR ISNULL(ME.FCLOSEDATE,'')='')
--查询截止结束日期之后所有单生产领料单
--SELECT 未领数量,t2.fbaseOutqty,*
UPDATE t1 SET t1.未领数量=未领数量+t2.fbaseOutqty
FROM #tmpSubBOM t1
INNER JOIN (
SELECT tse.FSUBREQID,tse.FSUBREQBILLNO,tse.FSUBREQENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,
TSE.FMATERIALID,SUM(TSE.FBASESTOCKACTUALQTY) fbaseOutqty
FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID
INNER JOIN T_SUB_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID
LEFT OUTER JOIN T_SUB_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052)
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
WHERE (TS.FDATE> @FEDate)
AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')
GROUP BY tse.FSUBREQID,tse.FSUBREQBILLNO,tse.FSUBREQENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,TSE.FMATERIALID
) t2 ON t1.委外单号=t2.FSUBREQBILLNO AND t1.委外单分录=t2.FSUBREQENTRYID
AND t1.用料单号=t2.FPPBOMBILLNO AND t1.用料单分录=t2.FPPBOMENTRYID AND t1.物料内码=t2.FMATERIALID
--更新和新增未发量数据
--SELECT * FROM #tmpPPBOM
SELECT 物料内码,应发数量,未领数量,FAUXPROPID,CASE WHEN B.仓库内码<>0 THEN B.仓库内码 ELSE ISNULL(tms.FSTOCKID,0) END 仓库内码
INTO #tmpSubBOM1 FROM #tmpSubBOM B
LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 AND TSL.FLOCALEID = 2052)
--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
ORDER BY 物料内码
SELECT 物料内码,应发数量,未领数量,FAUXPROPID,仓库内码
INTO #tmpSubBOM3 FROM #tmpSubBOM1 B
LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
(TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
ORDER BY 物料内码
SELECT 物料内码,SUM(应发数量)应发数量,SUM(未领数量)未领数量,FAUXPROPID,仓库内码
INTO #tmpSubBOM2 FROM #tmpSubBOM3
GROUP BY 仓库内码,物料内码,FAUXPROPID
ORDER BY 仓库内码,物料内码,FAUXPROPID
--未发量(委外)
UPDATE t1 SET t1.未发量=ISNULL(t1.未发量,0)+ISNULL(t2.未领数量,0)
FROM #Stock_Status_temp t1
INNER JOIN #tmpSubBOM2
t2 ON t1.物料内码=t2.物料内码 AND t1.仓库内码=t2.仓库内码 AND t1.包装内码=T2.FAUXPROPID
--不存在数据就重新增
INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,未发量)
SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码
,ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(未领数量)
FROM #tmpSubBOM2 TSE
INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE.物料内码 )
INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID= TSE.仓库内码 AND TSL.FLOCALEID = 2052)
LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
--SELECT * FROM #tmpSal2 TSE
WHERE 未领数量 > 0
AND NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.物料内码=t2.物料内码 AND TSE.仓库内码=t2.仓库内码 AND t2.包装内码=TSE.FAUXPROPID)
--*********************未发量(委外)*END*******************************
-- --截止查询结束日期销售未发数
-- UPDATE t1 SET t1.未发量=ISNULL(t1.未发量,0)+ISNULL(t1.受订量,0)
--FROM #Stock_Status_temp t1
--WHERE ISNULL(t1.受订量,0)<>0
--**********************END*******************************
--申购未转数
--*******************strat*****************************
--查询截止结束日期之前所有采购申请
SELECT TS.FAPPLICATIONORGID fstockorgid,TS.FBILLNO 申请单号,TS.FID AS 申请内码,TSE.FENTRYID 申请分录,TSE.FMATERIALID 物料内码,
ISNULL(TSE.FAUXPROPID,0) FAUXPROPID,TS.FAPPLICATIONDATE fdate,TMS.FSTOCKID 仓库内码,
FBASEUNITQTY 申请数量,TSEF.FREMAINQTY AS 未转数
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 ts.FBILLNO ='SQ1910100001'AND FORDERBASEQTY<>FBASEUNITQTY AND TS.FCLOSESTATUS<>'B'
AND (TS.FAPPLICATIONDATE <=@FEDate)
AND (TS.FCLOSEDATE>@FEDate or ISNULL(TS.FCLOSEDATE,'')='')
AND (TS.FAPPLICATIONORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C'))
--查询截止结束日期之后所有采购订单
--SELECT *
UPDATE t1 SET t1.未转数=未转数+t2.fbaseOrdqty
FROM #TMPREQ t1
INNER JOIN (
SELECT t1r.FSRCBILLNO,t1k.FSBILLID,t1k.FSID,t1.FMATERIALID,SUM(t1.FBASEUNITQTY) fbaseOrdqty
FROM T_PUR_POORDER t0
INNER JOIN T_PUR_POORDERENTRY t1 ON (t0.FID = t1.FID)
INNER JOIN T_PUR_POORDERENTRY_R t1R ON(t1R.FID = t1.FID AND t1.FENTRYID = t1R.FENTRYID)
INNER JOIN T_PUR_POORDERENTRY_LK t1k ON(t1.FENTRYID = t1k.FENTRYID)
INNER JOIN T_BD_MATERIAL TM ON t1.FMATERIALID = TM.FMATERIALID
WHERE t0.FDATE>@FEDate
AND ( t0.FCANCELSTATUS = 'A' AND TM.FFORBIDSTATUS = 'A')
GROUP BY t1r.FSRCBILLNO,t1k.FSBILLID,t1k.FSID,t1.FMATERIALID
) t2 ON t1.申请内码=t2.FSBILLID AND t1.申请分录=t2.FSID AND t1.物料内码=t2.FMATERIALID
--更新和新增进检量数据
SELECT 物料内码,申请数量,未转数,FAUXPROPID,CASE WHEN B.仓库内码<>0 THEN B.仓库内码 ELSE ISNULL(tms.FSTOCKID,0) END 仓库内码
INTO #TMPREQ1 FROM #TMPREQ B
LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 AND TSL.FLOCALEID = 2052)
--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
ORDER BY 物料内码
SELECT 物料内码,申请数量,未转数,FAUXPROPID,仓库内码
INTO #TMPREQ3 FROM #TMPREQ1 B
LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 )
WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
(TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
ORDER BY 物料内码
SELECT 物料内码,SUM(申请数量)申请数量,SUM(未转数)未转数,FAUXPROPID,仓库内码
INTO #TMPREQ2 FROM #TMPREQ3
GROUP BY 仓库内码,物料内码,FAUXPROPID
ORDER BY 仓库内码,物料内码,FAUXPROPID
--申购未转数
UPDATE t1 SET t1.申购未转数=t2.未转数
FROM #Stock_Status_temp t1
INNER JOIN #TMPREQ2 t2 ON t1.物料内码=t2.物料内码 AND t1.仓库内码=t2.仓库内码 AND t1.包装内码=T2.FAUXPROPID
--不存在数据就重新增
INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,申购未转数)
SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码,
ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(未转数)
FROM #TMPREQ2 TSE
INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE.物料内码 )
INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052
INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.仓库内码 AND TSL.FLOCALEID = 2052)
LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
--SELECT * FROM #tmpSal2 TSE
WHERE 未转数<>0 AND
NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.物料内码=t2.物料内码 AND TSE.仓库内码=t2.仓库内码 AND t2.包装内码=TSE.FAUXPROPID)
--*****************************************************
--占用量
--********************************************************
SELECT TSE.FMATERIALID 物料内码,(TSE.FBASEQTY)FBASEQTY,
CASE WHEN TSE.FSTOCKID<>0 THEN TSE.FSTOCKID ELSE ISNULL(tms.FSTOCKID,0)END FSTOCKID,TSE.FAUXPROPID
INTO #TMPLINK FROM T_PLN_RESERVELINK TS
INNER JOIN T_PLN_RESERVELINKENTRY TSE ON TS.FID=TSE.FID
INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID
LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = TSE.FSTOCKID )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.FSTOCKID AND TSL.FLOCALEID = 2052)
WHERE TSE.FBASEQTY<>0
--AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
--GROUP BY TSE.FSTOCKID,TSE.FMATERIALID,FAUXPROPID
ORDER BY FSTOCKID,TSE.FMATERIALID,FAUXPROPID
SELECT 物料内码,SUM(FBASEQTY)FBASEQTY,FAUXPROPID,B.FSTOCKID 仓库内码
INTO #TMPLINK1 FROM #TMPLINK B
LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID )
--LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.FSTOCKID )
--LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.FSTOCKID AND TSL.FLOCALEID = 2052)
WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
(TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP ))
AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID )
GROUP BY b.FSTOCKID,物料内码,FAUXPROPID
ORDER BY b.FSTOCKID,物料内码,FAUXPROPID
--占用量
UPDATE t1 SET t1.占用量=t2.FBASEQTY
FROM #Stock_Status_temp t1
INNER JOIN #TMPLINK1 t2 ON t1.物料内码=t2.物料内码
AND t1.仓库内码=t2.仓库内码
AND t1.包装内码=T2.FAUXPROPID
--不存在数据就重新增占用量
INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,占用量)
SELECT
TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称
,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码
,ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称
,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(FBASEQTY)
FROM #TMPLINK1 TSE
INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE.物料内码 )
INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID=TML.FMATERIALID AND TML.FLOCALEID =2052
INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.仓库内码 AND TSL.FLOCALEID = 2052)
LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID
LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID
LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID
WHERE FBASEQTY <> 0
AND NOT EXISTS(
SELECT 1
FROM #Stock_Status_temp t2
WHERE TSE.物料内码=t2.物料内码
AND TSE.仓库内码=t2.仓库内码
AND t2.包装内码=TSE.FAUXPROPID)
--*********************占用量END***********************************
--可用库存
--*******************************************************
UPDATE t1 SET t1.可用库存=ISNULL(期末结存,0)+ISNULL(t1.在制数,0)+ISNULL(在途量,0)-ISNULL(未发量,0)-ISNULL(受订量,0)
FROM #Stock_Status_temp t1
--*********************可用库存END**********************************
--新增BOM新增物料
SELECT 序号=IDENTITY(INT,1,1),物料内码,物料代码,物料名称,规格型号,旧编码,上期结存
,本期采购入库,本期耗用,期末结存,在途量,在制数,进检量,未发量,领料数量,销售出库数量
,仓库拨出数量,仓库拨入数量,申购未转数,受订量,占用量,可用库存
,仓库内码,仓库代码,仓库名称,包装方式,FProMaterialId,产品代码
INTO #Stock_Bom
FROM (
SELECT t1.FMATERIALID 物料内码,物料代码,t2.物料名称,规格型号,旧编码,上期结存,本期采购入库,本期耗用,期末结存
,在途量,在制数,进检量,未发量,领料数量,销售出库数量,仓库拨出数量,仓库拨入数量,申购未转数
,受订量,占用量,可用库存,t2.仓库内码,仓库代码,仓库名称,包装方式,t1.FProMaterialId,t1.FOrderNum 产品代码,FOrderNum
,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6
FROM #YC_T_MRP t1
INNER JOIN #Stock_Status_temp t2 ON t1.物料编码=t2.物料代码
UNION ALL
SELECT t1.FMATERIALID 物料内码,t1.物料编码 物料代码,t2.FNAME 物料名称,t2.FSPECIFICATION 规格型号
,ISNULL(TM.FOLDNUMBER,'') 旧编码,0 上期结存,0 本期采购入库,0 本期耗用,0 期末结存
,0 在途量,0 在制数,0 进检量, 0 未发量,0 领料数量,0 销售出库数量,0 仓库拨出数量
,0 仓库拨入数量,0 申购未转数,0 受订量,0 占用量,0 可用库存,ts.FSTOCKID,ts.FNUMBER AS 仓库代码
,tsl.FNAME AS 仓库名称,''包装方式,t1.FProMaterialId,t1.FOrderNum 产品代码,FOrderNum
,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6
FROM #YC_T_MRP t1
INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = t1.FMATERIALID )
INNER JOIN T_BD_MATERIAL_L t2 ON (t2.FMATERIALID = t1.FMATERIALID )
INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
INNER JOIN T_BD_STOCK ts ON tms.FSTOCKID=ts.FSTOCKID
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TS.FSTOCKID AND TSL.FLOCALEID = 2052)
WHERE 1=1
AND 物料编码 NOT IN (SELECT DISTINCT 物料代码 FROM #Stock_Status_temp t2)
AND TMS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID))t
ORDER BY FOrderNum,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6
SELECT
t0.FMATERIALID AS 'ProMateralId'
,t1e.FMATERIALID
,t1e_c.FSTOCKID
--,t1.FBILLNO
,SUM(t1e.FBASENEEDQTY) AS 'FBASENEEDQTY'--基本单位已领数量
,SUM(t1e_q.FBASEPICKEDQTY) AS 'FBASEPICKEDQTY'--基本单位已领数量
,SUM(t1e_q.FBASENOPICKEDQTY) AS 'FBASENOPICKEDQTY'--基本单位未领数量
,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 --生产用料清单表体
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
SELECT 序号 AS 'FIDENTITYID'
,物料代码,物料名称,规格型号,旧编码
,上期结存,本期采购入库,本期耗用,期末结存
,销售出库数量,仓库拨出数量,仓库拨入数量,申购未转数
,在途量,在制数,进检量,未发量,领料数量,受订量,占用量,可用库存
,仓库代码,仓库名称,包装方式,产品代码
,t1.FBASENEEDQTY
,t1.FBASENOPICKEDQTY
,t1.FBASEPICKEDQTY
,CASE CHARINDEX(',',t2.MONOS) WHEN 0 THEN t2.MONOS ELSE '' END AS 'MONO'
,CASE CHARINDEX(',',t2.SALENOS) WHEN 0 THEN t2.SALENOS ELSE '' END AS 'SALENO'
,t2.SALENOS,t2.MOENTRYIDS,t2.MOIDS
--INTO {0}
FROM #Stock_Bom t0
LEFT JOIN #TEMPMONO2Pro t2 on t2.ProMateralId = t0.FProMaterialId
LEFT JOIN #TEMPMOQTY t1 ON t0.物料内码 = t1.FMATERIALID AND t0.仓库内码 = t1.FSTOCKID AND t0.FProMaterialId = t1.ProMateralId
DROP TABLE #TEMPMO
DROP TABLE #TEMPMOQTY
DROP TABLE #TEMPMONO2Pro
DROP TABLE #Stock_Bom
DROP TABLE #TMP
DROP TABLE #TMP1
DROP TABLE #TMPLINK
DROP TABLE #TMPLINK1
DROP TABLE #TMP4
DROP TABLE #TMP5
DROP TABLE #TMP6
DROP TABLE #TMP7
DROP TABLE #TMP8
DROP TABLE #tmpSal
DROP TABLE #tmpSal1
DROP TABLE #tmpSal2
DROP TABLE #tmpSal3
DROP TABLE #tmpMO
DROP TABLE #tmpMO1
DROP TABLE #tmpMO2
DROP TABLE #tmpMO3
DROP TABLE #TMPREQ
DROP TABLE #TMPREQ1
DROP TABLE #TMPREQ2
DROP TABLE #TMPREQ3
DROP TABLE #TMPRECEIVE
DROP TABLE #TMPRECEIVE1
DROP TABLE #TMPRECEIVE2
DROP TABLE #TMPRECEIVE3
DROP TABLE #tmppoorder
DROP TABLE #tmppoorder1
DROP TABLE #tmppoorder2
DROP TABLE #tmppoorder3
DROP TABLE #tmpPPBOM
DROP TABLE #tmpPPBOM1
DROP TABLE #tmpPPBOM2
DROP TABLE #tmpPPBOM3
DROP TABLE #tmpSUBBOM
DROP TABLE #tmpSUBBOM1
DROP TABLE #tmpSUBBOM2
DROP TABLE #tmpSUBBOM3
DROP TABLE #Stock_Status_temp
SET nocount off