97 lines
3.9 KiB
Transact-SQL
97 lines
3.9 KiB
Transact-SQL
IF EXISTS(SELECT * FROM SYS.PROCEDURES WHERE NAME='PROC_PPBOM_RPT')
|
|
DROP PROCEDURE DBO.PROC_PPBOM_RPT;
|
|
GO
|
|
|
|
CREATE PROCEDURE PROC_PPBOM_RPT
|
|
@FBILLNO varchar(80)
|
|
,@MainNumber varchar(80)
|
|
,@MainName varchar(80)
|
|
,@FMOBILLNO varchar(80)
|
|
,@FNumber varchar(80)
|
|
,@FName varchar(80)
|
|
,@FSALEORDERNO varchar(80)
|
|
,@LCID int
|
|
AS
|
|
BEGIN
|
|
SELECT
|
|
ROW_NUMBER() OVER(ORDER BY T0.FMATERIALID) AS '行号' --1.行号
|
|
--,T0.FID
|
|
--,T0.FFORMID
|
|
--2.单据日期
|
|
,T0.FBILLNO AS '生产投料单号'--3.生产投料单号
|
|
--,T0.FMOID --生产订单内码
|
|
--,T0.FMOENTRYID --生产订单子表内码
|
|
,T0.FSALEORDERNO AS '销售订单号' --4.销售订单号
|
|
--,T0.FMATERIALID --产品ID
|
|
--5.购货单位代码
|
|
,T1.FMNEMONICCODE AS '助记码'--6.助记码
|
|
,T0.FMOBILLNO AS '生产任务单号'--7.生产任务单号
|
|
,T1.FNUMBER AS '产品编码'--8.产品编码
|
|
,T1_L.FNAME AS '产品名称'--9.产品名称
|
|
,T1_L.FSPECIFICATION AS '产品规格型号'--10.产品规格型号
|
|
--,T0.FBOMID
|
|
--,T0.FUNITID
|
|
,T3_L.FNAME AS '产品单位'--11.产品单位
|
|
,T0.FQTY AS '产品生产数量'--12.产品生产数量
|
|
,T0E.FMATERIALID AS ENTRYMATERIALID --物料ID
|
|
,T2.FNUMBER AS '物料代码'--13.物料代码
|
|
,T2_L.FNAME AS '物料名称'--14.物料名称
|
|
,(CASE T2.FMATERIALSRC WHEN 'T0' THEN 'PLM' WHEN 'T1' THEN 'ERP' ELSE '' END) AS '物料来源' --15.物料来源
|
|
,T2_L.FSPECIFICATION AS '物料规格型号'--16.物料规格型号
|
|
--17.物料技术标准
|
|
,(T0E.FNUMERATOR / T0E.FDENOMINATOR) AS '物料单位用量' --18.物料单位用量
|
|
--,T0E.FUNITID AS ENTRYUNITID
|
|
,T4_L.FNAME AS '物料单位' --19.物料单位
|
|
--20.物料库存量
|
|
--21.物料待检数
|
|
,T0E.FNEEDQTY AS '物料总需求'--22.物料总需求
|
|
--,T0E.FWIPQTY --23.当前在制品数量
|
|
--24.欠料
|
|
--25.物料在途数
|
|
--26.计划投料数量
|
|
,T0E_Q.FPICKEDQTY AS '已领数量'--27.已领数量
|
|
,T0E_Q.FNOPICKEDQTY AS '未领数量'--28.未领数量
|
|
,T0E.FSTDQTY AS '标准数量'--标准用量 --29.标准数量
|
|
,T0E.FMUSTQTY AS '应发数量'--应发数量 --30.应发数量
|
|
--,T0E.FMEMO AS '备注'--31.备注
|
|
--32.损耗数量
|
|
,T0E_Q.FSCRAPQTY AS '报废数量' --33.报废数量
|
|
--34.计划发料日期
|
|
--,T0E_C.FSTOCKID
|
|
,T5_L.FNAME AS '仓库'--35.仓库
|
|
,T0E_C.FSTOCKLOCID --36.仓位
|
|
,T0E_Q.FREPICKEDQTY AS '补料数量'--37.补料数量
|
|
--,T0E.F_ORA_JHKGSJ AS '计划开工日期'--38.计划开工日期
|
|
--,T0E.F_ORA_JHWGSJ AS '计划完工日期'--39.计划完工日期
|
|
--40.工位
|
|
--41.其他备注项
|
|
--42.BOM备注项
|
|
--43.生产类型
|
|
,T0.FWORKSHOPID
|
|
,T6_L.FNAME AS '生产车间'--44.生产车间
|
|
--45.生产任务单结案否
|
|
--46.生产投料单状态
|
|
--47.PR已审未转PO数量
|
|
FROM
|
|
T_PRD_PPBOM T0 --生产用料清单
|
|
LEFT JOIN T_PRD_PPBOMENTRY T0E ON T0.FID = T0E.FID --生产用料清单子表
|
|
LEFT JOIN T_PRD_PPBOMENTRY_Q T0E_Q ON T0E_Q.FENTRYID = T0E.FENTRYID --生产用料清单数量拆分表
|
|
LEFT JOIN T_PRD_PPBOMENTRY_C T0E_C ON T0E_C.FENTRYID = T0E.FENTRYID
|
|
LEFT JOIN T_BD_MATERIAL T1 ON T1.FMATERIALID = T0.FMATERIALID
|
|
LEFT JOIN T_BD_MATERIAL_L T1_L ON T1_L.FMATERIALID = T0.FMATERIALID AND T1_L.FLOCALEID = @LCID
|
|
LEFT JOIN T_BD_MATERIAL T2 ON T2.FMATERIALID = T0E.FMATERIALID
|
|
LEFT JOIN T_BD_MATERIAL_L T2_L ON T2_L.FMATERIALID = T0E.FMATERIALID AND T2_L.FLOCALEID = @LCID
|
|
LEFT JOIN T_BD_UNIT_L T3_L ON T3_L.FUNITID = T0.FUNITID AND T3_L.FLOCALEID = @LCID
|
|
LEFT JOIN T_BD_UNIT_L T4_L ON T4_L.FUNITID = T0E.FUNITID AND T4_L.FLOCALEID = @LCID
|
|
LEFT JOIN T_BD_STOCK_L T5_L ON T5_L.FSTOCKID = T0E_C.FSTOCKID AND T5_L.FLOCALEID =@LCID
|
|
LEFT JOIN T_BD_DEPARTMENT_L T6_L ON T6_L.FDEPTID = T0.FWORKSHOPID AND T6_L.FLOCALEID = @LCID
|
|
WHERE
|
|
t0.FBILLNO = (case when @FBILLNO != '' then @FBILLNO else t0.FBILLNO end)
|
|
and t0.FMOBILLNO = (case when @FMOBILLNO != '' then @FMOBILLNO else t0.FMOBILLNO end)
|
|
and t0.FSALEORDERNO = (case when @FSALEORDERNO != '' then @FSALEORDERNO else t0.FSALEORDERNO end)
|
|
and t1.FNUMBER = (case when @MainNumber != '' then @MainNumber else t1.FNUMBER end)
|
|
and T1_L.FNAME = (case when @MainName != '' then @MainName else T1_L.FNAME end)
|
|
and T2.FNUMBER = (case when @FNumber != '' then @FNumber else T2.FNUMBER end)
|
|
and t2_L.FNAME = (case when @FName != '' then @FName else t2_L.FNAME end)
|
|
END
|