数量工单[易飞]直接材料明细表

PS:今天上午,非常郁闷,有很多简单基础的问题搞得我有些迷茫,哎,代码几天不写就忘。目前又不当COO,还是得用心记代码哦!

    近来税务局在审核公司高薪技术。

    如果未通过要补税+滞纳金。财务有一个这样的需求,高薪产品销售的金额、数量到工单材料本钱。

    财务本钱模块有个直接材料明细表。

    缺乏销售数量。

    自行斟酌了很久,抓本钱主要是领料单进入交易明细的时候有本钱、数量、金额。

    销货单-订单-工单-领料单 这条线去处置。

    订单可能分批出货,工单可能分批领料。跨年月现象也比较多。

    故斟酌入库单抓工单,工单去抓全部领料单的材料本钱明细,按工单汇总,算出总数量和金额。

    SQL:

    每日一道理
微笑,是春天里的一丝新绿,是秋日里的一缕阳光,是骄阳下的一片浓荫,是冬雪中的一株梅红……微笑着去面对吧,你会感到人生是那样的温馨与甜蜜!
-- =============================================   
-- Author: <David Gong>   
-- Create date: <2013-05-13>   
-- Description: <产品销售与材料本钱分析>   
-- =============================================
ALTER Procedure UP_PrdSale_MtrCost
(
	@startdate as nchar(8),
	@enddate as nchar(8)
)
as
begin
SET ANSI_WARNINGS off ;
SET ARITHABORT off ;

with
CT1 as(
    select TG014,TG015,TG004,TG006,sum(TG011) 当期入库数量,TA017 as 工单数量 
	from MOCTG INNER JOIN MOCTF ON TF001=TG001 AND TF002=TG002 
		 LEFT JOIN MOCTA ON TG014=TA001 AND TG015=TA002
	WHERE TF003>=@startdate AND TF003<=@enddate --AND TG004='10105012640024'
	group by TG014,TG015,TG004,TG006,TA017
	),

CT2 as(
select TG014,TG015,TG004,TG006,LA001,MB002,MB003,ABS(sum(LA011*LA005)) 数量,sum(LA013) 金额,TE006 
from CT1  LEFT JOIN MOCTE ON TE011=CT1.TG014 AND TE012=CT1.TG015 
INNER JOIN INVLA ON LA006=TE001 AND LA007=TE002 AND LA008=TE003 AND LA024=CT1.TG014+'-'+CT1.TG015
LEFT JOIN INVMB ON LA001=MB001
group by TG014,TG015,TG004,TG006,LA001,MB002,MB003,TE006)

select CT1.TG014+'-'+CT1.TG015 as 工单,CT1.TG004 产品品号,CT1.TG006 产品规格,CT1.当期入库数量,CT1.工单数量,
CT2.LA001 材料品号,CT2.MB002 材料品名,CT2.MB003 材料规格,CT2.TE006 单位,CT2.数量,CT2.金额,CT2.数量/CT1.工单数量 as 材料单耗,CT2.金额/CT1.工单数量 as 单耗本钱

 from CT1 left join CT2 on CT1.TG014=CT2.TG014 AND  CT1.TG015=CT2.TG015
 end

    数量和工单

    

文章结束给大家分享下程序员的一些笑话语录: 姿势要丰富,经常上百度!

posted @ 2013-05-13 23:42  坚固66  阅读(481)  评论(0编辑  收藏  举报