a
This commit is contained in:
127
HW.PythonPlugIn/ProductionMaterialsReport/sql/20240206联合查询.sql
Normal file
127
HW.PythonPlugIn/ProductionMaterialsReport/sql/20240206联合查询.sql
Normal file
@@ -0,0 +1,127 @@
|
||||
--declare @proMaterialId int
|
||||
--,@materialId int
|
||||
--,@FBILLNO varchar(80)
|
||||
--,@FPPBOMBILLNO varchar(80)
|
||||
--,@FSALEORDERNO varchar(80)
|
||||
--,@LCID int
|
||||
--SET @proMaterialId = ''
|
||||
--SET @materialId = ''
|
||||
--SET @FBILLNO = ''
|
||||
--SET @FPPBOMBILLNO = ''
|
||||
--SET @FSALEORDERNO = ''
|
||||
DECLARE @LCID int
|
||||
SET @LCID = 2052
|
||||
|
||||
SELECT
|
||||
ROW_NUMBER() OVER(ORDER BY t0.FID,t0e.FENTRYID) AS FIDENTITYID--1.<EFBFBD>к<EFBFBD>
|
||||
,t0.FID
|
||||
,t0e.FSEQ
|
||||
,t0e.FENTRYID
|
||||
,t0.FDATE --2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t1.FBILLNO AS 'FPPBOMBILLNO'--3.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>
|
||||
,t0e.FSALEORDERNO --4.<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
--5.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t0.FBILLNO--7.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t0e.FPLANSTARTDATE--38.<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t0e.FPLANFINISHDATE--39.<EFBFBD>ƻ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t0e.FQTY--12.<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t0e.FYIELDRATE
|
||||
,t0e.FROUTINGID
|
||||
,t0e.FMATERIALID AS 'ProMaterialId'
|
||||
,t0e.FUNITID AS 'PrdUnitId'
|
||||
,t1e.FENTRYID AS 'PPBOMENTRYID'
|
||||
,t1e.FMATERIALID
|
||||
,(t1e.FNUMERATOR / t1e.FDENOMINATOR) AS 'FUnitNeedQty' --18.<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t1e.FNEEDQTY --22.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t1e.FUNITID
|
||||
,t1e.FBOMENTRYID
|
||||
,t1e.FSTDQTY --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --29.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t1e.FMUSTQTY --Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --30.Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t1.FWORKSHOPID
|
||||
,(CASE t0e.FPRODUCTTYPE WHEN 1 THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ' WHEN 2 THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ' WHEN 3 THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ' ELSE '' END) AS 'PRODUCTTYPE'--43.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,(CASE t0e_a.FSTATUS WHEN 6 THEN '<EFBFBD>ѽ'ELSE '' END) AS 'StatusIs6'--45.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,(CASE t1.FDOCUMENTSTATUS WHEN 'A' THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' WHEN 'B' THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' WHEN 'C' THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' WHEN 'D' THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' WHEN 'Z' THEN '<EFBFBD>ݴ<EFBFBD>' ELSE '' END) AS 'PPBOMStatus'--46.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD>ϵ<EFBFBD>״̬
|
||||
INTO #TmpTable0
|
||||
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
|
||||
INNER JOIN T_PRD_PPBOM t1 on t1.FMOENTRYID = t0e.FENTRYID AND t1.FMOID = t0e.FID
|
||||
INNER JOIN T_PRD_PPBOMENTRY t1e on t1e.FID = t1.FID
|
||||
WHERE 1 = 1
|
||||
--AND t0.FBILLNO = (CASE WHEN @FBILLNO != '' THEN @FBILLNO ELSE t0.FBILLNO END)
|
||||
--AND t0e.FMATERIALID = (CASE WHEN @proMaterialId <> 0 THEN @proMaterialId ELSE t0e.FMATERIALID END)
|
||||
--AND t0e.FSALEORDERNO = (CASE WHEN @FSALEORDERNO != '' THEN @FSALEORDERNO ELSE t0e.FSALEORDERNO END)
|
||||
--AND t1.FBILLNO = (CASE WHEN @FPPBOMBILLNO != '' THEN @FPPBOMBILLNO ELSE t1.FBILLNO END)
|
||||
--AND t1e.FMATERIALID = (CASE WHEN @materialId <> 0 THEN @materialId ELSE t1e.FMATERIALID END)
|
||||
|
||||
SELECT
|
||||
tt.*
|
||||
,t0e_q.FBASEWIPQTY --23.<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t0e_q.FPICKEDQTY --27.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t0e_q.FNOPICKEDQTY --28.δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t0e_l.FMEMO --31.<EFBFBD><EFBFBD>ע
|
||||
,t0e_q.FPICKEDQTY * (100 - tt.FYIELDRATE) AS 'FLossQty'--32.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t0e_q.FSCRAPQTY --33.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t0e_q.FREPICKEDQTY --37.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t0e_c.FSTOCKID
|
||||
,t0e_c.FSTOCKLOCID
|
||||
INTO #TmpTable1
|
||||
FROM #TmpTable0 tt
|
||||
LEFT JOIN T_PRD_PPBOMENTRY_Q t0e_q ON t0e_q.FENTRYID = tt.PPBOMENTRYID --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嵥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>
|
||||
LEFT JOIN T_PRD_PPBOMENTRY_C t0e_c ON t0e_c.FENTRYID = tt.PPBOMENTRYID
|
||||
LEFT JOIN T_PRD_PPBOMENTRY_L t0e_l on t0e_l.FENTRYID = tt.PPBOMENTRYID AND t0e_l.FLOCALEID = @LCID
|
||||
|
||||
SELECT tt.*
|
||||
,t1.FMNEMONICCODE AS 'ProMnemonicCode'--6.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t1.FNUMBER AS 'ProNumber'--8.<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t1_l.FNAME AS 'ProName'--9.<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t1_l.FSPECIFICATION AS 'ProSpecification'--10.<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>
|
||||
,t2_l.FNAME AS 'ProUnitName'--11.<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>λ
|
||||
,t3.FNUMBER AS 'MaterialNumber'--8.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD>
|
||||
,t3_l.FNAME AS 'MaterialName'--9.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t3_l.FSPECIFICATION AS 'MaterialSpecification'--10.<EFBFBD><EFBFBD><EFBFBD>Ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>
|
||||
,t4_l.FNAME AS 'MaterialUnitName'--11.<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>λ
|
||||
,(CASE t3.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Materialsrc' --15.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
|
||||
,t6_l.FNAME AS 'WORKSHOPNAME' --44.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,t3.FMASTERID
|
||||
,t3.FUSEORGID
|
||||
,t7_l.FMEMO AS 'BOMMEMO' --42.BOM<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
|
||||
,t5_l.FNAME AS 'FSTOCKNAME'
|
||||
INTO FSTOCKLOCID
|
||||
FROM #TmpTable1 tt
|
||||
LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = tt.FMATERIALID
|
||||
LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = tt.FMATERIALID AND t1_l.FLOCALEID = @LCID
|
||||
LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = tt.FUNITID AND t2_l.FLOCALEID = @LCID
|
||||
LEFT JOIN T_BD_MATERIAL t3 ON t3.FMATERIALID = tt.FMATERIALID
|
||||
LEFT JOIN T_BD_MATERIAL_L t3_l ON t3_l.FMATERIALID = tt.FMATERIALID AND t3_l.FLOCALEID = @LCID
|
||||
LEFT JOIN T_BD_UNIT_L t4_l ON t4_l.FUNITID = tt.FUNITID AND t4_l.FLOCALEID = @LCID
|
||||
LEFT JOIN T_BD_STOCK_L t5_l ON t5_l.FSTOCKID = tt.FSTOCKID AND t5_l.FLOCALEID =@LCID
|
||||
LEFT JOIN T_BD_DEPARTMENT_L t6_l on t6_l.FDEPTID = tt.FWORKSHOPID AND t6_l.FLOCALEID = @LCID
|
||||
LEFT JOIN T_ENG_BOMCHILD_L t7_l ON t7_l.FENTRYID = tt.FBOMENTRYID AND t7_l.FLOCALEID = @LCID
|
||||
|
||||
SELECT tt.*
|
||||
,t1.FBASEQTY
|
||||
,t2_l.FNAME AS 'ROUTENAME'
|
||||
,t3e_A.FBASEINVQTY
|
||||
,t3e.FBASELACKQTY AS 'FBASELACKQTY'--24.Ƿ<EFBFBD><EFBFBD>
|
||||
,t3e_A.FBASEONORDERQTY AS 'FBASEONORDERQTY' --25.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<EFBFBD><EFBFBD>
|
||||
,6 AS 'LOWEST6'
|
||||
FROM #TmpTable2 tt
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
t0.FMATERIALID
|
||||
,t0.FSTOCKORGID
|
||||
,sum(t0.FBASEQTY) AS FBASEQTY
|
||||
FROM
|
||||
T_STK_INVENTORY t0
|
||||
GROUP BY
|
||||
t0.FMATERIALID
|
||||
,t0.FSTOCKORGID
|
||||
) t1 on t1.FMATERIALID = tt.FMASTERID AND t1.FSTOCKORGID = tt.FUSEORGID
|
||||
LEFT JOIN T_ENG_ROUTE_L t2_L on t2_L.FID = tt.FROUTINGID AND t2_L.FLOCALEID = @LCID
|
||||
LEFT JOIN T_PRD_PMPPBOMENTRY t3e on t3e.FPPBOMENTRYID = tt.PPBOMENTRYID AND t3e.FMATERIALIDSUB = tt.FMATERIALID --AND t3e.FMATERIALID = t0.FMATERIALID
|
||||
LEFT JOIN T_PRD_PMPPBOMENTRY_A t3e_A ON t3e_A.FENTRYID = t3e.FENTRYID
|
||||
|
||||
DROP TABLE #TmpTable0
|
||||
DROP TABLE #TmpTable1
|
||||
DROP TABLE #TmpTable2
|
||||
3253
HW.PythonPlugIn/ProductionMaterialsReport/sql/bom层级库存状态.sql
Normal file
3253
HW.PythonPlugIn/ProductionMaterialsReport/sql/bom层级库存状态.sql
Normal file
File diff suppressed because it is too large
Load Diff
88
HW.PythonPlugIn/ProductionMaterialsReport/sql/创建临时表.sql
Normal file
88
HW.PythonPlugIn/ProductionMaterialsReport/sql/创建临时表.sql
Normal file
@@ -0,0 +1,88 @@
|
||||
/*
|
||||
Navicat Premium Data Transfer
|
||||
|
||||
Source Server : sql server
|
||||
Source Server Type : SQL Server
|
||||
Source Server Version : 15002080
|
||||
Source Host : .:1433
|
||||
Source Catalog : AIS20231110222743
|
||||
Source Schema : dbo
|
||||
|
||||
Target Server Type : SQL Server
|
||||
Target Server Version : 15002080
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 06/02/2024 11:40:17
|
||||
*/
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for TMP123123123123123
|
||||
-- ----------------------------
|
||||
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[TMP123123123123123]') AND type IN ('U'))
|
||||
DROP TABLE [dbo].[TMP123123123123123]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[TMP123123123123123] (
|
||||
[FIDENTITYID] bigint NOT NULL,
|
||||
[FID] int NOT NULL,
|
||||
[FSEQ] int NULL,
|
||||
[FENTRYID] int NOT NULL,
|
||||
[FDATE] datetime NULL,
|
||||
[FPLANSTARTDATE] datetime NULL,
|
||||
[FPLANFINISHDATE] datetime NULL,
|
||||
[FSALEORDERNO] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[FBILLNO] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[FQTY] decimal(23,10) NOT NULL,
|
||||
[FYIELDRATE] decimal(19,6) NOT NULL,
|
||||
[FROUTINGID] int NULL,
|
||||
[PRODUCTTYPE] varchar(6) COLLATE Chinese_PRC_CI_AS NOT NULL,
|
||||
[ProMaterialId] int NULL,
|
||||
[PrdUnitId] int NULL,
|
||||
[FPPBOMBILLNO] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[FBOMENTRYID] int NULL,
|
||||
[ProMnemoniccode] nvarchar(20) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[ProNumber] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[ProName] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[ProSpecification] nvarchar(510) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[ProUnitName] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[FMATERIALID] int NULL,
|
||||
[FUnitNeedQty] decimal(38,15) NULL,
|
||||
[FNEEDQTY] decimal(23,10) NOT NULL,
|
||||
[FUNITID] int NOT NULL,
|
||||
[FBASEWIPQTY] decimal(23,10) NULL,
|
||||
[FPICKEDQTY] decimal(23,10) NULL,
|
||||
[FNOPICKEDQTY] decimal(23,10) NULL,
|
||||
[FSTDQTY] decimal(23,10) NOT NULL,
|
||||
[FMUSTQTY] decimal(23,10) NOT NULL,
|
||||
[FMEMO] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[FLossQty] decimal(38,10) NULL,
|
||||
[FSCRAPQTY] decimal(23,10) NULL,
|
||||
[FREPICKEDQTY] decimal(23,10) NULL,
|
||||
[FWORKSHOPID] int NULL,
|
||||
[FSTOCKID] int NULL,
|
||||
[FSTOCKLOCID] int NULL,
|
||||
[PPBOMStatus] varchar(8) COLLATE Chinese_PRC_CI_AS NOT NULL,
|
||||
[MaterialNumber] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[MaterialName] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[MaterialSpecification] nvarchar(510) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[MaterialUnitName] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[Materialsrc] varchar(3) COLLATE Chinese_PRC_CI_AS NOT NULL,
|
||||
[WORKSHOPNAME] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[FMASTERID] int NULL,
|
||||
[FUSEORGID] int NULL,
|
||||
[BOMMEMO] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[FSTOCKNAME] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[FBASEQTY] decimal(38,10) NULL,
|
||||
[ROUTENAME] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL,
|
||||
[FBASEINVQTY] decimal(23,10) NULL,
|
||||
[FBASELACKQTY] decimal(23,10) NULL,
|
||||
[FBASEONORDERQTY] decimal(23,10) NULL,
|
||||
[StatusIs6] varchar(6) COLLATE Chinese_PRC_CI_AS NOT NULL,
|
||||
[LOWEST6] int NOT NULL
|
||||
)
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[TMP123123123123123] SET (LOCK_ESCALATION = TABLE)
|
||||
GO
|
||||
|
||||
32
HW.PythonPlugIn/ProductionMaterialsReport/sql/新BOM层级库存状态.sql
Normal file
32
HW.PythonPlugIn/ProductionMaterialsReport/sql/新BOM层级库存状态.sql
Normal file
@@ -0,0 +1,32 @@
|
||||
declare
|
||||
@moBillNo varchar(100)
|
||||
,@salesBillNo varchar(100)
|
||||
,@startMaterialId int
|
||||
,@endMaterialId int
|
||||
SET @moBillNo =''
|
||||
SET @salesBillNo =''
|
||||
SET @moBillNo = 0
|
||||
SET @moBillNo = 0
|
||||
|
||||
declare @FCloseBALDate varchar (30)
|
||||
declare @FClosedate varchar (30)
|
||||
|
||||
--<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ĩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
If 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
|
||||
@@ -0,0 +1,179 @@
|
||||
--IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].TMP123123123123123') AND type IN ('U'))
|
||||
-- DROP TABLE [dbo].TMP123123123123123
|
||||
--GO
|
||||
|
||||
declare @tableName varchar(80)
|
||||
,@seqFid varchar(80)
|
||||
,@proMaterialId int
|
||||
,@materialId int
|
||||
,@FBILLNO varchar(80)
|
||||
,@FPPBOMBILLNO varchar(80)
|
||||
,@FSALEORDERNO varchar(80)
|
||||
,@LCID int
|
||||
|
||||
SET @tableName = 'TMP123123123123123'
|
||||
SET @seqFid = 'ROW_NUMBER() OVER(ORDER BY t0.FID) AS FIDENTITYID'
|
||||
SET @proMaterialId = ''
|
||||
SET @materialId = ''
|
||||
SET @FBILLNO = ''
|
||||
SET @FPPBOMBILLNO = ''
|
||||
SET @FSALEORDERNO = ''
|
||||
SET @LCID = 2052
|
||||
/***********************生产订单关联信息start****************************/
|
||||
SELECT
|
||||
--ROW_NUMBER() OVER(ORDER BY t0.FID) AS FIDENTITYID--1.行号
|
||||
t0.FID
|
||||
,t0e.FSEQ
|
||||
,t0e.FENTRYID
|
||||
,t0.FDATE --2.单据日期
|
||||
,t0e.FPLANSTARTDATE--38.计划开工日期
|
||||
,t0e.FPLANFINISHDATE--39.计划完工日期
|
||||
,t0e.FSALEORDERNO --4.销售订单号
|
||||
,t0.FBILLNO--7.生产任务单号
|
||||
,t0e.FQTY--12.产品生产数量
|
||||
--,t0e.FSTOCKID--35.仓库
|
||||
--,t0e.FSTOCKLOCID--36.仓位
|
||||
,t0e.FYIELDRATE
|
||||
,t0e.FROUTINGID
|
||||
,(CASE t0e.FPRODUCTTYPE WHEN 1 THEN '主产品' WHEN 2 THEN '主产品' WHEN 3 THEN '主产品' ELSE '' END) AS 'PRODUCTTYPE'--43.生产类型
|
||||
,t0e.FMATERIALID AS 'ProMaterialId'
|
||||
,t0e.FUNITID AS 'PrdUnitId'
|
||||
--,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'ProMaterialsrc' --15.物料来源
|
||||
INTO #TMPMO_BASE_INFO
|
||||
FROM
|
||||
T_PRD_MO t0
|
||||
INNER JOIN T_PRD_MOENTRY t0e on t0e.FID = t0.FID
|
||||
WHERE
|
||||
t0.FBILLNO = (CASE WHEN @FBILLNO != '' THEN @FBILLNO ELSE t0.FBILLNO END)
|
||||
AND t0e.FSALEORDERNO = (CASE WHEN @FSALEORDERNO != '' THEN @FSALEORDERNO ELSE t0e.FSALEORDERNO END)
|
||||
AND t0e.FMATERIALID = (CASE WHEN @proMaterialId <> 0 THEN @proMaterialId ELSE t0e.FMATERIALID END)
|
||||
|
||||
CREATE INDEX #TMPMO_BASE_INFO_INDEX_FENTRYID ON #TMPMO_BASE_INFO(FENTRYID);
|
||||
|
||||
SELECT tt.*
|
||||
,(CASE t0e_a.FSTATUS WHEN 6 THEN '已结案'ELSE '' END) AS 'StatusIs6'--45.生产任务单结案否
|
||||
,t1.FMNEMONICCODE AS 'ProMnemoniccode'--6.助记码
|
||||
,t1.FNUMBER AS 'ProNumber'--8.产品编码
|
||||
,t1_l.FNAME AS 'ProName'--9.产品名称
|
||||
,t1_l.FSPECIFICATION AS 'ProSpecification'--10.产品规格型号
|
||||
,t2_l.FNAME AS 'ProUnitName'--11.产品单位
|
||||
INTO #TmpTable0
|
||||
FROM #TMPMO_BASE_INFO tt
|
||||
INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = tt.FENTRYID
|
||||
LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = tt.ProMaterialId
|
||||
LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = tt.ProMaterialId AND t1_l.FLOCALEID = @LCID
|
||||
LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = tt.PrdUnitId AND t2_l.FLOCALEID = @LCID
|
||||
|
||||
DROP TABLE #TMPMO_BASE_INFO
|
||||
|
||||
CREATE INDEX #TmpTable0_FENTRYID_INDEX ON #TmpTable0(FENTRYID);
|
||||
/***********************生产订单关联信息end****************************/
|
||||
|
||||
/***********************生产用料清单关联信息start****************************/
|
||||
SELECT
|
||||
tt.*
|
||||
,t0.FBILLNO AS 'FPPBOMBILLNO'--3.生产投料单号
|
||||
,t0e.FMATERIALID
|
||||
,t0e.FENTRYID AS 'PPBOMENTRYID'
|
||||
,(t0e.FNUMERATOR / t0e.FDENOMINATOR) AS 'FUnitNeedQty' --18.物料单位用量
|
||||
,t0e.FNEEDQTY --22.物料总需求
|
||||
,t0e.FUNITID
|
||||
,t0e.FBOMENTRYID
|
||||
,t0e.FSTDQTY --标准用量 --29.标准数量
|
||||
,t0e.FMUSTQTY --应发数量 --30.应发数量
|
||||
,t0.FWORKSHOPID
|
||||
,(CASE t0.FDOCUMENTSTATUS WHEN 'A' THEN '创建' WHEN 'B' THEN '审核中' WHEN 'C' THEN '已审核' WHEN 'D' THEN '重新审核' WHEN 'Z' THEN '暂存' ELSE '' END) AS 'PPBOMStatus'--46.生产投料单状态
|
||||
INTO #TMPPPBOM_BASE_INFO
|
||||
FROM
|
||||
T_PRD_PPBOM t0 --生产用料清单
|
||||
INNER JOIN T_PRD_PPBOMENTRY t0e ON t0.FID = t0e.FID
|
||||
INNER JOIN #TmpTable0 tt on t0.FMOENTRYID = tt.FENTRYID
|
||||
WHERE
|
||||
T0.FBILLNO = (CASE WHEN @FPPBOMBILLNO != '' THEN @FPPBOMBILLNO ELSE T0.FBILLNO END)
|
||||
AND t0e.FMATERIALID = (CASE WHEN @materialId <> 0 THEN @materialId ELSE t0e.FMATERIALID END)
|
||||
|
||||
CREATE INDEX #TMPPPBOM_BASE_INFO_PPBOMENTRYID_INDEX ON #TMPPPBOM_BASE_INFO(PPBOMENTRYID);
|
||||
|
||||
SELECT tt.*
|
||||
,t0e_q.FBASEWIPQTY --23.当前在制品数量
|
||||
,t0e_q.FPICKEDQTY --27.已领数量
|
||||
,t0e_q.FNOPICKEDQTY --28.未领数量
|
||||
,t0e_l.FMEMO --31.备注
|
||||
,t0e_q.FPICKEDQTY * (100 - tt.FYIELDRATE) AS 'FLossQty'--32.损耗数量
|
||||
,t0e_q.FSCRAPQTY --33.报废数量
|
||||
,t0e_q.FREPICKEDQTY --37.补料数量
|
||||
,t0e_c.FSTOCKID
|
||||
,t0e_c.FSTOCKLOCID
|
||||
INTO #TmpTable1
|
||||
FROM #TMPPPBOM_BASE_INFO tt
|
||||
LEFT JOIN T_PRD_PPBOMENTRY_Q t0e_q ON t0e_q.FENTRYID = tt.PPBOMENTRYID --生产用料清单数量拆分表
|
||||
LEFT JOIN T_PRD_PPBOMENTRY_C t0e_c ON t0e_c.FENTRYID = tt.PPBOMENTRYID
|
||||
LEFT JOIN T_PRD_PPBOMENTRY_L t0e_l on t0e_l.FENTRYID = tt.PPBOMENTRYID AND t0e_l.FLOCALEID = @LCID
|
||||
|
||||
DROP TABLE #TMPPPBOM_BASE_INFO
|
||||
|
||||
SELECT
|
||||
tt.*
|
||||
,t1.FNUMBER AS 'MaterialNumber'--8.物料编码
|
||||
,t1_l.FNAME AS 'MaterialName'--9.物料名称
|
||||
,t1_l.FSPECIFICATION AS 'MaterialSpecification'--10.物料规格型号
|
||||
,t2_l.FNAME AS 'MaterialUnitName'--11.物料单位
|
||||
,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Materialsrc' --15.物料来源
|
||||
,t4_l.FNAME AS 'WORKSHOPNAME' --44.生产车间
|
||||
,t1.FMASTERID
|
||||
,t1.FUSEORGID
|
||||
,t5_l.FMEMO AS 'BOMMEMO' --42.BOM备注项
|
||||
,t3_l.FNAME AS 'FSTOCKNAME'
|
||||
into #TmpTable2
|
||||
FROM
|
||||
#TmpTable1 tt
|
||||
LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = tt.FMATERIALID
|
||||
LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = tt.FMATERIALID AND t1_l.FLOCALEID = @LCID
|
||||
LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = tt.FUNITID AND t2_l.FLOCALEID = @LCID
|
||||
LEFT JOIN T_BD_STOCK_L t3_l ON t3_l.FSTOCKID = tt.FSTOCKID AND t3_l.FLOCALEID =@LCID
|
||||
LEFT JOIN T_BD_DEPARTMENT_L t4_l on t4_l.FDEPTID = tt.FWORKSHOPID AND t4_l.FLOCALEID = @LCID
|
||||
LEFT JOIN T_ENG_BOMCHILD_L t5_l ON t5_l.FENTRYID = tt.FBOMENTRYID AND t5_L.FLOCALEID = @LCID
|
||||
|
||||
/***********************生产用料清单关联信息end****************************/
|
||||
SELECT
|
||||
t0.*
|
||||
,t1.FBASEQTY
|
||||
,t2_l.FNAME AS 'ROUTENAME'
|
||||
,t3e_A.FBASEINVQTY
|
||||
,t3e.FBASELACKQTY AS 'FBASELACKQTY'--24.欠料
|
||||
,t3e_A.FBASEONORDERQTY AS 'FBASEONORDERQTY' --25.物料在途数
|
||||
,6 AS 'LOWEST6'
|
||||
--INTO #TmpTable3
|
||||
FROM
|
||||
#TmpTable2 t0
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
t0.FMATERIALID
|
||||
,t0.FSTOCKORGID
|
||||
,sum(t0.FBASEQTY) AS FBASEQTY
|
||||
FROM
|
||||
T_STK_INVENTORY t0
|
||||
GROUP BY
|
||||
t0.FMATERIALID
|
||||
,t0.FSTOCKORGID
|
||||
) t1 on t1.FMATERIALID = t0.FMASTERID AND t1.FSTOCKORGID = t0.FUSEORGID
|
||||
LEFT JOIN T_ENG_ROUTE_L t2_L on t2_L.FID = t0.FROUTINGID AND t2_L.FLOCALEID = @LCID
|
||||
LEFT JOIN T_PRD_PMPPBOMENTRY t3e on t3e.FMOID = t0.FID AND t3e.FMOENTRYID = t0.FENTRYID AND t3e.FMOENTRYSEQ = t0.FSEQ AND t3e.FMATERIALIDSUB = t0.FMATERIALID --AND t3e.FMATERIALID = t0.FMATERIALID
|
||||
LEFT JOIN T_PRD_PMPPBOMENTRY_A t3e_A ON t3e_A.FENTRYID = t3e.FENTRYID
|
||||
|
||||
|
||||
--exec(N'
|
||||
--SELECT
|
||||
-- t0.*
|
||||
-- ,' + @seqFid+ '
|
||||
-- INTO ' + @tableName + '
|
||||
--FROM
|
||||
-- #TmpTable3 t0
|
||||
--')
|
||||
|
||||
drop table #TmpTable0
|
||||
drop table #TmpTable1
|
||||
drop table #TmpTable2
|
||||
--drop table #TmpTable3
|
||||
|
||||
--exec(N'SELECT * FROM '+ @tableName)
|
||||
Reference in New Issue
Block a user