1
This commit is contained in:
parent
892d5d36c6
commit
c8cb278e9d
@ -87,6 +87,8 @@
|
||||
<Compile Include="YSZKDZGongNeng_MX\YourDataPlugIn2.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="HKBaoBiao\回款报表服务器插件.py" />
|
||||
<Content Include="HKBaoBiao\回款报表表单插件.py" />
|
||||
<Content Include="Library\Kingdee.BOS.App.Core.dll" />
|
||||
<Content Include="Library\Kingdee.BOS.App.dll" />
|
||||
<Content Include="Library\Kingdee.BOS.Contracts.dll" />
|
||||
|
||||
@ -1,12 +1,10 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.12.35506.116 d17.12
|
||||
VisualStudioVersion = 17.12.35506.116
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GZ_LTHReportForms", "GZ_LTHReportForms.csproj", "{D635EAA4-25EF-45D7-8AE4-A4A4EA71FE54}"
|
||||
EndProject
|
||||
Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "GZ_PilotPythonReport", "..\GZ_PilotPythonReport\GZ_PilotPythonReport.pyproj", "{88C65DD5-F80F-4497-932B-BE6B2AB9F8B1}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@ -17,8 +15,6 @@ Global
|
||||
{D635EAA4-25EF-45D7-8AE4-A4A4EA71FE54}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D635EAA4-25EF-45D7-8AE4-A4A4EA71FE54}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D635EAA4-25EF-45D7-8AE4-A4A4EA71FE54}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{88C65DD5-F80F-4497-932B-BE6B2AB9F8B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{88C65DD5-F80F-4497-932B-BE6B2AB9F8B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
426
HKBaoBiao/回款报表服务器插件.py
Normal file
426
HKBaoBiao/回款报表服务器插件.py
Normal file
@ -0,0 +1,426 @@
|
||||
|
||||
#-*- encoding:utf-8 -*-
|
||||
|
||||
import clr
|
||||
clr.AddReference("System")
|
||||
clr.AddReference("Kingdee.BOS")
|
||||
clr.AddReference("Kingdee.BOS.Core")
|
||||
clr.AddReference("Kingdee.BOS.DataEntity")
|
||||
clr.AddReference("Kingdee.BOS.App")
|
||||
clr.AddReference("Kingdee.BOS.Contracts")
|
||||
from Kingdee.BOS import *
|
||||
from Kingdee.BOS.Contracts import *
|
||||
from Kingdee.BOS.Contracts.Report import *
|
||||
from Kingdee.BOS.Core import *
|
||||
from Kingdee.BOS.Core.Metadata import *
|
||||
from Kingdee.BOS.Core.Report import *
|
||||
from Kingdee.BOS.Core.SqlBuilder import *
|
||||
from Kingdee.BOS.App.Data import *
|
||||
from Kingdee.BOS.Orm.DataEntity import *
|
||||
from System import *
|
||||
from System.ComponentModel import *
|
||||
from System.Collections.Generic import *
|
||||
from System.Text import *
|
||||
from System.Threading.Tasks import *
|
||||
|
||||
|
||||
|
||||
#初始化
|
||||
def Initialize():
|
||||
this.ReportProperty.ReportName = LocaleValue("回款报表#", this.Context.UserLocale.LCID)
|
||||
this.ReportProperty.ReportType = ReportType.REPORTTYPE_NORMAL
|
||||
this.IsCreateTempTableByPlugin = True
|
||||
this.ReportProperty.IsGroupSummary = True
|
||||
this.ReportProperty.SimpleAllCols = False
|
||||
|
||||
#设置标题
|
||||
def GetReportTitles(Filter):
|
||||
reportTitles = ReportTitles()
|
||||
customFiler = Filter.FilterParameter.CustomFilter
|
||||
if customFiler:
|
||||
F_YWZZ = customFiler["F_YWZZ"]
|
||||
FStartDate = customFiler["F_SDate"]
|
||||
FEndDate = customFiler["F_EDate"]
|
||||
FCust = customFiler["FCust"]
|
||||
FZZHTH = customFiler["F_contractnumber"]
|
||||
if FStartDate != None and FStartDate.ToString() != "":
|
||||
reportTitles.AddTitle("FSDate",str(FStartDate.ToString("yyyy-MM-dd")))
|
||||
if FEndDate != None and FEndDate.ToString() != "":
|
||||
reportTitles.AddTitle("FEDate",str(FEndDate.ToString("yyyy-MM-dd")))
|
||||
if FCust != None:
|
||||
reportTitles.AddTitle("FCust",str(FCust["Name"].ToString()))
|
||||
reportTitles.AddTitle("FZZHTH",FZZHTH)
|
||||
return reportTitles
|
||||
|
||||
|
||||
#设置单据列
|
||||
def GetReportHeaders(Filter):
|
||||
header = ReportHeader()
|
||||
# headerch = ReportHeader()
|
||||
header.AddChild("业务日期",LocaleValue("业务日期",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
|
||||
#header.AddChild("收款明细",LocaleValue("收款明细",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
|
||||
header.AddChild("日期",LocaleValue("日期",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
|
||||
header.AddChild("ShouKuanBillNo",LocaleValue("收款单号",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
|
||||
header.AddChild("付款名称",LocaleValue("付款名称",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
|
||||
header.AddChild("合同名称",LocaleValue("合同名称",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
|
||||
|
||||
header.AddChild("金额",LocaleValue("金额(本位币)",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
|
||||
header.AddChild("分摊金额",LocaleValue("分摊金额(本位币)",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
|
||||
|
||||
header.AddChild("订单号",LocaleValue("订单号",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
|
||||
header.AddChild("销售员",LocaleValue("销售员",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
|
||||
header.AddChild("SBU",LocaleValue("SBU",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
|
||||
header.AddChild("明细区域",LocaleValue("明细区域",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
|
||||
header.AddChild("备注",LocaleValue("备注",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
|
||||
header.AddChild("到期日期",LocaleValue("到期日期(银承)",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
|
||||
header.AddChild("款到发货",LocaleValue("款到发货",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
|
||||
header.AddChild("一至六个月",LocaleValue("1-6个月",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
|
||||
header.AddChild("七至十二个月",LocaleValue("7-12个月",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
|
||||
header.AddChild("一至二年",LocaleValue("1-2年",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
|
||||
header.AddChild("二至三年",LocaleValue("2-3年",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
|
||||
header.AddChild("三至四年",LocaleValue("3-4年",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
|
||||
header.AddChild("四至五年",LocaleValue("4-5年",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
|
||||
header.AddChild("五年以上",LocaleValue("5年以上",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
|
||||
|
||||
header.AddChild("账龄阶段",LocaleValue("账龄/阶段",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
|
||||
header.AddChild("账龄月",LocaleValue("账龄/月",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
|
||||
header.AddChild("币别",LocaleValue("币别",this.Context.UserLocale.LCID),SqlStorageType.Sqlvarchar)
|
||||
header.AddChild("分摊比例",LocaleValue("分摊比例",this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal)
|
||||
|
||||
return header
|
||||
|
||||
#创建临时报表
|
||||
def BuilderReportSqlAndTempTable(Filter,tableName):
|
||||
# strFilter = GetFilterWhere(Filter)
|
||||
strFilter = ""
|
||||
seqFld = String.format(this.KSQL_SEQ,OrderColumn(Filter))
|
||||
|
||||
customFiler = Filter.FilterParameter.CustomFilter
|
||||
#组织ID
|
||||
ZZID = "0" if customFiler["F_YWZZ"] == None else str(customFiler["F_YWZZ"]["Id"])
|
||||
#客户ID
|
||||
KHID = "0" if customFiler["FCust"] == None else str(customFiler["FCust"]["Id"])
|
||||
#日期类型
|
||||
RQLX = str(customFiler["F_DateType"])
|
||||
#币别
|
||||
BB = "0" if customFiler["F_Currency"] == None else str(customFiler["F_Currency"]["Name"])
|
||||
#只看特殊核销
|
||||
# raise Exception(BB)
|
||||
ZKTSHX = customFiler["F_ZKTSHX"]
|
||||
#不看特殊核销
|
||||
BKTSHX = customFiler["F_BKTSHX"]
|
||||
#收款单号
|
||||
SKDH = "" if customFiler["F_RECEIVEBILLNO"] == None else str(customFiler["F_RECEIVEBILLNO"])
|
||||
|
||||
#收款开始/结束日期
|
||||
SKRQS = ""
|
||||
SKRQE = ""
|
||||
#核销开始/结束日期
|
||||
HXRQS = ""
|
||||
HXRQE = ""
|
||||
|
||||
tempsql = "SELECT * FROM #TEMP3 WHERE 1 = 1"
|
||||
|
||||
if customFiler["F_SDate"] != None and customFiler["F_SDate"].ToString() != "":
|
||||
if RQLX == "1":
|
||||
SKRQS = str(customFiler["F_SDate"].ToString("yyyy-MM-dd"))
|
||||
strFilter += " AND (业务日期 >= '{0}' OR ISNULL(业务日期,'') = '' OR 分组 IN (3,4))".format(str(customFiler["F_SDate"].ToString("yyyy-MM-dd")))
|
||||
if RQLX == "2":
|
||||
strFilter += " AND (日期 >= '{0}' OR ISNULL(日期,'') = '' OR 分组 IN (3,4))".format(str(customFiler["F_SDate"].ToString("yyyy-MM-dd")))
|
||||
HXRQS = str(customFiler["F_SDate"].ToString("yyyy-MM-dd"))
|
||||
if customFiler["F_EDate"] != None and customFiler["F_EDate"].ToString() != "":
|
||||
if RQLX == "1":
|
||||
strFilter += " AND (业务日期 <= '{0}' OR ISNULL(业务日期,'') = '' OR 分组 IN (3,4))".format(str(customFiler["F_EDate"].ToString("yyyy-MM-dd")))
|
||||
SKRQE = str(customFiler["F_EDate"].ToString("yyyy-MM-dd"))
|
||||
if RQLX == "2":
|
||||
strFilter += " AND (日期 <= '{0}' OR ISNULL(日期,'') = '' OR 分组 IN (3,4))".format(str(customFiler["F_EDate"].ToString("yyyy-MM-dd")))
|
||||
HXRQE = str(customFiler["F_EDate"].ToString("yyyy-MM-dd"))
|
||||
if customFiler["F_contractnumber"] != None and customFiler["F_contractnumber"].ToString() != "":
|
||||
strFilter += " AND 订单号 = '{0}'".format(str(customFiler["F_contractnumber"].ToString()))
|
||||
if customFiler["F_Currency"] != None and customFiler["F_Currency"].ToString() != "":
|
||||
strFilter += " AND (币别 = '{0}' OR 分组 IN (3,4) OR '{0}' = '0')".format(BB)
|
||||
if ZKTSHX:
|
||||
strFilter += " AND 分组 IN (3,4)"
|
||||
if BKTSHX:
|
||||
strFilter += " AND 分组 NOT IN (3,4)"
|
||||
if SKDH != "":
|
||||
strFilter += " AND ShouKuanBillNo = '{0}'".format(SKDH)
|
||||
|
||||
sql = String.format("""/*dialect*/
|
||||
|
||||
/*抓取销售订单及分摊单数据*/
|
||||
SELECT T1.FID,T1.F_CONTRACTNUMBER AS '订单号',CASE ISNULL(T3.F_RES,'') WHEN '' THEN ISNULL(T5.FNAME,CASE ISNULL(T1.F_RESPONSIBLE,'') WHEN '' THEN T4.FNAME ELSE T1.F_RESPONSIBLE END) ELSE F_RES END AS '销售员'
|
||||
,FSHARERATE AS '分摊比例',FEXCHANGERATE AS '汇率',T7.FNAME AS '合同名称'
|
||||
INTO #TEMP1
|
||||
FROM T_SAL_ORDER T1
|
||||
LEFT JOIN T_PerformanceSharing_LK T2 ON T2.FSID = T1.FID
|
||||
LEFT JOIN T_PerformanceSharingEntry T3 ON T2.FID = T3.FID
|
||||
LEFT JOIN V_BD_SALESMAN_L T4 ON T4.FID = T1.FSALERID AND T4.FLOCALEID = 2052
|
||||
LEFT JOIN V_BD_SALESMAN_L T5 ON T5.FID = T3.FSALEID AND T5.FLOCALEID = 2052
|
||||
LEFT JOIN T_SAL_ORDERFIN T6 ON T1.FID = T6.FID
|
||||
LEFT JOIN T_BD_CUSTOMER_L T7 ON T1.FCUSTID = T7.FCUSTID AND T7.FLOCALEID = 2052
|
||||
WHERE T1.FID IN (SELECT XiaoShouFid FROM ZZZ_HeXiaoBook)
|
||||
AND T1.FDOCUMENTSTATUS = 'C'
|
||||
--AND (T1.FSALEORGID = {4} OR {4} = 0)
|
||||
--AND (T1.FCUSTID = {5} OR {5} = 0)
|
||||
|
||||
/*抓取收款单及应收票据数据*/
|
||||
SELECT T1.FID,FORMAT(T1.FDATE,'yyyy-MM-dd') AS '收款日期',T1.FRECAMOUNT AS '收款金额'
|
||||
,T3.FNAME AS '付款单位',T4.FNAME AS '结算方式',FORMAT(T6.FDUEDATE,'yyyy-MM-dd') AS '到期日期'
|
||||
INTO #TEMP2
|
||||
FROM T_AR_RECEIVEBILL T1
|
||||
LEFT JOIN T_AR_RECEIVEBILLENTRY T2 ON T1.FID = T2.FID
|
||||
LEFT JOIN T_BD_CUSTOMER_L T3 ON T1.FPAYUNITTYPE = 'BD_Customer' AND T1.FPAYUNIT = T3.FCUSTID AND T3.FLOCALEID = 2052
|
||||
LEFT JOIN T_BD_SETTLETYPE_L T4 ON T2.FSETTLETYPEID = T4.FID AND T4.FLOCALEID = 2052
|
||||
LEFT JOIN T_AR_RECEIVEBILLREC T5 ON T5.FID = T2.FID
|
||||
LEFT JOIN T_CN_BILLRECEIVABLE T6 ON T5.FBILLID = T6.FID
|
||||
WHERE 1=1
|
||||
--AND T1.FID IN (SELECT ShouKuanFid FROM ZZZ_HeXiaoBook)
|
||||
AND T1.FDOCUMENTSTATUS = 'C'
|
||||
AND (T1.FPAYORGID = {4} OR {4} = 0)
|
||||
AND (T1.FPAYUNIT = {5} OR {5} = 0)
|
||||
--AND (T1.FDATE >= '{6}' OR '{6}' = '')
|
||||
--AND (T1.FDATE <= '{7}' OR '{7}' = '')
|
||||
|
||||
/*抓取核销流水中间表正常核销部分*/
|
||||
SELECT
|
||||
T1.Fid,T1.XiaoShouFid,T1.ShouKuanFid,T1.ShouKuanBillNo
|
||||
,CAST(ISNULL(T2.分摊比例,0)AS decimal(10,2)) AS '分摊比例'
|
||||
,ROW_NUMBER() OVER(PARTITION BY T1.ShouKuanFid ORDER BY T1.ShouKuanFid,XiaoShouFid) AS '分摊序号'
|
||||
,FORMAT(T1.ShouKuanFDate,'yyyy-MM-dd') AS '业务日期'
|
||||
,CAST('' AS VARCHAR(500)) AS '收款明细'
|
||||
,CAST('' AS VARCHAR(500)) AS '日期'
|
||||
,CAST('' AS VARCHAR(500)) AS '付款名称'
|
||||
,ISNULL(T2.合同名称,'') AS '合同名称'
|
||||
,CAST(0 AS decimal(10,2)) AS '金额'
|
||||
,CAST((ISNULL(T2.分摊比例,100)/100 * T1.BenCiHeXiao * T2.汇率) AS decimal(10,2)) AS '分摊金额'
|
||||
,T2.订单号 AS '订单号'
|
||||
,ISNULL(T2.销售员,'') AS '销售员'
|
||||
,CAST('' AS VARCHAR(500)) AS 'SBU'
|
||||
,CAST('' AS VARCHAR(500)) AS '明细区域'
|
||||
,T1.Remark AS '备注'
|
||||
,CAST('' AS VARCHAR(500)) AS '到期日期'
|
||||
,CAST(0 AS decimal(10,2)) AS '款到发货'
|
||||
,CAST(0 AS decimal(10,2)) AS '一至六个月'
|
||||
,CAST(0 AS decimal(10,2)) AS '七至十二个月'
|
||||
,CAST(0 AS decimal(10,2)) AS '一至二年'
|
||||
,CAST(0 AS decimal(10,2)) AS '二至三年'
|
||||
,CAST(0 AS decimal(10,2)) AS '三至四年'
|
||||
,CAST(0 AS decimal(10,2)) AS '四至五年'
|
||||
,CAST(0 AS decimal(10,2)) AS '五年以上'
|
||||
,CAST('' AS VARCHAR(500)) AS '账龄阶段'
|
||||
,T1.ZhangLing AS '账龄月'
|
||||
,CAST('' AS VARCHAR(500)) AS '币别'
|
||||
,1 AS '分组'
|
||||
INTO #TEMP3
|
||||
FROM ZZZ_HeXiaoBook T1
|
||||
INNER JOIN #TEMP1 T2 ON T1.XiaoShouFid = T2.FID
|
||||
WHERE T1.ShouKuanType = 0
|
||||
AND (T1.FSaleOrgId = {4} OR {4} = 0)
|
||||
AND (FORMAT(T1.ShouKuanFDate,'yyyy-MM-dd') >= '{8}' OR '{8}' = '')
|
||||
AND (FORMAT(T1.ShouKuanFDate,'yyyy-MM-dd') <= '{9}' OR '{9}' = '')
|
||||
|
||||
/*插入待核销金额行*/
|
||||
INSERT INTO #TEMP3 (Fid,ShouKuanFid,ShouKuanBillNo,分摊序号,日期,销售员,订单号,金额,分摊金额,付款名称,合同名称,款到发货,一至六个月,七至十二个月,一至二年,二至三年,三至四年,四至五年,五年以上,账龄阶段,账龄月,分组)
|
||||
SELECT DISTINCT
|
||||
'99999999' AS 'Fid'
|
||||
,T1.FID
|
||||
,T1.FBILLNO
|
||||
,'99999999' AS '分摊序号'
|
||||
,FORMAT(T1.FDATE,'yyyy-MM-dd') AS '日期'
|
||||
,'' AS '销售员'
|
||||
,'待核销' AS '订单号'
|
||||
,0 AS '金额'
|
||||
,ISNULL(T1.FRECAMOUNT,0)-(ISNULL(T1.F_AMOUNT,0)*ISNULL(T1.FEXCHANGERATE,0)) AS '分摊金额'
|
||||
,'' AS '付款名称'
|
||||
,T3.FNAME AS '合同名称'
|
||||
,0 AS '款到发货'
|
||||
,0 AS '一至六个月'
|
||||
,0 AS '七至十二个月'
|
||||
,0 AS '一至二年'
|
||||
,0 AS '二至三年'
|
||||
,0 AS '三至四年'
|
||||
,0 AS '四至五年'
|
||||
,0 AS '五年以上'
|
||||
,CAST('' AS VARCHAR(500)) AS '账龄阶段'
|
||||
,0
|
||||
,1 AS '分组'
|
||||
FROM T_AR_RECEIVEBILL T1
|
||||
--INNER JOIN #TEMP3 T2 ON T1.FID = T2.ShouKuanFid
|
||||
LEFT JOIN T_BD_CUSTOMER_L T3 ON T1.FPAYUNITTYPE = 'BD_Customer' AND T1.FPAYUNIT = T3.FCUSTID AND T3.FLOCALEID = 2052
|
||||
WHERE ISNULL(T1.FRECAMOUNTFOR,0)-ISNULL(T1.F_AMOUNT,0) > 0
|
||||
AND T1.FDOCUMENTSTATUS = 'C'
|
||||
AND (T1.FPAYORGID = {4} OR {4} = 0)
|
||||
AND ((T1.FPAYUNIT = {5} AND T1.FPAYUNITTYPE = 'BD_Customer') OR {5} = 0)
|
||||
AND (T1.FDATE >= '{6}' OR '{6}' = '')
|
||||
AND (T1.FDATE <= '{7}' OR '{7}' = '')
|
||||
|
||||
/*抓取核销流水中间表特殊核销部分*/
|
||||
INSERT INTO #TEMP3 (Fid,XiaoShouFid,ShouKuanFid,ShouKuanBillNo,分摊比例,分摊序号,业务日期,付款名称,合同名称,金额,分摊金额,订单号,销售员,备注,账龄月,币别,分组)
|
||||
SELECT a.* FROM(
|
||||
SELECT 0 Fid,0 XiaoShouFid,0 ShouKuanFid,'' ShouKuanBillNo,0 分摊比例,0 分摊序号,'特殊核销' 业务日期,'' 付款名称,'' 合同名称,0 金额,0 分摊金额,'' 订单号,'' 销售员,'' 备注,0 账龄月,'' 币别,3 分组
|
||||
UNION ALL
|
||||
SELECT
|
||||
T1.Fid,T1.XiaoShouFid,T1.ShouKuanFid,T1.ShouKuanBillNo
|
||||
,CAST(ISNULL(T2.分摊比例,0)AS decimal(10,2)) AS '分摊比例'
|
||||
,ROW_NUMBER() OVER(PARTITION BY T1.ShouKuanFid ORDER BY T1.ShouKuanFDate) AS '分摊序号'
|
||||
,FORMAT(T1.ShouKuanFDate,'yyyy-MM-dd') AS '业务日期'
|
||||
,ISNULL(T2.合同名称,'') AS '付款名称'
|
||||
,ISNULL(T2.合同名称,'') AS '合同名称'
|
||||
,CAST((ISNULL(T2.分摊比例,100)/100 * T1.BenCiHeXiao * T2.汇率) AS decimal(10,2)) AS '金额'
|
||||
,CAST((ISNULL(T2.分摊比例,100)/100 * T1.BenCiHeXiao * T2.汇率) AS decimal(10,2)) AS '分摊金额'
|
||||
,T2.订单号 AS '订单号'
|
||||
,ISNULL(T2.销售员,'') AS '销售员'
|
||||
,T1.Remark AS '备注'
|
||||
,T1.ZhangLing AS '账龄月'
|
||||
,CAST('' AS VARCHAR(500)) AS '币别'
|
||||
,CASE T1.ShouKuanType WHEN 1 THEN 3 WHEN 2 THEN 4 END AS '分组'
|
||||
FROM ZZZ_HeXiaoBook T1
|
||||
INNER JOIN #TEMP1 T2 ON T1.XiaoShouFid = T2.FID
|
||||
WHERE T1.ShouKuanType IN (1,2)
|
||||
AND (T1.FSaleOrgId = {4} OR {4} = 0)
|
||||
AND (FORMAT(T1.ShouKuanFDate,'yyyy-MM-dd') >= '{8}' OR '{8}' = '')
|
||||
AND (FORMAT(T1.ShouKuanFDate,'yyyy-MM-dd') <= '{9}' OR '{9}' = '')
|
||||
)a
|
||||
|
||||
|
||||
/*修改待核销分摊序号*/
|
||||
SELECT *, ROW_NUMBER() OVER(PARTITION BY ShouKuanFid ORDER BY ShouKuanFid,分摊序号) rownumber
|
||||
INTO #TEMP4
|
||||
FROM #TEMP3
|
||||
|
||||
UPDATE T1 SET 分摊序号 =T2.rownumber FROM #TEMP3 T1
|
||||
INNER JOIN #TEMP4 T2 ON T1.Fid = T2.Fid
|
||||
AND T1.ShouKuanFid = T2.ShouKuanFid
|
||||
AND T1.分摊序号 = T2.分摊序号
|
||||
|
||||
|
||||
/*更新备注字段*/
|
||||
UPDATE T1 SET 备注 = T2.结算方式 +备注 FROM #TEMP3 T1
|
||||
INNER JOIN #TEMP2 T2 ON T1.ShouKuanFid = T2.FID
|
||||
WHERE T2.结算方式 <> '电汇'
|
||||
|
||||
/*更新收款日期*/
|
||||
UPDATE T1 SET 日期 = T2.收款日期 FROM #TEMP3 T1
|
||||
INNER JOIN #TEMP2 T2 ON T1.ShouKuanFid = T2.FID
|
||||
|
||||
/*更新付款单位字段*/
|
||||
UPDATE A SET 付款名称 = T2.付款单位 FROM #TEMP3 A
|
||||
INNER JOIN (SELECT A.FID
|
||||
,CASE WHEN REPLACE(F_OTHER,' ','') <> '' AND F_OTHER IS NOT NULL THEN F_OTHER ELSE C.FNAME END AS '付款单位'
|
||||
FROM T_AR_RECEIVEBILL A
|
||||
LEFT JOIN T_AR_RECEIVEBILLENTRY B ON A.FID = B.FID
|
||||
LEFT JOIN T_BD_CUSTOMER_L C ON A.FPAYUNITTYPE = 'BD_Customer' AND A.FPAYUNIT = C.FCUSTID AND C.FLOCALEID = 2052
|
||||
) T2 ON A.ShouKuanFid = T2.FID
|
||||
WHERE 分摊序号 = 1
|
||||
|
||||
|
||||
/*更新币别字段*/
|
||||
UPDATE A SET 币别 = T2.币别 FROM #TEMP3 A
|
||||
INNER JOIN (SELECT A.FID
|
||||
,D.FNAME AS '币别'
|
||||
FROM T_AR_RECEIVEBILL A
|
||||
LEFT JOIN T_AR_RECEIVEBILLENTRY B ON A.FID = B.FID
|
||||
LEFT JOIN T_BD_CURRENCY_L D ON D.FCURRENCYID = A.FCURRENCYID AND D.FLOCALEID = 2052
|
||||
) T2 ON A.ShouKuanFid = T2.FID
|
||||
|
||||
|
||||
--/*更新待核销合同名称字段*/
|
||||
--UPDATE A SET 合同名称 = ISNULL(付款名称,'') FROM #TEMP3 A
|
||||
--WHERE 订单号 = '待核销' AND 分摊序号 = 1
|
||||
|
||||
|
||||
/*只更新分摊序号为1的收款金额字段*/
|
||||
UPDATE T1 SET 金额 = T2.收款金额 FROM #TEMP3 T1
|
||||
INNER JOIN #TEMP2 T2 ON T1.ShouKuanFid = T2.FID
|
||||
WHERE T1.分摊序号 = 1
|
||||
|
||||
/*更新到期日期(银承)字段*/
|
||||
UPDATE T1 SET 到期日期 = T2.到期日期 FROM #TEMP3 T1
|
||||
INNER JOIN #TEMP2 T2 ON T1.ShouKuanFid = T2.FID
|
||||
WHERE T2.结算方式 IN ('银行承兑汇票','商业承兑汇票')
|
||||
|
||||
/*更新SBU、明细区域字段*/
|
||||
UPDATE #TEMP3 SET SBU=b.区域,[明细区域]=b.明细区域
|
||||
FROM (SELECT DISTINCT ACO22.名称,ACO22.明细区域,ACO22.区域 FROM ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO22 ) b
|
||||
WHERE 销售员=b.名称
|
||||
|
||||
/*处理分摊金额尾差*/
|
||||
UPDATE T1 SET 分摊金额 = ISNULL(T1.分摊金额,0)+(ISNULL(T1.金额,0)-ISNULL(T2.分摊金额,0)) FROM #TEMP3 T1
|
||||
INNER JOIN(SELECT ShouKuanFid,SUM(ISNULL(分摊金额,0)) 分摊金额 FROM #TEMP3 GROUP BY ShouKuanFid) T2 ON T1.ShouKuanFid = T2.ShouKuanFid
|
||||
WHERE T1.分摊序号 = 1 AND T1.金额>0
|
||||
|
||||
/*更新账龄字段*/
|
||||
UPDATE #TEMP3 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
|
||||
,[一至六个月]=CASE WHEN [账龄月]>=1 AND [账龄月]<=6 THEN 分摊金额 ELSE 0 END
|
||||
,[七至十二个月]=CASE WHEN [账龄月]>=7 AND [账龄月]<=12 THEN 分摊金额 ELSE 0 END
|
||||
,[一至二年]=CASE WHEN [账龄月]>=13 AND [账龄月]<=24 THEN 分摊金额 ELSE 0 END
|
||||
,[二至三年]=CASE WHEN [账龄月]>=25 AND [账龄月]<=36 THEN 分摊金额 ELSE 0 END
|
||||
,[三至四年]=CASE WHEN [账龄月]>=37 AND [账龄月]<=48 THEN 分摊金额 ELSE 0 END
|
||||
,[四至五年]=CASE WHEN [账龄月]>=49 AND [账龄月]<=60 THEN 分摊金额 ELSE 0 END
|
||||
,[五年以上]=CASE WHEN [账龄月]> 60 THEN 分摊金额 ELSE 0 END
|
||||
,[款到发货]=CASE WHEN [账龄月]<= 0 THEN 分摊金额 ELSE 0 END
|
||||
WHERE 业务日期 <> '特殊核销'
|
||||
|
||||
/*无特殊核销时清空特殊核销行栏头*/
|
||||
IF (SELECT COUNT(*) FROM #TEMP3 WHERE 分组 IN (3,4)) = 1
|
||||
BEGIN
|
||||
DELETE FROM #TEMP3 WHERE 分组 IN (3,4)
|
||||
END
|
||||
|
||||
UPDATE #TEMP3 SET 分组 = CASE WHEN Fid = '99999999' AND 分摊序号 = 1 THEN 2 ELSE 1 END WHERE 分组 NOT IN (3,4)
|
||||
|
||||
/*分组1为正常核销,分组2为待核销,分组3,4为特殊核销*/
|
||||
SELECT t1.*,{0}
|
||||
INTO {1}
|
||||
FROM (
|
||||
{3}
|
||||
{2}
|
||||
) t1
|
||||
|
||||
DROP TABLE #TEMP1,#TEMP2,#TEMP3,#TEMP4
|
||||
""",seqFld,tableName,strFilter,tempsql,ZZID,KHID,SKRQS,SKRQE,HXRQS,HXRQE)
|
||||
DBUtils.ExecuteDynamicObject(this.Context, sql)
|
||||
|
||||
#设置汇总信息
|
||||
def GetSummaryColumnInfo(Filter):
|
||||
lstfield = List[SummaryField]()
|
||||
sField1 = SummaryField("金额",Core.Enums.BOSEnums.Enu_SummaryType.SUM)
|
||||
sField2 = SummaryField("分摊金额",Core.Enums.BOSEnums.Enu_SummaryType.SUM)
|
||||
sField3 = SummaryField("款到发货",Core.Enums.BOSEnums.Enu_SummaryType.SUM)
|
||||
sField4 = SummaryField("一至六个月",Core.Enums.BOSEnums.Enu_SummaryType.SUM)
|
||||
sField5 = SummaryField("七至十二个月",Core.Enums.BOSEnums.Enu_SummaryType.SUM)
|
||||
sField6 = SummaryField("一至二年",Core.Enums.BOSEnums.Enu_SummaryType.SUM)
|
||||
sField7 = SummaryField("二至三年",Core.Enums.BOSEnums.Enu_SummaryType.SUM)
|
||||
sField8 = SummaryField("三至四年",Core.Enums.BOSEnums.Enu_SummaryType.SUM)
|
||||
sField9 = SummaryField("四至五年",Core.Enums.BOSEnums.Enu_SummaryType.SUM)
|
||||
sField10 = SummaryField("五年以上",Core.Enums.BOSEnums.Enu_SummaryType.SUM)
|
||||
lstfield.Add(sField1)
|
||||
lstfield.Add(sField2)
|
||||
lstfield.Add(sField3)
|
||||
lstfield.Add(sField4)
|
||||
lstfield.Add(sField5)
|
||||
lstfield.Add(sField6)
|
||||
lstfield.Add(sField7)
|
||||
lstfield.Add(sField8)
|
||||
lstfield.Add(sField9)
|
||||
lstfield.Add(sField10)
|
||||
return lstfield
|
||||
|
||||
#排序
|
||||
def OrderColumn(Filter):
|
||||
OrderBy = ""
|
||||
datasort = Filter.FilterParameter.SortString.ToString()
|
||||
if datasort != "":
|
||||
OrderBy = datasort
|
||||
else:
|
||||
OrderBy = " 分组,ShouKuanFid,分摊序号,业务日期 "
|
||||
return OrderBy
|
||||
|
||||
#关闭清空临时表
|
||||
def CloseReport():
|
||||
this.DropTempTable()
|
||||
31
HKBaoBiao/回款报表表单插件.py
Normal file
31
HKBaoBiao/回款报表表单插件.py
Normal file
@ -0,0 +1,31 @@
|
||||
|
||||
import clr
|
||||
clr.AddReference("System")
|
||||
clr.AddReference("Kingdee.BOS")
|
||||
clr.AddReference("Kingdee.BOS.Core")
|
||||
clr.AddReference("Kingdee.BOS.DataEntity")
|
||||
clr.AddReference("Kingdee.BOS.App")
|
||||
clr.AddReference("Kingdee.BOS.Contracts")
|
||||
from Kingdee.BOS import *
|
||||
from Kingdee.BOS.Contracts import *
|
||||
from Kingdee.BOS.Contracts.Report import *
|
||||
from Kingdee.BOS.Core import *
|
||||
from Kingdee.BOS.Core.Metadata import *
|
||||
from Kingdee.BOS.Core.Report import *
|
||||
from Kingdee.BOS.Core.Report.PlugIn import *
|
||||
from Kingdee.BOS.Core.Report.PlugIn.Args import *
|
||||
from Kingdee.BOS.Core.SqlBuilder import *
|
||||
from Kingdee.BOS.App.Data import *
|
||||
from Kingdee.BOS.Orm.DataEntity import *
|
||||
from Kingdee.BOS.Util import *
|
||||
from System import *
|
||||
from System.ComponentModel import *
|
||||
from System.Collections.Generic import *
|
||||
from System.Text import *
|
||||
|
||||
#忽略系统公共参数隐藏尾零,格式化小数字段为两位小数
|
||||
def FormatCellValue(args):
|
||||
if (args.Header.ColType == SqlStorageType.SqlDecimal):
|
||||
value = Decimal.Parse(args.FormateValue)
|
||||
afterValue = value.ToString("N")
|
||||
args.FormateValue = afterValue
|
||||
@ -75,17 +75,17 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
|
||||
header.AddChild("K3发货金额", new LocaleValue("K3发货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("星空发货数量", new LocaleValue("星空发货数量"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("星空发货金额", new LocaleValue("星空发货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ShipmentsAmount", new LocaleValue("发货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ShipmentsAmount", new LocaleValue("总发货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("K3退货数量", new LocaleValue("K3退货数量"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("K3退货金额", new LocaleValue("K3退货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("星空退货数量", new LocaleValue("星空退货数量"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("星空退货金额", new LocaleValue("星空退货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("FBillAllAmount", new LocaleValue("退货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("PPBillingDate", new LocaleValue("普票开票日期"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("PPFALLAmountFor", new LocaleValue("普票开票金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ZPBillingDate", new LocaleValue("专票开票日期"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("ZPFALLAmountFor", new LocaleValue("专票开票金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("FALLAMOUNTFOR", new LocaleValue("开票金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("FBillAllAmount", new LocaleValue("总退货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("PPBillingDate", new LocaleValue("星空普票开票日期"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("PPFALLAmountFor", new LocaleValue("星空普票开票金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ZPBillingDate", new LocaleValue("星空专票开票日期"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("ZPFALLAmountFor", new LocaleValue("星空专票开票金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("FALLAMOUNTFOR", new LocaleValue("总开票金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("PaymentAmount", new LocaleValue("回款金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ShippedDebt", new LocaleValue("已出货欠款"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("InvoicedDebt", new LocaleValue("已开票欠款"), SqlStorageType.SqlDecimal);
|
||||
|
||||
@ -81,20 +81,20 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
|
||||
header.AddChild("K3发货金额", new LocaleValue("K3发货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("星空发货数量", new LocaleValue("星空发货数量"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("星空发货金额", new LocaleValue("星空发货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ShipmentsNum", new LocaleValue("发货数量"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ShipmentsAmount", new LocaleValue("发货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ShipmentsNum", new LocaleValue("总发货数量"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ShipmentsAmount", new LocaleValue("总发货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ReturnDate", new LocaleValue("退货日期"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("K3退货数量", new LocaleValue("K3退货数量"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("K3退货金额", new LocaleValue("K3退货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("星空退货数量", new LocaleValue("星空退货数量"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("星空退货金额", new LocaleValue("星空退货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ReturnNum", new LocaleValue("退货数量"), SqlStorageType.SqlInt);
|
||||
header.AddChild("ReturnAmount", new LocaleValue("退货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("PPBillingDate", new LocaleValue("普票开票日期"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("PPBillingAmount", new LocaleValue("普票开票金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ZPBillingDate", new LocaleValue("专票开票日期"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("ZPBillingAmount", new LocaleValue("专票开票金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("BillingAmount", new LocaleValue("开票金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ReturnNum", new LocaleValue("总退货数量"), SqlStorageType.SqlInt);
|
||||
header.AddChild("ReturnAmount", new LocaleValue("总退货金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("PPBillingDate", new LocaleValue("星空普票开票日期"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("PPBillingAmount", new LocaleValue("星空普票开票金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ZPBillingDate", new LocaleValue("星空专票开票日期"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("ZPBillingAmount", new LocaleValue("星空专票开票金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("BillingAmount", new LocaleValue("总开票金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("PaymentDate", new LocaleValue("回款日期"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("PaymentAmount", new LocaleValue("回款金额"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("ShippedDebt", new LocaleValue("已出货欠款"), SqlStorageType.SqlDecimal);
|
||||
@ -257,7 +257,8 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
|
||||
{
|
||||
fState = "未完结订单";
|
||||
}
|
||||
|
||||
//是否月结客户
|
||||
var SFQJFWDZ = customFilter["F_ALL_GROUP2"]?.ToString();
|
||||
//这里是报表页面的标识
|
||||
reportTitles.AddTitle("FState", fGROUP == null ? "" : fState);
|
||||
reportTitles.AddTitle("FClient", fClientList == null ? "" : fClientList);
|
||||
@ -266,6 +267,7 @@ namespace Pilot.Report.Exploitation.AccountsReceivableStatements
|
||||
reportTitles.AddTitle("FProject", fProjectList == null ? "" : string.Join(",", fProjectList));
|
||||
reportTitles.AddTitle("F_ZZHTH", ZZHTH == null ? "" : ZZHTH);
|
||||
reportTitles.AddTitle("F_XSY", XSYFID == null ? "" : XSYFID);
|
||||
reportTitles.AddTitle("F_SFYJKH", SFQJFWDZ == null ? "" : SFQJFWDZ);
|
||||
}
|
||||
return reportTitles;
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@ using Kingdee.BOS.Core;
|
||||
using Kingdee.BOS.Core.CommonFilter.ConditionVariableAnalysis;
|
||||
using Kingdee.BOS.Core.DynamicForm;
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
|
||||
using Kingdee.BOS.Core.List;
|
||||
using Kingdee.BOS.Core.Metadata.FormElement;
|
||||
using Kingdee.BOS.Core.Report;
|
||||
using Kingdee.BOS.Core.Report.PlugIn;
|
||||
@ -118,6 +119,9 @@ namespace Pilot.Report.Exploitation.AccountsReceivable
|
||||
cellStyle2.BorderLeft = BorderStyle.Thin;
|
||||
cellStyle2.BorderRight = BorderStyle.Thin;
|
||||
|
||||
//垂直居中
|
||||
cellStyle2.VerticalAlignment = VerticalAlignment.Center;
|
||||
|
||||
// 创建单元格样式---------------------------------------
|
||||
ICellStyle style = workbook.CreateCellStyle();
|
||||
|
||||
@ -218,15 +222,33 @@ namespace Pilot.Report.Exploitation.AccountsReceivable
|
||||
style2.SetFont(font2);
|
||||
int n = 14;
|
||||
|
||||
string GroupCONTRACTNUMBER = "";
|
||||
int GroupIndex = 13;
|
||||
int GroupCount = 0;
|
||||
int j = 13;
|
||||
|
||||
for (var i = 0; i < list.Count; i++)
|
||||
{
|
||||
//不导出待核销
|
||||
if (list[i]["Number"].ToString() == "待核销")
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
string date = string.IsNullOrWhiteSpace(list[i]["DATE"].ToString()) ? "" : list[i]["DATE"].ToString().Split(' ')[0];
|
||||
string ShipmentsDate = string.IsNullOrWhiteSpace(list[i]["ShipmentsDate"].ToString()) ? "" : list[i]["ShipmentsDate"].ToString().Split(' ')[0];
|
||||
string PaymentDate = string.IsNullOrWhiteSpace(list[i]["PaymentDate"].ToString()) ? "" : list[i]["PaymentDate"].ToString().Split(' ')[0];
|
||||
string BillingDate = string.IsNullOrWhiteSpace(list[i]["ZPBillingDate"].ToString()) ? "" : list[i]["ZPBillingDate"].ToString().Split(' ')[0];
|
||||
string ReturnDate = string.IsNullOrWhiteSpace(list[i]["ReturnDate"].ToString()) ? "" : list[i]["ReturnDate"].ToString().Split(' ')[0];
|
||||
|
||||
IRow rowi = sheet.CreateRow(13 + i);
|
||||
//将合计行放到最下方
|
||||
IRow rowi = sheet.CreateRow(j + i);
|
||||
if (list[i]["Number"].ToString() == "合计")
|
||||
{
|
||||
rowi = sheet.CreateRow(j + list.Count-2);
|
||||
j = 12;
|
||||
}
|
||||
|
||||
ICell c1 = rowi.CreateCell(0); c1.SetCellValue(list[i]["Number"].ToString()); c1.CellStyle = cellStyle;
|
||||
ICell c2 = rowi.CreateCell(1); c2.SetCellValue(""+date+""); c2.CellStyle = cellStyle2;
|
||||
ICell c3 = rowi.CreateCell(2); c3.SetCellValue(list[i]["CONTRACTNUMBER"].ToString()); c3.CellStyle = cellStyle2;
|
||||
@ -327,6 +349,70 @@ namespace Pilot.Report.Exploitation.AccountsReceivable
|
||||
ICell c22 = rowi.CreateCell(21); c22.SetCellValue(list[i]["IsEnded"].ToString()); c22.CellStyle = cellStyle2;
|
||||
ICell c23 = rowi.CreateCell(22); c23.SetCellValue(list[i]["Remark"].ToString()); c23.CellStyle = cellStyle2;
|
||||
n++;
|
||||
|
||||
//根据订单号分组合并单元格
|
||||
if(list[i]["CONTRACTNUMBER"].ToString() != GroupCONTRACTNUMBER || i == list.Count-2)
|
||||
{
|
||||
int k = (i == list.Count - 2) ? 0 : 1;
|
||||
if (GroupCount > 1)
|
||||
{
|
||||
// 创建CellRangeAddress对象
|
||||
CellRangeAddress cellRangeAddress = new CellRangeAddress(GroupIndex, j + i - k, 1, 1);
|
||||
CellRangeAddress cellRangeAddress2 = new CellRangeAddress(GroupIndex, j + i - k, 2, 2);
|
||||
CellRangeAddress cellRangeAddress3 = new CellRangeAddress(GroupIndex, j + i - k, 3, 3);
|
||||
|
||||
CellRangeAddress cellRangeAddress8 = new CellRangeAddress(GroupIndex, j + i - k, 8, 8);
|
||||
CellRangeAddress cellRangeAddress9 = new CellRangeAddress(GroupIndex, j + i - k, 9, 9);
|
||||
|
||||
CellRangeAddress cellRangeAddress15 = new CellRangeAddress(GroupIndex, j + i - k, 15, 15);
|
||||
CellRangeAddress cellRangeAddress16 = new CellRangeAddress(GroupIndex, j + i - k, 16, 16);
|
||||
CellRangeAddress cellRangeAddress17 = new CellRangeAddress(GroupIndex, j + i - k, 17, 17);
|
||||
CellRangeAddress cellRangeAddress18 = new CellRangeAddress(GroupIndex, j + i - k, 18, 18);
|
||||
CellRangeAddress cellRangeAddress19 = new CellRangeAddress(GroupIndex, j + i - k, 19, 19);
|
||||
CellRangeAddress cellRangeAddress20 = new CellRangeAddress(GroupIndex, j + i - k, 20, 20);
|
||||
CellRangeAddress cellRangeAddress21 = new CellRangeAddress(GroupIndex, j + i - k, 21, 21);
|
||||
|
||||
// 检查并移除重叠的合并区域
|
||||
RemoveOverlappingMergedRegions(sheet, cellRangeAddress);
|
||||
RemoveOverlappingMergedRegions(sheet, cellRangeAddress2);
|
||||
RemoveOverlappingMergedRegions(sheet, cellRangeAddress3);
|
||||
|
||||
RemoveOverlappingMergedRegions(sheet, cellRangeAddress8);
|
||||
RemoveOverlappingMergedRegions(sheet, cellRangeAddress9);
|
||||
|
||||
RemoveOverlappingMergedRegions(sheet, cellRangeAddress15);
|
||||
RemoveOverlappingMergedRegions(sheet, cellRangeAddress16);
|
||||
RemoveOverlappingMergedRegions(sheet, cellRangeAddress17);
|
||||
RemoveOverlappingMergedRegions(sheet, cellRangeAddress18);
|
||||
RemoveOverlappingMergedRegions(sheet, cellRangeAddress19);
|
||||
RemoveOverlappingMergedRegions(sheet, cellRangeAddress20);
|
||||
RemoveOverlappingMergedRegions(sheet, cellRangeAddress21);
|
||||
|
||||
// 合并单元格
|
||||
sheet.AddMergedRegion(cellRangeAddress);
|
||||
sheet.AddMergedRegion(cellRangeAddress2);
|
||||
sheet.AddMergedRegion(cellRangeAddress3);
|
||||
|
||||
sheet.AddMergedRegion(cellRangeAddress8);
|
||||
sheet.AddMergedRegion(cellRangeAddress9);
|
||||
|
||||
sheet.AddMergedRegion(cellRangeAddress15);
|
||||
sheet.AddMergedRegion(cellRangeAddress16);
|
||||
sheet.AddMergedRegion(cellRangeAddress17);
|
||||
sheet.AddMergedRegion(cellRangeAddress18);
|
||||
sheet.AddMergedRegion(cellRangeAddress19);
|
||||
sheet.AddMergedRegion(cellRangeAddress20);
|
||||
sheet.AddMergedRegion(cellRangeAddress21);
|
||||
}
|
||||
GroupCONTRACTNUMBER = list[i]["CONTRACTNUMBER"].ToString();
|
||||
GroupIndex = j + i;
|
||||
GroupCount = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
GroupCount++;
|
||||
}
|
||||
|
||||
if(list[i]["Number"].ToString() == "合计")
|
||||
{
|
||||
c1.CellStyle = style3;
|
||||
@ -540,7 +626,8 @@ namespace Pilot.Report.Exploitation.AccountsReceivable
|
||||
sheet.AddMergedRegion(cellRangeAddress2);
|
||||
sheet.AddMergedRegion(cellRangeAddress3);
|
||||
}
|
||||
|
||||
//移除第二个工作表
|
||||
workbook.RemoveSheetAt(1);
|
||||
#endregion
|
||||
|
||||
#region Excel代码2
|
||||
|
||||
@ -76,8 +76,8 @@ namespace GZ_LTHReportForms.YeJiPaiHangBang
|
||||
header.AddChild("职位名称", new LocaleValue("职位名称"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("姓名", new LocaleValue("姓名"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("入司时间1", new LocaleValue("入司时间"), SqlStorageType.SqlDatetime);
|
||||
header.AddChild("担任本职位日期1", new LocaleValue("担任本职位日期"), SqlStorageType.SqlDatetime);
|
||||
header.AddChild("担任销售日期1", new LocaleValue("担任销售日期"), SqlStorageType.SqlDatetime);
|
||||
//header.AddChild("担任本职位日期1", new LocaleValue("担任本职位日期"), SqlStorageType.SqlDatetime);
|
||||
//header.AddChild("担任销售日期1", new LocaleValue("担任销售日期"), SqlStorageType.SqlDatetime);
|
||||
header.AddChild("入职年限", new LocaleValue("入职年限"), SqlStorageType.Sqlvarchar);
|
||||
header.AddChild("派诺集团_已进行集团业绩调整_含往年订单变更", new LocaleValue("派诺集团-已进行集团业绩调整(含往年订单变更)"), SqlStorageType.SqlDecimal);
|
||||
header.AddChild("派诺业绩_含往年订单变更", new LocaleValue("派诺业绩(含往年订单变更)"), SqlStorageType.SqlDecimal);
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
ALTER PROCEDURE GZYJPHB_TH
|
||||
|
||||
|
||||
ALTER PROCEDURE [dbo].[GZYJPHB_TH]
|
||||
@FSDate NVARCHAR(50),
|
||||
@FEDate NVARCHAR(50),
|
||||
@FSaleOrgId nvarchar(1000)
|
||||
@ -10,7 +12,9 @@ DECLARE @SixYearsAgoYear INT;
|
||||
DECLARE @FEDateDate DATE = CAST(@FEDate AS DATE);
|
||||
|
||||
DECLARE @FSDateDate DATE = CAST(@FSDate AS DATE);
|
||||
|
||||
|
||||
-- 结束日期加一天
|
||||
set @FEDate = CASE @FEDate WHEN '' THEN '' ELSE FORMAT(DateAdd(DAY,1,CAST(@FEDate AS Date)),'yyyy-MM-dd') END
|
||||
-- 提取年份
|
||||
SET @Year = YEAR(@FSDate) - 1;
|
||||
|
||||
@ -44,23 +48,26 @@ TRUNCATE TABLE YJPHB_GZTH
|
||||
SELECT A.FID AS FID
|
||||
INTO #TEMP3
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_BD_CUSTOMER_L C ON C.FCUSTID= A.FCUSTID AND C.FLOCALEID= 2052
|
||||
INNER JOIN T_BD_CUSTOMER_L C ON C.FCUSTID= A.FCUSTID AND C.FLOCALEID= 2052
|
||||
INNER JOIN T_BD_CUSTOMER D ON C.FCUSTID= D.FCUSTID
|
||||
LEFT JOIN V_BD_SALESMAN_L L ON L.fid = A.FSALERID
|
||||
left JOIN T_PerformanceSharing M ON M.FSOURCEBILLNO = A.FBILLNO AND M.FDOCUMENTSTATUS = 'C'
|
||||
left JOIN T_PerformanceSharingEntry N ON N.FID=M.FID
|
||||
LEFT JOIN V_BD_SALESMAN_L O ON O.fid= N.FSALEID
|
||||
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.名称=O.FNAME
|
||||
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACL ON ACL.名称=L.FNAME
|
||||
WHERE A.FSALEORGID = 100302 AND
|
||||
ACO.区域 = '碳索智控'
|
||||
WHERE 1=1
|
||||
--AND A.FSALEORGID = 100302
|
||||
AND (ACO.区域 = '碳索智控'
|
||||
OR ACL.区域 = '碳索智控'
|
||||
OR C.FNAME IN ('派诺科技(香港)有限公司','武汉派诺科技发展有限公司','客户-样机使用'
|
||||
,'珠海华夏云联技术有限公司','珠海兴诺能源技术有限公司','广东碳索智控科技有限公司','广东诺瓦数能科技有限公司')
|
||||
OR (C.FCUSTID = 1150173 AND (ACO.区域 = '决策团队' OR ACL.区域 = '决策团队'))
|
||||
OR L.FNAME = '兴诺总'
|
||||
OR A.FID IN (110185,207800)
|
||||
AND (ISNULL(@FSDate,'') = '' or FORMAT(A.FDate,'yyyy-MM-dd') > @FSDate)
|
||||
AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FDate,'yyyy-MM-dd')< @FEDate)
|
||||
OR A.FID IN (110185,207800)
|
||||
OR D.F_correlation = 1)
|
||||
AND (ISNULL(@FSDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') > @FSDate)
|
||||
AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd')< @FEDate)
|
||||
|
||||
--查询六年前的销售订单总额
|
||||
SELECT
|
||||
@ -82,28 +89,147 @@ TRUNCATE TABLE YJPHB_GZTH
|
||||
LEFT JOIN V_BD_SALESMAN_L O ON O.fid= N.FSALEID
|
||||
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.名称=O.FNAME AND ISNULL(ACO.明细区域,'') != ''
|
||||
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACL ON ACL.名称=L.FNAME AND ISNULL(ACL.明细区域,'') != ''
|
||||
WHERE
|
||||
1=1 AND
|
||||
A.FID NOT IN(
|
||||
SELECT FID FROM #TEMP3
|
||||
)
|
||||
WHERE 1=1
|
||||
AND A.FID NOT IN(SELECT FID FROM #TEMP3)
|
||||
AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM SalesIDTable))
|
||||
AND (ISNULL(@FSDate,'') = '' or FORMAT(A.FDate,'yyyy') >= @SixYearsAgoYear)
|
||||
AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FDate,'yyyy') <= @Year)
|
||||
AND (ISNULL(@FSDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy') >= @SixYearsAgoYear)
|
||||
AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy') <= @Year)
|
||||
AND A.FDocumentStatus = 'C'
|
||||
AND A.FManualClose <> '1'
|
||||
AND B.FManualRowClose <> '1'
|
||||
AND A.F_contractnumber NOT LIKE 'Z%'
|
||||
|
||||
--全组织根据日期显示订单金额
|
||||
SELECT
|
||||
----全组织根据日期显示订单金额
|
||||
-- SELECT
|
||||
-- A.FSALEORGID AS '组织FID',
|
||||
-- CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.区域 ELSE ACO.区域 END AS '部门(SBU)',
|
||||
-- CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.明细区域 ELSE ACO.明细区域 END AS '区域明细',
|
||||
-- CASE WHEN ISNULL(O.FNAME,'')='' THEN L.FNAME ELSE O.FNAME END AS '销售员',
|
||||
-- CASE WHEN n.FSHARERATE IS NULL THEN ROUND(F.FALLAMOUNT_LC,10)
|
||||
-- ELSE ROUND( F.FALLAMOUNT_LC * (n.FSHARERATE/100) ,10) END as '订单业绩'
|
||||
-- INTO #TEMP1
|
||||
-- FROM T_SAL_ORDER A --销售订单表头
|
||||
-- INNER JOIN T_SAL_orderentry b on a.FID = B.FID --销售订单表体
|
||||
-- INNER JOIN T_SAL_ORDERENTRY_F F ON F.FENTRYID = B.FENTRYID
|
||||
-- INNER JOIN T_SAL_ORDERENTRY_R AR ON AR.FENTRYID = B.FENTRYID
|
||||
-- LEFT JOIN V_BD_SALESMAN_L L ON L.fid = A.FSALERID
|
||||
-- left JOIN T_PerformanceSharing M ON M.FSOURCEBILLNO = A.FBILLNO AND M.FDOCUMENTSTATUS = 'C'
|
||||
-- left JOIN T_PerformanceSharingEntry N ON N.FID=M.FID
|
||||
-- LEFT JOIN V_BD_SALESMAN_L O ON O.fid= N.FSALEID
|
||||
-- LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.名称=O.FNAME AND ISNULL(ACO.明细区域,'') != ''
|
||||
-- LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACL ON ACL.名称=L.FNAME AND ISNULL(ACL.明细区域,'') != ''
|
||||
-- WHERE 1=1
|
||||
-- AND A.FID NOT IN(SELECT FID FROM #TEMP3)
|
||||
-- AND(@FSaleOrgId = '' Or A.FSALEORGID IN(SELECT SalesID FROM SalesIDTable))
|
||||
-- AND (ISNULL(@FSDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') >= @FSDate)
|
||||
-- AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') < @FEDate)
|
||||
-- AND A.FDocumentStatus = 'C'
|
||||
-- AND A.FManualClose <> '1'
|
||||
-- AND B.FManualRowClose <> '1'
|
||||
-- AND A.F_contractnumber NOT LIKE 'Z%'
|
||||
|
||||
-- --查询全组织的订单变更金额
|
||||
-- SELECT
|
||||
-- A.FSaleOrgId AS '组织FID'
|
||||
-- ,CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.区域 ELSE ACO.区域 END AS '部门(SBU)'
|
||||
-- ,CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.明细区域 ELSE ACO.明细区域 END AS '区域明细'
|
||||
-- ,CASE WHEN ISNULL(O.FNAME,'')='' THEN XS_L.FNAME
|
||||
-- ELSE O.FNAME END AS '销售员'
|
||||
-- ,CAST(AN.FBillAllAmount_LC - A.F_Amountstar AS DECIMAL(20, 10)) AS '变更金额'
|
||||
-- ,A.F_CONTRACTNUMBER as '纸质合同号'
|
||||
-- ,A.fbillno as '销售订单号'
|
||||
-- INTO #BGTEMP1
|
||||
-- FROM T_SAL_ORDER A
|
||||
-- LEFT JOIN T_SAL_ORDERFIN AN ON A.FID = AN.FID --关联销售订单财务明细,获取变更后合同金额
|
||||
-- LEFT JOIN V_BD_SALESMAN XS ON XS.fid = A.FSalerId
|
||||
-- LEFT JOIN V_BD_SALESMAN_L XS_L ON XS_L.fid = XS.fid --关联销售员数据模型,获取销售员名称
|
||||
-- left JOIN T_PerformanceSharing M ON M.FSOURCEBILLNO = A.FBILLNO AND M.FDOCUMENTSTATUS = 'C'
|
||||
-- left JOIN T_PerformanceSharingEntry N ON N.FID=M.FID --关联业绩分摊单,获取分摊比例
|
||||
-- LEFT JOIN V_BD_SALESMAN_L O ON O.fid= N.FSALEID --获取业绩分摊单的销售员,关联销售员表
|
||||
-- LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.名称=O.FNAME AND ISNULL(ACO.明细区域,'') != ''
|
||||
-- LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACL ON ACL.名称=XS_L.FNAME AND ISNULL(ACL.明细区域,'') != ''
|
||||
-- INNER JOIN T_SEC_USER TU ON A.FChangerId = TU.FUSERID -- 用户单关联表体,获取变更人人
|
||||
-- WHERE 1=1
|
||||
-- AND A.FID NOT IN(SELECT FID FROM #TEMP3)
|
||||
-- AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM SalesIDTable))
|
||||
-- AND (ISNULL(@FSDate,'') = '' OR FORMAT(A.FCHANGEDATE,'yyyy-MM-dd') >= @FSDate)
|
||||
-- AND (ISNULL(@FSDate,'') = '' OR FORMAT(A.FCHANGEDATE,'yyyy-MM-dd') < @FEDate)
|
||||
-- --AND FORMAT(A.FDATE,'yyyy') != FORMAT(A.FCHANGEDATE,'yyyy')
|
||||
-- AND A.F_contractnumber NOT LIKE 'Z%'
|
||||
-- AND A.FManualClose <> '1'
|
||||
-- AND (A.F_HSYJ <> '0' OR FORMAT(A.F_HSRQ,'yyyy') != FORMAT(A.FChangeDate,'yyyy'))
|
||||
-- AND TU.FNAME NOT LIKE 'ERP%' AND TU.FNAME NOT LIKE '13570668909'
|
||||
|
||||
|
||||
/*时间段内最后一个版本的变更单,且原单为今年审核 */
|
||||
SELECT ROW_NUMBER() OVER(PARTITION BY FPKIDX ORDER BY AL.FCHANGEDATE DESC) AS 'rn',
|
||||
AL.FID
|
||||
INTO #TEMP5
|
||||
FROM T_SAL_XORDER AL
|
||||
INNER JOIN T_SAL_ORDER A ON A.FID = AL.FPKIDX
|
||||
INNER JOIN T_SEC_USER TU ON AL.FCHANGERID = TU.FUSERID -- 用户单关联表体,获取变更人人
|
||||
WHERE 1=1
|
||||
AND A.FID NOT IN(SELECT FID FROM #TEMP3)
|
||||
AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM SalesIDTable))
|
||||
AND (ISNULL(@FSDate,'') = '' OR FORMAT(AL.FCHANGEDATE,'yyyy-MM-dd') >= @FSDate)
|
||||
AND (ISNULL(@FSDate,'') = '' OR FORMAT(AL.FCHANGEDATE,'yyyy-MM-dd') < @FEDate)
|
||||
AND (ISNULL(@FSDate,'') = '' OR FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') >= FORMAT(CAST(@FSDate AS DATE),'yyyy-01-01'))
|
||||
AND A.F_contractnumber NOT LIKE 'Z%'
|
||||
AND AL.FDOCUMENTSTATUS = 'C'
|
||||
AND A.FManualClose <> '1'
|
||||
AND (A.F_HSYJ <> '0' OR FORMAT(A.F_HSRQ,'yyyy') != FORMAT(A.FChangeDate,'yyyy'))
|
||||
AND TU.FNAME NOT LIKE 'ERP%' AND TU.FNAME NOT LIKE '13570668909'
|
||||
|
||||
DELETE FROM #TEMP5 WHERE rn > 1
|
||||
|
||||
--查询全组织的当前时间段最后版本订单变更后金额,且原单为今年审核
|
||||
SELECT
|
||||
A.FSaleOrgId AS '组织FID'
|
||||
,CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.区域 ELSE ACO.区域 END AS '部门(SBU)'
|
||||
,CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.明细区域 ELSE ACO.明细区域 END AS '区域明细'
|
||||
,CASE WHEN ISNULL(O.FNAME,'')='' THEN XS_L.FNAME
|
||||
ELSE O.FNAME END AS '销售员'
|
||||
,CASE WHEN n.FSHARERATE IS NULL THEN CAST(ROUND(AN.FBillAllAmount_LC, 2) AS DECIMAL(20,10))
|
||||
ELSE CAST(ROUND(AN.FBillAllAmount_LC * (n.FSHARERATE/100),2) AS DECIMAL(20, 10)) END AS '订单业绩'
|
||||
--,CAST(AN.FBillAllAmount_LC AS DECIMAL(20, 10)) AS '订单业绩'
|
||||
,A.F_CONTRACTNUMBER AS '纸质合同号'
|
||||
,A.fbillno AS '销售订单号'
|
||||
,AL.FPKIDX AS '销售订单FID'
|
||||
INTO #TEMP4
|
||||
FROM T_SAL_XORDER AL
|
||||
--LEFT JOIN T_SAL_ORDERFIN AN ON A.FID = AN.FID --关联销售订单财务明细,获取变更后合同金额
|
||||
LEFT JOIN T_SAL_ORDER A ON A.FID = AL.FPKIDX
|
||||
LEFT JOIN T_SAL_XORDERFIN AN ON AN.FID = AL.FID --关联销售新变更单财务信息,获取变更后合同金额
|
||||
LEFT JOIN V_BD_SALESMAN XS ON XS.fid = A.FSalerId
|
||||
LEFT JOIN V_BD_SALESMAN_L XS_L ON XS_L.fid = XS.fid --关联销售员数据模型,获取销售员名称
|
||||
left JOIN T_PerformanceSharing M ON M.FSOURCEBILLNO = A.FBILLNO AND M.FDOCUMENTSTATUS = 'C'
|
||||
left JOIN T_PerformanceSharingEntry N ON N.FID=M.FID --关联业绩分摊单,获取分摊比例
|
||||
LEFT JOIN V_BD_SALESMAN_L O ON O.fid= N.FSALEID --获取业绩分摊单的销售员,关联销售员表
|
||||
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.名称=O.FNAME AND ISNULL(ACO.明细区域,'') != ''
|
||||
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACL ON ACL.名称=XS_L.FNAME AND ISNULL(ACL.明细区域,'') != ''
|
||||
INNER JOIN T_SEC_USER TU ON A.FChangerId = TU.FUSERID -- 用户单关联表体,获取变更人人
|
||||
WHERE 1=1
|
||||
AND AL.FDOCUMENTSTATUS = 'C'
|
||||
AND AL.FID IN (SELECT FID FROM #TEMP5)
|
||||
|
||||
SELECT *
|
||||
INTO #TEMP1 FROM(
|
||||
--当前时间段最后版本的变更单变更后
|
||||
SELECT * FROM #TEMP4
|
||||
UNION ALL
|
||||
--当前时间段无变更的订单
|
||||
SELECT
|
||||
A.FSALEORGID AS '组织FID',
|
||||
CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.区域 ELSE ACO.区域 END AS '部门(SBU)',
|
||||
CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.明细区域 ELSE ACO.明细区域 END AS '区域明细',
|
||||
CASE WHEN ISNULL(O.FNAME,'')='' THEN L.FNAME ELSE O.FNAME END AS '销售员',
|
||||
CASE WHEN n.FSHARERATE IS NULL THEN ROUND(F.FALLAMOUNT_LC,10)
|
||||
ELSE ROUND( F.FALLAMOUNT_LC * (n.FSHARERATE/100) ,10) END as '订单业绩'
|
||||
INTO #TEMP1
|
||||
CASE WHEN n.FSHARERATE IS NULL THEN CAST(ROUND(F.FALLAMOUNT_LC, 2) AS DECIMAL(20,10))
|
||||
ELSE CAST(ROUND( F.FALLAMOUNT_LC * (n.FSHARERATE/100) ,2) AS DECIMAL(20,10)) END as '订单业绩'
|
||||
--,CASE WHEN n.FSHARERATE IS NULL THEN 0 ELSE ROUND( F.FALLAMOUNT_LC * (n.FSHARERATE/100) ,10) END as '分摊金额'
|
||||
--,CASE WHEN n.FSHARERATE IS NULL THEN ROUND(F.FALLAMOUNT_LC,10) ELSE 0 END as '无分摊金额'
|
||||
,A.F_CONTRACTNUMBER as '纸质合同号'
|
||||
,A.fbillno as '销售订单号'
|
||||
,A.FID as '销售订单FID'
|
||||
FROM T_SAL_ORDER A --销售订单表头
|
||||
INNER JOIN T_SAL_orderentry b on a.FID = B.FID --销售订单表体
|
||||
INNER JOIN T_SAL_ORDERENTRY_F F ON F.FENTRYID = B.FENTRYID
|
||||
@ -113,31 +239,62 @@ TRUNCATE TABLE YJPHB_GZTH
|
||||
left JOIN T_PerformanceSharingEntry N ON N.FID=M.FID
|
||||
LEFT JOIN V_BD_SALESMAN_L O ON O.fid= N.FSALEID
|
||||
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.名称=O.FNAME AND ISNULL(ACO.明细区域,'') != ''
|
||||
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACL ON ACL.名称=L.FNAME AND ISNULL(ACL.明细区域,'') != ''
|
||||
WHERE
|
||||
1=1 AND
|
||||
A.FID NOT IN(
|
||||
SELECT FID FROM #TEMP3
|
||||
)
|
||||
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACL ON ACL.名称=L.FNAME AND ISNULL(ACL.明细区域,'') != ''
|
||||
WHERE 1=1
|
||||
AND A.FID NOT IN(SELECT FID FROM #TEMP3)
|
||||
AND A.FID NOT IN(SELECT 销售订单FID FROM #TEMP4)
|
||||
AND(@FSaleOrgId = '' Or A.FSALEORGID IN(SELECT SalesID FROM SalesIDTable))
|
||||
AND (ISNULL(@FSDate,'') = '' or FORMAT(A.FDate,'yyyy-MM-dd') >= @FSDate)
|
||||
AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FDate,'yyyy-MM-dd') <= @FEDate)
|
||||
AND (ISNULL(@FSDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') >= @FSDate)
|
||||
AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') < @FEDate)
|
||||
AND A.FDocumentStatus = 'C'
|
||||
AND A.FManualClose <> '1'
|
||||
AND B.FManualRowClose <> '1'
|
||||
AND A.F_contractnumber NOT LIKE 'Z%'
|
||||
|
||||
--查询全组织的订单变更金额
|
||||
SELECT
|
||||
AND A.F_contractnumber NOT LIKE 'Z%'
|
||||
) a
|
||||
|
||||
/*当年截至结束日期累记变更差额*/
|
||||
SELECT AL.FID,
|
||||
SUM(CAST((
|
||||
ROUND((AM.FQTY * AB.FTAXPRICE - (ISNULL(AM.FQTY,0) * ISNULL(AB.FTAXPRICE,0) * ISNULL(AB.FDISCOUNTRATE,0))/ 100*ISNULL(AN.FEXCHANGERATE,0))/( 1+ FTAXRATE /100 ),2)
|
||||
+ROUND(((ISNULL(AM.FQTY,0) * ISNULL(AB.FTAXPRICE,0) - (ISNULL(AM.FQTY,0) * ISNULL(AB.FTAXPRICE,0) * ISNULL(AB.FDISCOUNTRATE,0)/ 100))/( 1+ FTAXRATE /100 )* (FTAXRATE /100)* ISNULL(AN.FEXCHANGERATE,0) ),2)
|
||||
-ROUND((AM.FQTYX * AB.FTAXPRICEX - (ISNULL(AM.FQTYX,0) * ISNULL(AB.FTAXPRICEX,0) * ISNULL(AB.FDISCOUNTRATEX,0))/ 100*ISNULL(AN.FEXCHANGERATE,0))/( 1+ FTAXRATEX /100 ),2)
|
||||
-ROUND(((ISNULL(AM.FQTYX,0) * ISNULL(AB.FTAXPRICEX,0) - (ISNULL(AM.FQTYX,0) * ISNULL(AB.FTAXPRICEX,0) * ISNULL(AB.FDISCOUNTRATEX,0)/ 100))/( 1+ FTAXRATEX /100 )* (FTAXRATEX /100)* ISNULL(AN.FEXCHANGERATE,0) ),2)) AS DECIMAL(20, 10))) AS '变更金额'
|
||||
INTO #TEMPCHANGEFIN
|
||||
FROM T_SAL_XORDER AL
|
||||
LEFT JOIN T_SAL_ORDER A ON A.FID = AL.FPKIDX
|
||||
LEFT JOIN T_SAL_XORDERFIN AN ON AN.FID = AL.FID --关联销售新变更单财务信息,获取变更后合同金额
|
||||
LEFT JOIN T_SAL_XORDERENTRY AM ON AM.FID = AL.FID
|
||||
LEFT JOIN T_SAL_XORDERENTRY_F AB ON AB.FENTRYID = AM.FENTRYID
|
||||
INNER JOIN T_SEC_USER TU ON AL.FCHANGERID = TU.FUSERID -- 用户单关联表体,获取变更人人
|
||||
WHERE 1=1
|
||||
AND A.FID NOT IN(SELECT FID FROM #TEMP3)
|
||||
AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM SalesIDTable))
|
||||
AND (ISNULL(@FSDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') < FORMAT(CAST(@FSDate AS DATE),'yyyy-01-01'))
|
||||
AND (ISNULL(@FSDate,'') = '' OR FORMAT(AL.FCHANGEDATE,'yyyy-MM-dd') >= FORMAT(CAST(@FSDate AS DATE),'yyyy-01-01'))
|
||||
AND (ISNULL(@FEDate,'') = '' or FORMAT(AL.FCHANGEDATE,'yyyy-MM-dd') < @FEDate)
|
||||
AND A.FManualClose <> '1'
|
||||
AND AL.FDOCUMENTSTATUS = 'C'
|
||||
AND (A.F_HSYJ <> '0' OR FORMAT(A.F_HSRQ,'yyyy') != FORMAT(A.FChangeDate,'yyyy'))
|
||||
AND TU.FNAME NOT LIKE 'ERP%' AND TU.FNAME NOT LIKE '13570668909'
|
||||
GROUP BY AL.FID
|
||||
|
||||
SELECT
|
||||
A.FSaleOrgId AS '组织FID'
|
||||
,CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.区域 ELSE ACO.区域 END AS '部门(SBU)'
|
||||
,CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.明细区域 ELSE ACO.明细区域 END AS '区域明细'
|
||||
,CASE WHEN ISNULL(O.FNAME,'')='' THEN XS_L.FNAME
|
||||
ELSE O.FNAME END AS '销售员'
|
||||
,CAST(AN.FBillAllAmount_LC - A.F_Amountstar AS DECIMAL(20, 10)) AS '变更金额'
|
||||
INTO #BGTEMP1
|
||||
FROM T_SAL_ORDER A
|
||||
LEFT JOIN T_SAL_ORDERFIN AN ON A.FID = AN.FID --关联销售订单财务明细,获取变更后合同金额
|
||||
ELSE O.FNAME END AS '销售员'
|
||||
,CASE WHEN n.FSHARERATE IS NULL THEN ROUND(AN.变更金额,2)
|
||||
ELSE CAST(AN.变更金额 * (n.FSHARERATE/100) AS DECIMAL(10, 2)) END AS '变更金额'
|
||||
,A.F_CONTRACTNUMBER as '纸质合同号'
|
||||
,A.fbillno as '销售订单号'
|
||||
,A.FID as '销售订单FID'
|
||||
,AL.FBILLNO AS '变更单号'
|
||||
INTO #BGTEMP1
|
||||
FROM T_SAL_XORDER AL
|
||||
--LEFT JOIN T_SAL_ORDERFIN AN ON A.FID = AN.FID --关联销售订单财务明细,获取变更后合同金额
|
||||
LEFT JOIN T_SAL_ORDER A ON A.FID = AL.FPKIDX
|
||||
LEFT JOIN #TEMPCHANGEFIN AN ON AL.FID = AN.FID
|
||||
LEFT JOIN V_BD_SALESMAN XS ON XS.fid = A.FSalerId
|
||||
LEFT JOIN V_BD_SALESMAN_L XS_L ON XS_L.fid = XS.fid --关联销售员数据模型,获取销售员名称
|
||||
left JOIN T_PerformanceSharing M ON M.FSOURCEBILLNO = A.FBILLNO AND M.FDOCUMENTSTATUS = 'C'
|
||||
@ -145,19 +302,19 @@ TRUNCATE TABLE YJPHB_GZTH
|
||||
LEFT JOIN V_BD_SALESMAN_L O ON O.fid= N.FSALEID --获取业绩分摊单的销售员,关联销售员表
|
||||
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.名称=O.FNAME AND ISNULL(ACO.明细区域,'') != ''
|
||||
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACL ON ACL.名称=XS_L.FNAME AND ISNULL(ACL.明细区域,'') != ''
|
||||
INNER JOIN T_SEC_USER TU ON A.FChangerId = TU.FUSERID -- 用户单关联表体,获取变更人人
|
||||
WHERE
|
||||
A.FID NOT IN(
|
||||
SELECT FID FROM #TEMP3
|
||||
)
|
||||
AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM SalesIDTable))
|
||||
AND (ISNULL(@FSDate,'') = '' OR FORMAT(A.FDate,'yyyy-MM-dd') <= @FSDate)
|
||||
AND FORMAT(A.FDATE,'yyyy') != FORMAT(A.FDate,'yyyy')
|
||||
AND A.F_contractnumber NOT LIKE 'Z%'
|
||||
AND A.FManualClose <> '1'
|
||||
INNER JOIN T_SEC_USER TU ON AL.FCHANGERID = TU.FUSERID -- 用户单关联表体,获取变更人人
|
||||
WHERE 1=1
|
||||
AND A.FID NOT IN(SELECT FID FROM #TEMP3)
|
||||
AND(@FSaleOrgId = '' Or A.FSALEORGID IN (SELECT SalesID FROM SalesIDTable))
|
||||
AND (ISNULL(@FEDate,'') = '' or FORMAT(A.FAPPROVEDATE,'yyyy-MM-dd') < FORMAT(CAST(@FSDate AS DATE),'yyyy-01-01'))
|
||||
AND (ISNULL(@FSDate,'') = '' OR FORMAT(AL.FCHANGEDATE,'yyyy-MM-dd') >= FORMAT(CAST(@FSDate AS DATE),'yyyy-01-01'))
|
||||
AND (ISNULL(@FEDate,'') = '' or FORMAT(AL.FCHANGEDATE,'yyyy-MM-dd') < @FEDate)
|
||||
AND A.FManualClose <> '1'
|
||||
AND AL.FDOCUMENTSTATUS = 'C'
|
||||
AND (A.F_HSYJ <> '0' OR FORMAT(A.F_HSRQ,'yyyy') != FORMAT(A.FChangeDate,'yyyy'))
|
||||
AND TU.FNAME NOT LIKE 'ERP%' AND TU.FNAME NOT LIKE '13570668909'
|
||||
|
||||
AND TU.FNAME NOT LIKE 'ERP%' AND TU.FNAME NOT LIKE '13570668909'
|
||||
|
||||
|
||||
--插入派诺业绩(含往年订单变更),订单金额
|
||||
INSERT INTO YJPHB_GZTH([部门_SBU],[区域明细],[姓名],[派诺业绩_含往年订单变更])
|
||||
SELECT [部门(SBU)],[区域明细],[销售员],SUM([订单业绩]) AS '订单业绩' FROM #TEMP1 WHERE [组织FID] = 100302 GROUP BY [部门(SBU)],[区域明细],[销售员]
|
||||
@ -424,9 +581,16 @@ GROUP BY B.FNAME
|
||||
|
||||
--对入司时间,担任本职位时间,担任销售日期字段赋值
|
||||
update A
|
||||
SET A.[入司时间] = CONVERT(NVARCHAR(10), B.[就任岗时间], 120),A.[担任本职位日期]= B.[就任岗时间],A.[担任销售日期] = B.[就任岗时间]
|
||||
SET --A.[入司时间] = CONVERT(NVARCHAR(10), B.[就任岗时间], 120),
|
||||
A.[担任本职位日期]= B.[就任岗时间],A.[担任销售日期] = B.[就任岗时间]
|
||||
FROM YJPHB_GZTH A
|
||||
INNER JOIN #DateTEMP3 B ON A.[姓名] = B.[员工姓名]
|
||||
|
||||
update A
|
||||
SET A.[入司时间] = CONVERT(NVARCHAR(10), B.[入司日期], 120)
|
||||
FROM YJPHB_GZTH A
|
||||
INNER JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo B ON A.[姓名] = B.[名称]
|
||||
|
||||
|
||||
--计算表里入职年限字段
|
||||
UPDATE A
|
||||
@ -476,5 +640,5 @@ SET A.[Ŀ
|
||||
FROM YJPHB_GZTH A
|
||||
|
||||
|
||||
DROP TABLE #TEMP1,#TEMP2,#TEMP3,#BGTEMP1,#YGTEMP1,#DateTEMP3,#SKTEMP1,#SKTKTEMP1,#SixYearEMP1
|
||||
DROP TABLE #TEMP1,#TEMP2,#TEMP3,#BGTEMP1,#YGTEMP1,#DateTEMP3,#SKTEMP1,#SKTKTEMP1,#SixYearEMP1,#TEMP4,#TEMP5
|
||||
END;
|
||||
@ -81,7 +81,8 @@ BEGIN
|
||||
SELECT F_CONTRACTNUMBER ZHHTH,FSALEORGID ZZ
|
||||
FROM T_SAL_ORDER
|
||||
WHERE FDOCUMENTSTATUS = 'C'
|
||||
AND 1= @SFQJFWDZ
|
||||
AND FApproveDate < @EndDate
|
||||
AND 1= @SFQJFWDZ
|
||||
)a
|
||||
|
||||
|
||||
@ -107,7 +108,12 @@ BEGIN
|
||||
,tmm.FOldNumber
|
||||
,ROW_NUMBER() OVER(ORDER BY A.FID) AS NUMBER
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_SAL_ORDERFIN AF ON A.FID = AF.FID
|
||||
INNER JOIN (
|
||||
SELECT T1.FID,SUM(T1.FALLAMOUNT) FBillAllAmount
|
||||
FROM T_SAL_ORDERENTRY_F T1
|
||||
INNER JOIN T_SAL_ORDERENTRY T2 ON T1.FENTRYID = T2.FENTRYID AND T2.FRETURNTYPE <> 'RETURN'
|
||||
GROUP BY T1.FID
|
||||
) AF ON A.FID = AF.FID
|
||||
INNER JOIN T_BAS_PREBDONE_L GC ON A.F_projectname = GC.FID
|
||||
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_BD_MATERIAL_L WL_L ON B.FMATERIALID = WL_L.FMATERIALID
|
||||
@ -239,11 +245,21 @@ INNER JOIN (
|
||||
INTO #FHTEMP1
|
||||
FROM #TEMP1
|
||||
GROUP BY 销售订单FID,销售订单FENTRYID
|
||||
|
||||
|
||||
--更新星空发货日期
|
||||
UPDATE A
|
||||
SET ShipmentsDate = B.合并发货日期 --FORMAT( B.发货日期,'yyyy-MM-dd')
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN #TEMP1 B ON A.FID = B.销售订单FID AND A.FENTRYID = B.销售订单FENTRYID
|
||||
|
||||
--更新K3发货日期
|
||||
UPDATE A
|
||||
SET ShipmentsDate = CONCAT(CASE WHEN A.ShipmentsDate IS NULL THEN '' ELSE A.ShipmentsDate+',' END ,B.合并发货日期)
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN T_SAL_ORDERENTRY C ON A.FENTRYID = C.FENTRYID
|
||||
INNER JOIN (SELECT 行号,STUFF((SELECT DISTINCT ','+发货日期 FROM oldk3seorder0701 WHERE 单据编码 = a.单据编码 FOR XML PATH('')),1,1,'') AS '合并发货日期',单据编码
|
||||
from oldk3seorder0701 a) b
|
||||
ON C.F_K3SEQ = b.行号 AND a.FBILLNO=b.[单据编码]
|
||||
|
||||
UPDATE A
|
||||
SET A.星空发货数量 = B.发货数量,A.星空发货金额 = B.发货金额
|
||||
|
||||
@ -71,12 +71,14 @@ BEGIN
|
||||
AND FApproveDate < @EndDate
|
||||
AND (ISNULL(@ZZHTH,'') = '' OR F_PAPERNUMBER = @ZZHTH)
|
||||
AND FDOCUMENTSTATUS = 'C'
|
||||
AND T1.F_SFQC = 0
|
||||
UNION ALL
|
||||
--销售订单
|
||||
SELECT F_CONTRACTNUMBER ZHHTH,FSALEORGID ZZ
|
||||
FROM T_SAL_ORDER
|
||||
WHERE FDOCUMENTSTATUS = 'C'
|
||||
AND 1= @SFQJFWDZ
|
||||
AND FApproveDate < @EndDate
|
||||
AND 1= @SFQJFWDZ
|
||||
)a
|
||||
|
||||
|
||||
@ -102,7 +104,12 @@ BEGIN
|
||||
,tmm.FOldNumber
|
||||
,ROW_NUMBER() OVER(ORDER BY A.FID) AS NUMBER
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_SAL_ORDERFIN AF ON A.FID = AF.FID
|
||||
INNER JOIN (
|
||||
SELECT T1.FID,SUM(T1.FALLAMOUNT) FBillAllAmount
|
||||
FROM T_SAL_ORDERENTRY_F T1
|
||||
INNER JOIN T_SAL_ORDERENTRY T2 ON T1.FENTRYID = T2.FENTRYID AND T2.FRETURNTYPE <> 'RETURN'
|
||||
GROUP BY T1.FID
|
||||
) AF ON A.FID = AF.FID
|
||||
INNER JOIN T_BAS_PREBDONE_L GC ON A.F_projectname = GC.FID
|
||||
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_BD_MATERIAL_L WL_L ON B.FMATERIALID = WL_L.FMATERIALID
|
||||
@ -119,16 +126,17 @@ BEGIN
|
||||
AND B.FRETURNTYPE <> 'RETURN'
|
||||
AND A.FDOCUMENTSTATUS = 'C'
|
||||
|
||||
UPDATE a
|
||||
SET a.[K3发货数量]=b.发货数量,a.[K3发货金额]=b.发货金额,a.[K3退货数量]=b.退货数量
|
||||
,a.[K3退货金额]=b.退货金额--,a.[K3专票金额] = b.专票金额 ,a.[K3普票金额]= b.普票金额
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN T_SAL_ORDERENTRY C ON A.FENTRYID = C.FENTRYID
|
||||
INNER JOIN [oldk3seorder0701] b
|
||||
ON C.F_K3SEQ = b.行号 AND a.FBILLNO=b.[单据编码] --AND a.旧物料编码=[物料编码] AND a.FQty=[数量] AND (ABS(a.FTaxPrice-b.[含税单价])<=0.02 OR ABS(a.FTaxPrice-b.[面价])<=0.02)
|
||||
WHERE 是否K3数据=0
|
||||
AND B.日期 >= @StartDate
|
||||
AND B.日期 < @EndDate
|
||||
/*2025-08-13调整发货数量逻辑,替换该逻辑*/
|
||||
--UPDATE a
|
||||
--SET a.[K3发货数量]=b.发货数量,a.[K3发货金额]=b.发货金额,a.[K3退货数量]=b.退货数量
|
||||
--,a.[K3退货金额]=b.退货金额--,a.[K3专票金额] = b.专票金额 ,a.[K3普票金额]= b.普票金额
|
||||
--FROM YingShouZhanKuanMX_GZTH A
|
||||
--INNER JOIN T_SAL_ORDERENTRY C ON A.FENTRYID = C.FENTRYID
|
||||
--INNER JOIN [oldk3seorder0701] b
|
||||
--ON C.F_K3SEQ = b.行号 AND a.FBILLNO=b.[单据编码] --AND a.旧物料编码=[物料编码] AND a.FQty=[数量] AND (ABS(a.FTaxPrice-b.[含税单价])<=0.02 OR ABS(a.FTaxPrice-b.[面价])<=0.02)
|
||||
--WHERE 是否K3数据=0
|
||||
--AND B.日期 >= @StartDate
|
||||
--AND B.日期 < @EndDate
|
||||
|
||||
--k3专票
|
||||
UPDATE a
|
||||
@ -234,17 +242,44 @@ INNER JOIN (
|
||||
INTO #FHTEMP1
|
||||
FROM #TEMP1
|
||||
GROUP BY 销售订单FID,销售订单FENTRYID
|
||||
|
||||
|
||||
--更新星空发货日期
|
||||
UPDATE A
|
||||
SET ShipmentsDate = B.合并发货日期 --FORMAT( B.发货日期,'yyyy-MM-dd')
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN #TEMP1 B ON A.FID = B.销售订单FID AND A.FENTRYID = B.销售订单FENTRYID
|
||||
|
||||
--更新K3发货日期
|
||||
UPDATE A
|
||||
SET ShipmentsDate = CONCAT(CASE WHEN A.ShipmentsDate IS NULL THEN '' ELSE A.ShipmentsDate+',' END ,B.合并发货日期)
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN T_SAL_ORDERENTRY C ON A.FENTRYID = C.FENTRYID
|
||||
INNER JOIN (SELECT 行号,STUFF((SELECT DISTINCT ','+发货日期 FROM oldk3seorder0701 WHERE 单据编码 = a.单据编码 FOR XML PATH('')),1,1,'') AS '合并发货日期',单据编码
|
||||
from oldk3seorder0701 a) b
|
||||
ON C.F_K3SEQ = b.行号 AND a.FBILLNO=b.[单据编码]
|
||||
|
||||
UPDATE A
|
||||
SET A.星空发货数量 = B.发货数量,A.星空发货金额 = B.发货金额
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN #FHTEMP1 B ON A.FID = B.销售订单FID AND A.FENTRYID = B.销售订单FENTRYID
|
||||
|
||||
/*2025-08-13调整发货数量逻辑"销售订单发货数量取数逻辑,要根据销售订单行数据进行判断:
|
||||
1、如果行在云星空没有关联发货通知单,就取该行关联的中间表发货数量
|
||||
2、如果行在云星空有关联发货通知单,就取该行关联的云星空发货数量+关联的中间表(销售出库数量+其他出库数量)"*/
|
||||
UPDATE a
|
||||
SET a.[K3发货数量]= CASE ISNULL(A.星空发货数量,0) WHEN 0 THEN b.发货数量 ELSE ISNULL(b.销售出库数量,0)+ISNULL(b.其他出库数量,0) END
|
||||
,a.[K3发货金额]= CASE ISNULL(A.星空发货数量,0) WHEN 0 THEN b.发货金额 ELSE (ISNULL(b.销售出库数量,0)+ISNULL(b.其他出库数量,0))*b.含税单价 END
|
||||
,a.[K3退货数量]=b.退货数量
|
||||
,a.[K3退货金额]=b.退货金额
|
||||
FROM YingShouZhanKuanMX_GZTH A
|
||||
INNER JOIN T_SAL_ORDERENTRY C ON A.FENTRYID = C.FENTRYID
|
||||
INNER JOIN [oldk3seorder0701] b
|
||||
ON C.F_K3SEQ = b.行号 AND a.FBILLNO=b.[单据编码]
|
||||
WHERE 是否K3数据=0
|
||||
AND B.日期 >= @StartDate
|
||||
AND B.日期 < @EndDate
|
||||
|
||||
|
||||
--更新发货数量
|
||||
UPDATE A
|
||||
SET A.ShipmentsNum = ISNULL([星空发货数量],0) + ISNULL([K3发货数量],0),A.ShipmentsAmount = ISNULL([星空发货金额],0) + ISNULL([K3发货金额],0)
|
||||
|
||||
@ -276,12 +276,37 @@ BEGIN
|
||||
INNER JOIN T_SAL_OUTSTOCKENTRY_LK J ON J.FENTRYID = G.FSID AND J.FSTABLENAME = 'T_SAL_ORDERENTRY' --销售出库单关联关系表
|
||||
INNER JOIN T_SAL_ORDERENTRY LE ON LE.FENTRYID = J.FSID --销售订单明细表
|
||||
INNER JOIN T_SAL_ORDER L ON L.FID = LE.FID --销售订单表
|
||||
WHERE A.FID IN (SELECT FID FROM YingShouZhanKuanMX_GZTH)
|
||||
WHERE L.FID IN (SELECT FID FROM YingShouZhanKuanMX_GZTH)
|
||||
AND A.FDOCUMENTSTATUS = 'C'
|
||||
AND A.FApproveDate >= @StartDate
|
||||
AND A.FApproveDate < @EndDate
|
||||
AND A.F_SFQC = 0
|
||||
|
||||
|
||||
--无关联关系发票
|
||||
INSERT INTO FPYSDZDMX(XSDDFID,XSDDFENTRYID,FPJSZZ,FPLX,FPRQ,FPFID,FPFENTRYID,KPJE)
|
||||
SELECT DISTINCT
|
||||
L.FID AS '销售订单FID',
|
||||
LE.FENTRYID AS '销售订单FENTRYID',
|
||||
A.FSALEORGID AS '销售组织',
|
||||
A.FBILLTYPEID AS '发票类型',
|
||||
A.FDATE AS '发票日期',
|
||||
A.FID AS '发票FID',
|
||||
B.FENTRYID AS '发票FENTRYID',
|
||||
B.FALLAMOUNTFOR AS '红字发票金额' --价税合计
|
||||
FROM T_IV_SALESIC A
|
||||
INNER JOIN T_IV_SALESICENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_ORDER L ON L.F_CONTRACTNUMBER = A.F_PAPERNUMBER --销售订单表
|
||||
INNER JOIN T_SAL_ORDERENTRY LE ON LE.FSEQ = 1 AND L.FID = LE.FID --销售订单明细表
|
||||
WHERE 1 = 1
|
||||
AND B.FENTRYID NOT IN (SELECT FPFENTRYID FROM FPYSDZDMX)
|
||||
AND L.FID IN (SELECT FID FROM YingShouZhanKuanMX_GZTH)
|
||||
AND A.FDOCUMENTSTATUS = 'C'
|
||||
AND A.FApproveDate >= @StartDate
|
||||
AND A.FApproveDate < @EndDate
|
||||
AND A.F_SFQC = 0
|
||||
|
||||
|
||||
|
||||
--对表的数据进行分组合计
|
||||
SELECT DISTINCT
|
||||
XSDDFID,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user