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