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=TA002WHERE 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.TG015end
文章结束给大家分享下程序员的一些笑话语录: 姿势要丰富,经常上百度!