111
This commit is contained in:
parent
ab8c46ba82
commit
849208eed5
111
应收明细SQL.sql
111
应收明细SQL.sql
@ -55,23 +55,24 @@ SELECT A.FID [
|
||||
SELECT SUM(B.FBillAllAmount_LC) AS '累计退货金额'
|
||||
FROM T_SAL_RETURNSTOCK AA WITH(NOLOCK)
|
||||
INNER JOIN T_SAL_RETURNSTOCKFIN B WITH(NOLOCK) ON AA.FID =B.FID
|
||||
WHERE AA.FDOCUMENTSTATUS= 'C' AND A.F_contractnumber = AA.F_contractnumber ),0)
|
||||
WHERE AA.FDOCUMENTSTATUS= 'C' AND AA.F_contractnumber LIKE A.F_contractnumber+'%' ),0)
|
||||
|
||||
,[整单累计开票金额] =AD.发票总金额
|
||||
,[整单累计到款金额]=ISNULL(a.F_Amount,0)
|
||||
--,[预计到期时间]=''
|
||||
|
||||
,[预计到期时间]= (SELECT MAX([预计到期时间]) AS [预计到期时间] FROM
|
||||
(
|
||||
SELECT DISTINCT * FROM (
|
||||
SELECT plan1.FID ,CASE
|
||||
WHEN X.FNAME LIKE '%预付款%' THEN CONVERT(NVARCHAR, AA.FAPPROVEDATE, 120)
|
||||
WHEN X.FNAME LIKE '%预付款%' THEN CONVERT(NVARCHAR(20), AA.FAPPROVEDATE, 120)
|
||||
WHEN X.FNAME LIKE '%货到收款%' THEN DATEADD(DAY, plan1.F_DAY, CK.F_SFSIGNATURETIME)
|
||||
WHEN X.FNAME LIKE '%货到票到收款%' THEN DATEADD(DAY, plan1.F_DAY,FP.FAPPROVEDATE)
|
||||
WHEN X.FNAME LIKE '%款到发货%' THEN DATEADD(DAY, plan1.F_DAY, CK.F_SFSIGNATURETIME)
|
||||
--WHEN X.FNAME LIKE '%款到发货%' THEN DATEADD(day, plan1.F_DAY,Q.发货日期)
|
||||
WHEN X.FNAME LIKE '%质保金%' THEN DATEADD(day, plan1.F_DAY,AA.F_XMYSSJ)
|
||||
-- 注意:销售订单【验收日期】:年后会加这个字段,由PMS系统传输过来 该字段未添加
|
||||
WHEN AA.F_XMYSSJ IS NOT NULL THEN DATEADD(DAY,plan1.F_DAY, AA.F_XMYSSJ)
|
||||
ELSE null
|
||||
WHEN AA.F_XMYSSJ IS NOT NULL THEN DATEADD(DAY,ISNULL(plan1.F_DAY,0), AA.F_XMYSSJ)
|
||||
ELSE CONVERT(NVARCHAR(20), AA.FAPPROVEDATE, 120)
|
||||
--ELSE '2029-09-01'
|
||||
END AS '预计到期时间' --销售订单-付款计划-PMS日期#
|
||||
,plan1.F_RECCONDITIONID,X.FNAME, plan1.F_DAY,plan1.FENTRYID ,AA.FAPPROVEDATE,CK.F_SFSIGNATURETIME
|
||||
FROM
|
||||
@ -216,27 +217,49 @@ GROUP BY F_PaperNumber, FSALEORGID
|
||||
--where [分摊比例]< 100
|
||||
--where [预计到期时间] !=''
|
||||
WHERE [整单订单总额]<>0 AND SUBSTRING([纸质合同号],1,1) != 'Z'
|
||||
ORDER BY A.[销售单主键ID],[销售员ID]
|
||||
|
||||
update [ZRP_YingShouMingXi_yuyubo] set [订单总额]=[整单订单总额]*[分摊比例]*0.01,[累计发货金额]=[整单累计发货金额]*[分摊比例]*0.01
|
||||
ORDER BY A.[销售单主键ID],[销售员ID];
|
||||
|
||||
|
||||
update [ZRP_YingShouMingXi_yuyubo] set
|
||||
[订单总额]=[整单订单总额]*[分摊比例]*0.01,[累计发货金额]=[整单累计发货金额]*[分摊比例]*0.01
|
||||
,[累计退货金额]=[整单累计退货金额]*[分摊比例]*0.01
|
||||
,[累计开票金额]=[整单累计开票金额]*[分摊比例]*0.01
|
||||
,[累计到款金额]=[整单累计到款金额]*[分摊比例]*0.01
|
||||
,[应收款合计]=ABS([分摊金额])-ABS(([整单累计退货金额]+[整单累计到款金额])*[分摊比例]*0.01)
|
||||
,[未出货总额]=[分摊金额]-[整单累计发货金额]*[分摊比例]*0.01
|
||||
,[未到期金额]=CASE WHEN [预计到期时间] <'1990-01-01' OR [预计到期时间] > GETDATE() THEN ([整单累计发货金额]-[整单累计退货金额]-[整单累计到款金额])*[分摊比例]*0.01*ISNULL([收款条件分摊比例],100)*0.01 ELSE 0 END
|
||||
,[应收款合计]=CASE WHEN [订单总额]>0 then ABS([分摊金额])-ABS(([整单累计退货金额]+[整单累计到款金额])*[分摊比例]*0.01) ELSE 0 end
|
||||
,[未出货总额]=CASE WHEN [订单总额]>0 then ABS([分摊金额])-ABS([整单累计发货金额]*[分摊比例]*0.01)ELSE 0 end
|
||||
|
||||
,[到期时间]=CASE WHEN [预计到期时间] <= GETDATE() AND [预计到期时间] >'1990-01-01' THEN [预计到期时间] ELSE NULL END
|
||||
,[到期金额]=CASE WHEN [预计到期时间] <= GETDATE() AND [预计到期时间] >'1990-01-01' THEN([整单累计发货金额]-[整单累计退货金额]-[整单累计到款金额])*[分摊比例]*0.01*ISNULL([收款条件分摊比例],100)*0.01 ELSE 0 END
|
||||
,[实际已出货应收款合计]=([整单累计发货金额]-[整单累计退货金额]- [整单累计到款金额] )*[分摊比例]*0.01
|
||||
--,[到期时间]='2022-01-01'
|
||||
--,[到期时间]=CASE WHEN [预计到期时间] IS NOT NULL AND [预计到期时间] <= GETDATE() AND [预计到期时间] >'1990-01-01' AND [订单总额]>0 THEN [预计到期时间] ELSE NULL END
|
||||
|
||||
--,[到期金额]=CASE WHEN [预计到期时间] IS NOT NULL AND [预计到期时间] <= GETDATE() AND [预计到期时间] >'1990-01-01' AND [订单总额]>0 THEN([整单累计发货金额]-[整单累计退货金额]-[整单累计到款金额])*[分摊比例]*0.01*ISNULL([收款条件分摊比例],100)*0.01 ELSE 0 END
|
||||
,[实际已出货应收款合计]=CASE WHEN [订单总额]>0 THEN ([整单累计发货金额]-[整单累计退货金额]- [整单累计到款金额] )*[分摊比例]*0.01 ELSE 0 end
|
||||
,[收款人]=CASE WHEN [账龄月]>12 THEN '转应收专责小组' ELSE [销售员] END
|
||||
|
||||
,[项目阶段]= CASE WHEN [项目验收时间]>='1990-01-01' AND [项目验收时间] IS NOT NULL THEN '验收完成'
|
||||
WHEN [项目调试时间]>='1990-01-01' AND [项目调试时间] IS NOT NULL THEN '调试完成'
|
||||
WHEN ISNULL([项目进度],'') <> '' THEN [项目进度] WHEN ISNULL([整单累计发货金额],0) = 0 THEN '未启动'
|
||||
WHEN ISNULL( [整单累计发货金额],0) = ISNULL([整单订单总额],0) THEN '发货完成' WHEN ISNULL([整单订单总额],0) > ISNULL( [整单累计发货金额],0) THEN '发货中' END
|
||||
WHEN ISNULL( [整单累计发货金额],0) = ISNULL([整单订单总额],0) THEN '发货完成' WHEN ISNULL([整单订单总额],0) > ISNULL( [整单累计发货金额],0) THEN '发货中' END ;
|
||||
|
||||
,[账龄-阶段]=CASE WHEN [账龄月]>=1 AND [账龄月]<=6 THEN '1-6个月' WHEN [账龄月]>=7 AND [账龄月]<=12 THEN '7-12个月' WHEN [账龄月]>=13 AND [账龄月]<=24
|
||||
|
||||
update [ZRP_YingShouMingXi_yuyubo] set
|
||||
[到期时间]=CASE WHEN [预计到期时间] IS NOT NULL AND [预计到期时间] <= GETDATE() AND [预计到期时间] >'1990-01-01' AND [订单总额]>0 THEN [预计到期时间] ELSE NULL END
|
||||
,[到期金额]=CASE WHEN [预计到期时间] IS NOT NULL AND [预计到期时间] <= GETDATE() AND [预计到期时间] >'1990-01-01' AND [订单总额]>0
|
||||
THEN([整单累计发货金额]-[整单累计退货金额]-[整单累计到款金额])*[分摊比例]*0.01*ISNULL([收款条件分摊比例],100)*0.01 ELSE 0 END;
|
||||
--WHERE [销售单主键ID]=110181;
|
||||
|
||||
|
||||
|
||||
|
||||
update [ZRP_YingShouMingXi_yuyubo] SET [订单日期]=CASE WHEN [订单日期] > '1990-01-01' THEN [订单日期] ELSE NULL END ,[发货日期]=CASE WHEN [发货日期] > '1990-01-01' THEN [发货日期] ELSE NULL END
|
||||
,[开票日期]=CASE WHEN [开票日期] > '1990-01-01' THEN [开票日期] ELSE NULL END
|
||||
--,[预计到期时间]=CASE WHEN [预计到期时间] > '1990-01-01' AND [预计到期时间] >GETDATE() THEN [预计到期时间] ELSE NULL END
|
||||
,[质保金到期时间]=CASE WHEN [质保金到期时间] > '1990-01-01' THEN [质保金到期时间] ELSE NULL END
|
||||
,[转专责小组时间]=CASE WHEN [转专责小组时间] > '1990-01-01' THEN [转专责小组时间] ELSE NULL END
|
||||
, [账龄月]= ISNULL( ROUND( DATEDIFF(DAY,[到期时间],GETDATE()) / 30,0) ,0 )
|
||||
|
||||
|
||||
UPDATE [ZRP_YingShouMingXi_yuyubo] SET
|
||||
[账龄-阶段]=CASE WHEN [账龄月]>=1 AND [账龄月]<=6 THEN '1-6个月' WHEN [账龄月]>=7 AND [账龄月]<=12 THEN '7-12个月' WHEN [账龄月]>=13 AND [账龄月]<=24
|
||||
THEN '1-2年' WHEN [账龄月]>=25 AND [账龄月]<=36 THEN '2-3年' WHEN [账龄月]>=37 AND [账龄月]<=48 THEN '3-4年' WHEN [账龄月]>=49 THEN '5年以上' ELSE '' END
|
||||
--,[风险评估级别]=CASE WHEN [账龄月]>=1 AND [账龄月]<=6 THEN '正常' WHEN [账龄月]>=7 AND [账龄月]<=12 THEN '催款函' WHEN [账龄月]>=13 AND [账龄月]<=18
|
||||
--THEN '律师' WHEN [账龄月]>=19 THEN '诉讼' ELSE '' END
|
||||
@ -247,38 +270,36 @@ WHEN ISNULL( [
|
||||
,[4-5年]=CASE WHEN [账龄月]>=37 AND [账龄月]<=60 THEN [分摊金额]-([整单累计退货金额]+[整单累计到款金额])*[分摊比例]*0.01 ELSE 0 END
|
||||
,[5年以上]=CASE WHEN [账龄月]> 60 THEN [分摊金额]-([整单累计退货金额]+[整单累计到款金额])*[分摊比例]*0.01 ELSE 0 END
|
||||
|
||||
FROM [ZRP_YingShouMingXi_yuyubo] A
|
||||
update [ZRP_YingShouMingXi_yuyubo] SET [预计到期时间]=CASE WHEN [预计到期时间] > '1990-01-01' AND [预计到期时间] >GETDATE() THEN [预计到期时间] ELSE NULL END
|
||||
,[未到期金额]=CASE WHEN ([预计到期时间] <'1990-01-01' OR [预计到期时间] > GETDATE()) AND [订单总额]>0 THEN ([整单累计发货金额]-[整单累计退货金额]-[整单累计到款金额])*[分摊比例]*0.01*ISNULL([收款条件分摊比例],100)*0.01 ELSE 0 END
|
||||
,[是否超账龄转出]=CASE WHEN [账龄月] > 12 THEN '是' ELSE '否' END ;
|
||||
|
||||
update [ZRP_YingShouMingXi_yuyubo] SET [订单日期]=CASE WHEN [订单日期] > '1990-01-01' THEN [订单日期] ELSE NULL END ,[发货日期]=CASE WHEN [发货日期] > '1990-01-01' THEN [发货日期] ELSE NULL END
|
||||
,[开票日期]=CASE WHEN [开票日期] > '1990-01-01' THEN [开票日期] ELSE NULL END ,[预计到期时间]=CASE WHEN [预计到期时间] > '1990-01-01' AND [预计到期时间] >GETDATE() THEN [预计到期时间] ELSE NULL END
|
||||
,[质保金到期时间]=CASE WHEN [质保金到期时间] > '1990-01-01' THEN [质保金到期时间] ELSE NULL END
|
||||
,[转专责小组时间]=CASE WHEN [转专责小组时间] > '1990-01-01' THEN [转专责小组时间] ELSE NULL END
|
||||
, [账龄月]= ISNULL( ROUND( DATEDIFF(DAY,[到期时间],GETDATE()) / 30,0) ,0 )
|
||||
|
||||
TRUNCATE TABLE dbo.ReceivablesDetailsTable;
|
||||
--TRUNCATE TABLE dbo.ReceivablesDetailsTable;
|
||||
|
||||
--update [ReceivablesDetailsTable] set [F_001]=b.[销售单主键ID],[F_002]=b.[销售员],[F_003]=b.[SBU],[F_004]=B.[明细区域],[F_005]=b.[购货单位],[F_006]=b.[公司性质]
|
||||
--,[F_007]=[客户信用],[F_008]=[纸质合同号],[F_009]=[项目名称],[F_010]=[订单总额],[F_011]=[签订年份],[F_012]=CONVERT(NVARCHAR(20),[订单日期],23),[F_013]=[收款条件],[F_014]=CONVERT(NVARCHAR(20),[发货日期],23)
|
||||
--,[F_015]=[应收比例],[F_016]=CONVERT(NVARCHAR(20),[开票日期],23),[F_017]=[累计发货金额],[F_018]=[累计退货金额],[F_019]=[累计开票金额],[F_020]=[累计到款金额],[F_021]=[应收款合计]
|
||||
--,[F_022]=[未出货总额],[F_023]=CONVERT(NVARCHAR(20),[预计到期时间],23),[F_024]=[未到期金额],[F_025]=[实际已出货应收款合计],[F_026]=CONVERT(NVARCHAR(20),[到期时间],23) ,[F_027]=[到期金额],[F_028]=[收款人]
|
||||
--,[F_029]=[项目阶段],[F_030]=[项目进度],[F_031]=[项目调试时间],[F_032]=[项目验收时间],[F_033]=[质保金天数],[F_034]=CONVERT(NVARCHAR(20),[质保金到期时间],23),[F_035]=[是否提前验收]
|
||||
--,[F_036]=[账龄月],[F_037]=[账龄-阶段],[F_038]=[1-6个月],[F_039]=[7-12个月],[F_040]=[13-18个月],[F_041]=[19个月以上],[F_042]=[1年以上],[F_043]=[风险评估级别]
|
||||
--,[F_044]=[结算类别],[F_045]=[结算类型],[F_046]=CONVERT(NVARCHAR(20),[转专责小组时间],23),[F_047]=[是否超账龄转出],[F_048]=[超账龄是否申请归还大区],[F_049]=[创建人]
|
||||
--,[F_050]=[反馈表引用分组],[F_051]=[取值销售],[F_052]=[是否坏账],[F_053]=[是否预发货]
|
||||
--,[F_059]=[合同类型],[F_000]=[组织ID],[F_062]=[是否集采项目],[F_063]=[天数],[EditTime]=GETDATE()
|
||||
--,[F_064]=[1-2年],[F_065]=[2-3年],[F_066]=[3-4年],[F_067]=[4-5年],[F_068]=[5年以上]
|
||||
--FROM [ZRP_YingShouMingXi_yuyubo] B
|
||||
--WHERE [ReceivablesDetailsTable].[销售员ID]=b.[销售员ID] AND [ReceivablesDetailsTable].[销售单主键ID]=B.[销售单主键ID]
|
||||
--AND [ReceivablesDetailsTable].[收款条件主键ID]=B.[收款条件主键ID]
|
||||
update [ReceivablesDetailsTable] set [F_001]=b.[销售单主键ID],[F_002]=b.[销售员],[F_003]=b.[SBU],[F_004]=B.[明细区域],[F_005]=b.[购货单位],[F_006]=b.[公司性质]
|
||||
,[F_007]=[客户信用],[F_008]=[纸质合同号],[F_009]=[项目名称],[F_010]=[订单总额],[F_011]=[签订年份],[F_012]=CONVERT(NVARCHAR(20),[订单日期],23),[F_013]=[收款条件],[F_014]=CONVERT(NVARCHAR(20),[发货日期],23)
|
||||
,[F_015]=[应收比例],[F_016]=CONVERT(NVARCHAR(20),[开票日期],23),[F_017]=[累计发货金额],[F_018]=[累计退货金额],[F_019]=[累计开票金额],[F_020]=[累计到款金额],[F_021]=[应收款合计]
|
||||
,[F_022]=[未出货总额],[F_023]=CONVERT(NVARCHAR(20),[预计到期时间],23),[F_024]=[未到期金额],[F_025]=[实际已出货应收款合计],[F_026]=CONVERT(NVARCHAR(20),[到期时间],23) ,[F_027]=[到期金额],[F_028]=[收款人]
|
||||
,[F_029]=[项目阶段],[F_030]=[项目进度],[F_031]=[项目调试时间],[F_032]=[项目验收时间],[F_033]=[质保金天数],[F_034]=CONVERT(NVARCHAR(20),[质保金到期时间],23),[F_035]=[是否提前验收]
|
||||
,[F_036]=[账龄月],[F_037]=[账龄-阶段],[F_038]=[1-6个月],[F_039]=[7-12个月],[F_040]=[13-18个月],[F_041]=[19个月以上],[F_042]=[1年以上],[F_043]=[风险评估级别]
|
||||
,[F_044]=[结算类别],[F_045]=[结算类型],[F_046]=CONVERT(NVARCHAR(20),[转专责小组时间],23),[F_047]=[是否超账龄转出],[F_048]=[超账龄是否申请归还大区],[F_049]=[创建人]
|
||||
,[F_050]=[反馈表引用分组],[F_051]=[取值销售],[F_052]=[是否坏账],[F_053]=[是否预发货]
|
||||
,[F_059]=[合同类型],[F_000]=[组织ID],[F_062]=[是否集采项目],[F_063]=[天数],[EditTime]=GETDATE()
|
||||
,[F_064]=[1-2年],[F_065]=[2-3年],[F_066]=[3-4年],[F_067]=[4-5年],[F_068]=[5年以上]
|
||||
FROM [ZRP_YingShouMingXi_yuyubo] B
|
||||
WHERE [ReceivablesDetailsTable].[销售员ID]=b.[销售员ID] AND [ReceivablesDetailsTable].[销售单主键ID]=B.[销售单主键ID]
|
||||
AND [ReceivablesDetailsTable].[收款条件主键ID]=B.[收款条件主键ID]
|
||||
|
||||
--UPDATE [ZRP_YingShouMingXi_yuyubo] SET [是否已存在]=1
|
||||
--FROM [ReceivablesDetailsTable]
|
||||
--WHERE [ReceivablesDetailsTable].[销售员ID]=[ZRP_YingShouMingXi_yuyubo].[销售员ID] AND [ReceivablesDetailsTable].[销售单主键ID]=[ZRP_YingShouMingXi_yuyubo].[销售单主键ID]
|
||||
--AND [ReceivablesDetailsTable].[收款条件主键ID]=[ZRP_YingShouMingXi_yuyubo].[收款条件主键ID]
|
||||
UPDATE [ZRP_YingShouMingXi_yuyubo] SET [是否已存在]=1
|
||||
FROM [ReceivablesDetailsTable]
|
||||
WHERE [ReceivablesDetailsTable].[销售员ID]=[ZRP_YingShouMingXi_yuyubo].[销售员ID] AND [ReceivablesDetailsTable].[销售单主键ID]=[ZRP_YingShouMingXi_yuyubo].[销售单主键ID]
|
||||
AND [ReceivablesDetailsTable].[收款条件主键ID]=[ZRP_YingShouMingXi_yuyubo].[收款条件主键ID]
|
||||
|
||||
--DELETE [ReceivablesDetailsTable] WHERE [销售单主键ID] IS NULL OR [销售单主键ID]=0 ;
|
||||
DELETE [ReceivablesDetailsTable] WHERE [销售单主键ID] IS NULL OR [销售单主键ID]=0 ;
|
||||
|
||||
--TRUNCATE TABLE ReceivablesDetailsTable;
|
||||
|
||||
TRUNCATE TABLE ReceivablesDetailsTable;
|
||||
INSERT INTO [ReceivablesDetailsTable]
|
||||
( [F_001],[F_002],[F_003],[F_004],[F_005],[F_006],[F_007],[F_008],[F_009],[F_010],[F_011],[F_012],[F_013],[F_014],[F_015],[F_016],[F_017],[F_018],[F_019],[F_020]
|
||||
,[F_021],[F_022],[F_023],[F_024],[F_025],[F_026],[F_027],[F_028],[F_029],[F_030],[F_031],[F_032],[F_033],[F_034],[F_035],[F_036],[F_037],[F_038],[F_039],[F_040],
|
||||
@ -293,7 +314,7 @@ TRUNCATE TABLE dbo.ReceivablesDetailsTable;
|
||||
,[合同类型] ,[组织ID],[是否集采项目],[天数]
|
||||
,[销售单主键ID],[销售员ID],[收款条件主键ID],GETDATE(),0,[1-2年],[2-3年],[3-4年],[4-5年],[5年以上]
|
||||
FROM [ZRP_YingShouMingXi_yuyubo]
|
||||
--WHERE ISNULL([是否已存在],0)=0
|
||||
WHERE ISNULL([是否已存在],0)=0
|
||||
|
||||
--DELETE [ReceivablesDetailsTable]
|
||||
--WHERE [销售单主键ID] IN (SELECT DISTINCT [销售单主键ID] FROM [ZRP_YingShouMingXi_yuyubo] WHERE [整单累计到款金额]=[整单订单总额]-[整单累计退货金额])
|
||||
@ -306,7 +327,7 @@ GO
|
||||
|
||||
|
||||
--TRUNCATE TABLE dbo.ReceivablesDetailsTable;
|
||||
--EXEC PR_YingShouMingXi_yuyubo
|
||||
EXEC PR_YingShouMingXi_yuyubo
|
||||
|
||||
|
||||
--SELECT TOP 10 * FROM ReceivablesDetailsTable
|
||||
|
Loading…
x
Reference in New Issue
Block a user