This commit is contained in:
李狗蛋 2025-04-02 11:11:13 +08:00
parent 539b0cc7c8
commit 9317c0ce22
6 changed files with 154 additions and 480 deletions

View File

@ -135,212 +135,7 @@ namespace GZ_LTHReportForms.YingShouBiao
SQL查询字符串 SQL查询字符串
*/ */
string sql = string.Format(@"/*dialect*/ string sql = string.Format(@"/*dialect*/
DECLARE @ThisDate VARCHAR(1000);
DECLARE @ResultDate VARCHAR(1000);
--
SET @ResultDate = FORMAT(DATEADD(DAY, -1, DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), 0)),'yyyy-MM-dd');
--
SET @ThisDate = FORMAT(GETDATE(),'yyyy-MM-dd')
SELECT W.*,x.FNAME into #RecCond FROM T_SAL_ORDERPLAN W
INNER JOIN T_BD_RecCondition_L X on X.FID = W.F_RecConditionId
SELECT D.FID,sum(b.fqty) AS 'FQTY',sum(E.fallamount) AS 'FAMOUNT'
INTO #SAL
FROM T_SAL_DELIVERYNOTICE A
INNER JOIN T_SAL_DELIVERYNOTICEENTRY B ON A.FID = B.FID
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_F E ON E.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK C ON C.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_ORDERENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID
WHERE A.FDOCUMENTSTATUS= 'C'
GROUP BY D.FID
SELECT D.FID,sum(b.fqty) AS 'FQTY',sum(E.fallamount) AS 'FAMOUNT'
INTO #RETURN
FROM T_SAL_RETURNNOTICE A
INNER JOIN T_SAL_RETURNNOTICEENTRY B ON A.FID = B.FID
INNER JOIN T_SAL_RETURNNOTICEENTRY_F E ON E.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_RETURNNOTICEENTRY_LK C ON C.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_ORDERENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID
WHERE A.FDOCUMENTSTATUS= 'C'
GROUP BY D.FID
SELECT F.FID,sum(b.FREALQTY) AS 'FQTY',sum(G.FALLAMOUNT_LC) AS 'FAMOUNT'
INTO #OUTSTOCK
FROM T_SAL_OUTSTOCK A
INNER JOIN T_SAL_OUTSTOCKENTRY B ON A.FID = B.FID
INNER JOIN T_SAL_OUTSTOCKENTRY_F G ON G.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_OUTSTOCKENTRY_LK C ON C.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_DELIVERYNOTICEENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK E ON E.FENTRYID = D.FENTRYID
INNER JOIN T_SAL_ORDERENTRY F ON F.FID = E.FSBILLID AND F.FENTRYID = E.FSID
WHERE A.FDOCUMENTSTATUS= 'C'
GROUP BY F.FID
SELECT F.FID,sum(b.FREALQTY) AS 'FQTY',sum(G.FALLAMOUNT_LC) AS 'FAMOUNT'
INTO #RETURNSTOCK
FROM T_SAL_RETURNSTOCK A
INNER JOIN T_SAL_RETURNSTOCKENTRY B ON A.FID = B.FID
INNER JOIN T_SAL_RETURNSTOCKENTRY_F G ON G.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_RETURNSTOCKENTRY_LK C ON C.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_RETURNNOTICEENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID
INNER JOIN T_SAL_RETURNNOTICEENTRY_LK E ON E.FENTRYID = D.FENTRYID
INNER JOIN T_SAL_ORDERENTRY F ON F.FID = E.FSBILLID AND F.FENTRYID = E.FSID
WHERE A.FDOCUMENTSTATUS= 'C'
GROUP BY F.FID
SELECT b.FORDERENTRYID as 'FENTRYID',sum(b.FPriceQty) AS 'FQTY',sum(b.FALLAMOUNT) AS 'FAMOUNT'
INTO #RECE
FROM t_AR_receivable A
INNER JOIN t_AR_receivableENTRY B ON A.FID = B.FID
WHERE A.FDOCUMENTSTATUS= 'C'
GROUP BY b.FORDERENTRYID
SELECT
CASE WHEN ISNULL(O.FNAME,'') = ''THEN AC.
ELSE ACC. END AS 'SBU',
'' AS '', --
CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.Fid,n.FSaleId,X.FNAME ORDER BY n.FSaleId,X.FNAME) != 1 THEN null
WHEN X.FNAME in ('()','()') THEN null
WHEN X.FNAME in ('()','()') AND DATEADD(day, W.F_DAY, CK.F_SFSIGNATURETIME) < GETDATE() AND W.FRECADVANCERATE = 100 THEN ISNULL(Q.,0)-ISNULL(v.退,0)
WHEN X.FNAME in ('()','()') AND DATEADD(day, W.F_DAY, CK.F_SFSIGNATURETIME) < GETDATE() THEN ISNULL(W.F_MBBA_Decimal_uky,0)
WHEN X.FNAME in ('()','()') AND DATEADD(day, W.F_DAY,FP.F_DATE) < GETDATE() AND W.FRECADVANCERATE = 100 THEN ISNULL(Q.,0)-ISNULL(v.退,0)
WHEN X.FNAME in ('()','()') AND DATEADD(day, W.F_DAY,FP.F_DATE) < GETDATE() THEN ISNULL(W.F_MBBA_Decimal_uky,0)
WHEN X.FNAME in ('()','()') AND DATEADD(day, W.F_DAY,Q.) < GETDATE() AND W.FRECADVANCERATE = 100 THEN ISNULL(Q.,0)-ISNULL(v.退,0)
WHEN X.FNAME in ('()','()') AND DATEADD(day, W.F_DAY,Q.) < GETDATE() THEN ISNULL(W.F_MBBA_Decimal_uky,0)
ELSE null--()
END AS '',
convert(nvarchar(100), '') AS '1-6',
convert(nvarchar(100), '') AS '7-12',
convert(nvarchar(100), '') AS '13-18',
convert(nvarchar(100), '') AS '19',
'' AS '()', --
'' AS '', --
'' AS '()',--
'' AS '',--
'' AS '',
'' AS '',
'' AS '',
'' AS '',
'' AS '',
'' AS '',
'' AS '',
'' AS ''
,SUM(w.FRECADVANCERATE)OVER(PARTITION BY A.FID,N.FENTRYID ORDER BY W.FSEQ) as ''
,case when F.FBILLALLAMOUNT_LC - ISNULL(v.退,0)= 0
THEN 0
ELSE round(( isnull(ae.,0) - ISNULL(v.退,0))/( F.FBILLALLAMOUNT_LC - ISNULL(v.退,0)) ,2)
END AS ''
,ROUND( DATEDIFF(DAY,convert(nvarchar(10),dateadd(day,isnull(w.f_day,0) ,W.F_PMSDate),23),Getdate()) / 30,0) AS '-'
,case when ROUND( DATEDIFF(DAY,convert(nvarchar(10),dateadd(day,isnull(w.f_day,0) ,W.F_PMSDate),23),Getdate()) / 30,0) <= 6 AND ROUND( DATEDIFF(DAY,convert(nvarchar(10),dateadd(day,isnull(w.f_day,0) ,W.F_PMSDate),23),Getdate()) / 30,0) >=1 then ''
when ROUND( DATEDIFF(DAY,convert(nvarchar(10),dateadd(day,isnull(w.f_day,0) ,W.F_PMSDate),23),Getdate()) / 30,0) <= 12 AND ROUND( DATEDIFF(DAY,convert(nvarchar(10),dateadd(day,isnull(w.f_day,0) ,W.F_PMSDate),23),Getdate()) / 30,0) >=7 then ''
when ROUND( DATEDIFF(DAY,convert(nvarchar(10),dateadd(day,isnull(w.f_day,0) ,W.F_PMSDate),23),Getdate()) / 30,0) <= 18 AND ROUND( DATEDIFF(DAY,convert(nvarchar(10),dateadd(day,isnull(w.f_day,0) ,W.F_PMSDate),23),Getdate()) / 30,0) >=13 then ''
when ROUND( DATEDIFF(DAY,convert(nvarchar(10),dateadd(day,isnull(w.f_day,0) ,W.F_PMSDate),23),Getdate()) / 30,0) >= 19 then ''
end AS '-'
INTO #TEMP1
FROM T_SAL_ORDER A --
LEFT JOIN
(Select a2.FENTRYID,a2.FDATAVALUE From T_BAS_ASSISTANTDATAENTRY a1 JOIN T_BAS_ASSISTANTDATAENTRY_L a2 on a1.FENTRYID = a2.FENTRYID
Where a1.FID = '670cc977263353') B on A.F_ORDERCATEGORY = B.FENTRYID
--INNER JOIN T_SAL_orderentry b on a.FID = B.FID --
INNER JOIN T_BD_CUSTOMER_L C ON C.FCUSTID= A.FCUSTID AND C.FLOCALEID= 2052 --
INNER JOIN T_SAL_ORDERFIN F ON F.FID = A.FID
INNER JOIN T_BD_CUSTOMER I ON I .FCUSTID = A.FCUSTID
INNER JOIN T_SAL_ORDERFIN J ON J.FID= A.FID
LEFT JOIN T_BAS_PREBDONE_L G ON G.FID = A.F_projectname AND G.FLocaleID =2052
LEFT JOIN T_BAS_PREBDTHREE H ON H.FID = A.F_BON
lEFT JOIN V_ASSISTANTDATA K ON K.FENTRYID = I.FCompanyNature
lEFT JOIN V_BD_SALESMAN_L L ON L.fid = A.FSALERID
left JOIN T_PerformanceSharing M ON M.FSOURCEBILLNO = A.FBILLNO
left JOIN T_PerformanceSharingEntry N ON N.FID=M.FID
LEFT JOIN V_BD_SALESMAN_L O ON O.fid= N.FSALEID
LEFT JOIN V_ASSISTANTDATA P ON P.FENTRYID = I.F_CREDITCLASSIFICATION
LEFT JOIN T_SAL_OUTSTOCK CK on CK.F_CONTRACTNUMBER = A.F_CONTRACTNUMBER --
LEFT JOIN T_IV_SALESIC FP on FP.F_PAPERNUMBER = A.F_CONTRACTNUMBER --
--LEFT JOIN T_SAL_DELIVERYNOTICE FH on FH.F_PAPERCONTRACT = A.F_CONTRACTNUMBER --
LEFT JOIN
(
SELECT F_Papercontract,MAX(CONVERT(NVARCHAR(10), A.FDATE,23)) AS '',SUM(B.FBILLALLAMOUNT_LC) AS '' FROM T_SAL_DELIVERYNOTICE A
INNER JOIN T_SAL_DELIVERYNOTICEFIN B ON A.FID =B.FID
WHERE A.FDOCUMENTSTATUS= 'C'
GROUP BY A.F_Papercontract
) Q ON Q.F_PAPERCONTRACT = A.F_contractnumber --
LEFT JOIN T_META_FORMENUMITEM R ON r.FVALUE = A.F_OrderType AND R.FID = 'bc2c1d77-0f4b-41d2-b61b-e29554c570d4'
LEFT JOIN T_META_FORMENUMITEM_L S ON S.FENUMID = R.FENUMID AND S.FLOCALEID = 2052
LEFT JOIN
(
SELECT F_Paper ,CONVERT(NVARCHAR(10), MAX(FDATE),23) AS '',CONVERT(NVARCHAR(10),
MAX(FDATE),23) AS ''
FROM t_AR_receivable A
INNER JOIN T_AR_RECEIVABLEENTRY B ON A.FID = B.FID
WHERE A.FDOCUMENTSTATUS = 'C' AND A.FCancelStatus = 'A'
GROUP BY F_Paper
) T ON T.F_PAPER = A.F_contractnumber
LEFT JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
LEFT JOIN
(
SELECT F_contractnumber,MAX(CONVERT(NVARCHAR(10), A.FDATE,23)) AS '退',SUM(B.FBILLALLAMOUNT_LC) AS '退' FROM T_SAL_RETURNSTOCK A
INNER JOIN T_SAL_RETURNSTOCKFIN B ON A.FID =B.FID
WHERE A.FDOCUMENTSTATUS= 'C'
GROUP BY A.F_contractnumber
) V ON V.F_contractnumber = A.F_contractnumber --退
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo AC ON AC.=L.FNAME
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACC ON ACC.=O.FNAME
LEFT JOIN T_SAL_ORDERPLAN W ON W.FID= A.FID --
LEFT JOIN T_BD_RecCondition_L X on X.FID = W.F_RecConditionId
LEFT JOIN #RecCond Y ON Y.FID =A.FID AND Y.FNAME LIKE '%%'
LEFT JOIN (select distinct fid from #RecCond Z where Z.FNAME LIKE '%%') z on z.fid =a.fid
LEFT JOIN (select distinct fid from #RecCond AA where AA.FNAME LIKE '%%') AA on AA.fid =a.fid
LEFT JOIN T_ORG_ORGANIZATIONS_L asd on asd.FORGID = A.FSALEORGID
LEFT JOIN (SELECT distinct F_Papercontract FROM T_SAL_DELIVERYNOTICE WHERE F_SFYFH ='是') AB ON AB.F_PAPERCONTRACT = A.F_contractnumber
LEFT JOIN
(
SELECT
F_Papercontract,CAST( sum(b.FALLAMOUNT) AS REAL) AS '',
CAST (sum(CASE WHEN F_Papercontract = 'Y' THEN b.FALLAMOUNT ELSE 0 END ) AS REAL) AS '()'
FROM t_AR_receivable A
INNER JOIN T_AR_RECEIVABLEFIN B ON A.FID = B.FID
GROUP BY F_Papercontract
) AD ON AD.F_PAPERCONTRACT = A.F_contractnumber
LEFT JOIN
(
SELECT a.F_Papercontract,
avg(d.FCURWRITTENOFFAMOUNT) as ''
FROM t_AR_receivable A
INNER JOIN T_AR_RECEIVABLEENTRY E ON E.FID =A.FID
INNER JOIN T_AR_RECMacthLogENTRY B ON A.FBILLNO = B.FSRCBILLNO
INNER JOIN T_AR_RECMacthLog C ON C.FID = B.FID
INNER JOIN T_AR_RECMacthLogENTRY D ON D.FID = B.FID
AND D.FSOURCETYPE = '36cf265bd8c3452194ed9c83ec5e73d2'
WHERE
1=1
group by a.F_Papercontract
) AE ON AE.F_Papercontract = A.F_contractnumber
WHERE 1=1 AND
A.FDOCUMENTSTATUS = 'C'
and (@FSaleOrgId = '' or asd.FNAME = @FSaleOrgId)
AND (@FEndDate = '' or A.FDATE<=@FEndDate)
AND (@FStartDate = '' or A.FDATE>=@FStartDate)
ORDER BY A.F_contractnumber
{1}
ORDER BY 'SBU'
UPDATE #TEMP1 SET
[账龄-月] = 0 ,[-]=''
WHERE <=*100
--
UPDATE #TEMP1
SET [1-6]= case when [-] <> 0 AND [-]='' AND < then CONVERT(nvarchar(10), round( ,2)-*100) else '' end,
[7-12个月]= case when [-] <> 0 AND [-]='' AND < then CONVERT(nvarchar(10), round( ,2)-*100) else '' end,
[13-18个月]=case when [-] <> 0 AND [-]='' AND < then CONVERT(nvarchar(10), round( ,2)-*100) else '' end,
[19个月以上]=case when [-] <> 0 AND [-]='' AND < then CONVERT(nvarchar(10), round( ,2)- *100) else '' end
SELECT * INTO {0} FROM #TEMP1
", tableName, Filter); ", tableName, Filter);
//执行SQL并动态创建报表 //执行SQL并动态创建报表
DBUtils.ExecuteDynamicObject(this.Context, sql); DBUtils.ExecuteDynamicObject(this.Context, sql);

View File

@ -89,13 +89,18 @@ namespace GZ_LTHReportForms.YingShouBaoBiao
//设置单据列 //设置单据列
public override ReportHeader GetReportHeaders(IRptParams filter) public override ReportHeader GetReportHeaders(IRptParams filter)
{ {
DynamicObject customFilter = filter.FilterParameter.CustomFilter;
//结束日期
string FYear = (customFilter["F_EDate"] == null) ? DateTime.Now.Year.ToString() : Convert.ToDateTime(
customFilter["F_EDate"]).ToString("yyyy-MM");
//创建表头对象 //创建表头对象
ReportHeader header = new ReportHeader(); ReportHeader header = new ReportHeader();
header.AddChild("SBU", new LocaleValue("SBU", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); header.AddChild("SBU", new LocaleValue("SBU", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar);
header.AddChild("年底到期应收款额", new LocaleValue("期初到期应收额", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); header.AddChild("年到期应收款额", new LocaleValue(FYear +"期初到期应收额", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar);
header.AddChild("年底到期应收款专责小组", new LocaleValue("其中:期初应收款专责小组", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); header.AddChild("其中_年初应收款专责小组", new LocaleValue("其中:"+FYear+"期初应收款专责小组", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar);
header.AddChild("到期应收款额", new LocaleValue("本月到期应收额", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); header.AddChild("本年到期应收款额", new LocaleValue(FYear+"到期应收额", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar);
header.AddChild("应收款专责小组", new LocaleValue("其中:本月应收款专责小组", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); header.AddChild("其中_本年应收款专责小组", new LocaleValue("其中:"+FYear+"应收款专责小组", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar);
header.AddChild("占比", new LocaleValue("占比", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); header.AddChild("占比", new LocaleValue("占比", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar);
header.AddChild("变化", new LocaleValue("变化", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar); header.AddChild("变化", new LocaleValue("变化", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar);
foreach(var item in header.GetChilds()) foreach(var item in header.GetChilds())
@ -108,285 +113,37 @@ namespace GZ_LTHReportForms.YingShouBaoBiao
//创建临时表 //创建临时表
public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName) public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
{ {
//获取过滤条件 base.BuilderReportSqlAndTempTable (filter, tableName);
string Filter = GetFilterWhere(filter); DynamicObject customFilter = filter.FilterParameter.CustomFilter;
/*
SQL //开始日期
SQL查询字符串 string FStrartDate = (customFilter["F_SDate"] == null) ? string.Empty : Convert.ToDateTime(
*/ customFilter["F_SDate"]).ToString("yyyy-MM-dd");
//结束日期
string FEndDate = (customFilter["F_EDate"] == null) ? string.Empty : Convert.ToDateTime(
customFilter["F_EDate"]).ToString("yyyy-MM-dd");
string sql = String.Format(@"/*dialect*/ string sql = String.Format(@"/*dialect*/
DECLARE @ResultDate VARCHAR(1000); EXEC YSQKGKSBU_GZTH '{0}' '{1}'
DECLARE @ThisDate VARCHAR(1000);
DECLARE @SUMDQ DECIMAL(10, 2);
--
SET @ResultDate = FORMAT(DATEADD(DAY, -1, DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), 0)),'yyyy-MM-dd');
--
SET @ThisDate = FORMAT(GETDATE(),'yyyy-MM-dd')
SELECT W.*,x.FNAME into #RecCond FROM T_SAL_ORDERPLAN W
INNER JOIN T_BD_RecCondition_L X on X.FID = W.F_RecConditionId
SELECT D.FID,sum(b.fqty) AS 'FQTY',sum(E.fallamount) AS 'FAMOUNT'
INTO #SAL
FROM T_SAL_DELIVERYNOTICE A
INNER JOIN T_SAL_DELIVERYNOTICEENTRY B ON A.FID = B.FID
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_F E ON E.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK C ON C.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_ORDERENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID
WHERE A.FDOCUMENTSTATUS= 'C'
GROUP BY D.FID
SELECT D.FID,sum(b.fqty) AS 'FQTY',sum(E.fallamount) AS 'FAMOUNT'
INTO #RETURN
FROM T_SAL_RETURNNOTICE A
INNER JOIN T_SAL_RETURNNOTICEENTRY B ON A.FID = B.FID
INNER JOIN T_SAL_RETURNNOTICEENTRY_F E ON E.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_RETURNNOTICEENTRY_LK C ON C.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_ORDERENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID
WHERE A.FDOCUMENTSTATUS= 'C'
GROUP BY D.FID
SELECT F.FID,sum(b.FREALQTY) AS 'FQTY',sum(G.FALLAMOUNT_LC) AS 'FAMOUNT'
INTO #OUTSTOCK
FROM T_SAL_OUTSTOCK A
INNER JOIN T_SAL_OUTSTOCKENTRY B ON A.FID = B.FID
INNER JOIN T_SAL_OUTSTOCKENTRY_F G ON G.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_OUTSTOCKENTRY_LK C ON C.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_DELIVERYNOTICEENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK E ON E.FENTRYID = D.FENTRYID
INNER JOIN T_SAL_ORDERENTRY F ON F.FID = E.FSBILLID AND F.FENTRYID = E.FSID
WHERE A.FDOCUMENTSTATUS= 'C'
GROUP BY F.FID
SELECT F.FID,sum(b.FREALQTY) AS 'FQTY',sum(G.FALLAMOUNT_LC) AS 'FAMOUNT'
INTO #RETURNSTOCK
FROM T_SAL_RETURNSTOCK A
INNER JOIN T_SAL_RETURNSTOCKENTRY B ON A.FID = B.FID
INNER JOIN T_SAL_RETURNSTOCKENTRY_F G ON G.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_RETURNSTOCKENTRY_LK C ON C.FENTRYID = B.FENTRYID
INNER JOIN T_SAL_RETURNNOTICEENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID
INNER JOIN T_SAL_RETURNNOTICEENTRY_LK E ON E.FENTRYID = D.FENTRYID
INNER JOIN T_SAL_ORDERENTRY F ON F.FID = E.FSBILLID AND F.FENTRYID = E.FSID
WHERE A.FDOCUMENTSTATUS= 'C'
GROUP BY F.FID
SELECT b.FORDERENTRYID as 'FENTRYID',sum(b.FPriceQty) AS 'FQTY',sum(b.FALLAMOUNT) AS 'FAMOUNT'
INTO #RECE
FROM t_AR_receivable A
INNER JOIN t_AR_receivableENTRY B ON A.FID = B.FID
WHERE A.FDOCUMENTSTATUS= 'C'
GROUP BY b.FORDERENTRYID
SELECT
CASE WHEN ISNULL(O.FNAME,'') = '' THEN AC.
ELSE ACC. END AS 'SBU',
CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.Fid,n.FSaleId,X.FNAME ORDER BY n.FSaleId,X.FNAME) != 1 THEN null
WHEN X.FNAME in ('()','()') THEN null
WHEN X.FNAME in ('()','()') AND DATEADD(day, W.F_DAY, CK.F_SFSIGNATURETIME) < @ResultDate AND W.FRECADVANCERATE = 100 THEN ISNULL(Q.,0)-ISNULL(v.退,0)
WHEN X.FNAME in ('()','()') AND DATEADD(day, W.F_DAY, CK.F_SFSIGNATURETIME) < @ResultDate THEN ISNULL(W.F_MBBA_Decimal_uky,0)
WHEN X.FNAME in ('()','()') AND DATEADD(day, W.F_DAY,FP.F_DATE) < @ResultDate AND W.FRECADVANCERATE = 100 THEN ISNULL(Q.,0)-ISNULL(v.退,0)
WHEN X.FNAME in ('()','()') AND DATEADD(day, W.F_DAY,FP.F_DATE) < @ResultDate THEN ISNULL(W.F_MBBA_Decimal_uky,0)
WHEN X.FNAME in ('()','()') AND DATEADD(day, W.F_DAY,Q.) < @ResultDate AND W.FRECADVANCERATE = 100 THEN ISNULL(Q.,0)-ISNULL(v.退,0)
WHEN X.FNAME in ('()','()') AND DATEADD(day, W.F_DAY,Q.) < @ResultDate THEN ISNULL(W.F_MBBA_Decimal_uky,0)
ELSE null--()
END AS '',
CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.Fid,n.FSaleId,X.FNAME ORDER BY n.FSaleId,X.FNAME) != 1 THEN null
WHEN X.FNAME in ('()','()') THEN null
WHEN X.FNAME in ('()','()') AND isnull(ROUND( DATEDIFF(DAY,convert(nvarchar(10),dateadd(day,isnull(w.f_day,0) ,W.F_PMSDate),23),@ResultDate) / 30,0) ,0)>=6 AND W.FRECADVANCERATE = 100 THEN ISNULL(Q.,0)-ISNULL(v.退,0)
WHEN X.FNAME in ('()','()') AND isnull(ROUND( DATEDIFF(DAY,convert(nvarchar(10),dateadd(day,isnull(w.f_day,0) ,W.F_PMSDate),23),@ResultDate) / 30,0) ,0)>=6 THEN ISNULL(W.F_MBBA_Decimal_uky,0)
WHEN X.FNAME in ('()','()') AND isnull(ROUND( DATEDIFF(DAY,convert(nvarchar(10),dateadd(day,isnull(w.f_day,0) ,W.F_PMSDate),23),@ResultDate) / 30,0) ,0)>=6 AND W.FRECADVANCERATE = 100 THEN ISNULL(Q.,0)-ISNULL(v.退,0)
WHEN X.FNAME in ('()','()') AND isnull(ROUND( DATEDIFF(DAY,convert(nvarchar(10),dateadd(day,isnull(w.f_day,0) ,W.F_PMSDate),23),@ResultDate) / 30,0) ,0)>=6 THEN ISNULL(W.F_MBBA_Decimal_uky,0)
WHEN X.FNAME in ('()','()') AND isnull(ROUND( DATEDIFF(DAY,convert(nvarchar(10),dateadd(day,isnull(w.f_day,0) ,W.F_PMSDate),23),@ResultDate) / 30,0) ,0)>=6 AND W.FRECADVANCERATE = 100 THEN ISNULL(Q.,0)-ISNULL(v.退,0)
WHEN X.FNAME in ('()','()') AND isnull(ROUND( DATEDIFF(DAY,convert(nvarchar(10),dateadd(day,isnull(w.f_day,0) ,W.F_PMSDate),23),@ResultDate) / 30,0) ,0)>=6 THEN ISNULL(W.F_MBBA_Decimal_uky,0)
ELSE null--()
END AS '',
CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.Fid,n.FSaleId,X.FNAME ORDER BY n.FSaleId,X.FNAME) != 1 THEN null
WHEN X.FNAME in ('()','()') THEN null
WHEN X.FNAME in ('()','()') AND DATEADD(day, W.F_DAY, CK.F_SFSIGNATURETIME) < @ThisDate AND W.FRECADVANCERATE = 100 THEN ISNULL(Q.,0)-ISNULL(v.退,0)
WHEN X.FNAME in ('()','()') AND DATEADD(day, W.F_DAY, CK.F_SFSIGNATURETIME) < @ThisDate THEN ISNULL(W.F_MBBA_Decimal_uky,0)
WHEN X.FNAME in ('()','()') AND DATEADD(day, W.F_DAY,FP.F_DATE) < @ThisDate AND W.FRECADVANCERATE = 100 THEN ISNULL(Q.,0)-ISNULL(v.退,0)
WHEN X.FNAME in ('()','()') AND DATEADD(day, W.F_DAY,FP.F_DATE) < @ThisDate THEN ISNULL(W.F_MBBA_Decimal_uky,0)
WHEN X.FNAME in ('()','()') AND DATEADD(day, W.F_DAY,Q.) < @ThisDate AND W.FRECADVANCERATE = 100 THEN ISNULL(Q.,0)-ISNULL(v.退,0)
WHEN X.FNAME in ('()','()') AND DATEADD(day, W.F_DAY,Q.) < @ThisDate THEN ISNULL(W.F_MBBA_Decimal_uky,0)
ELSE null--()
END AS '',
CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.Fid,n.FSaleId,X.FNAME ORDER BY n.FSaleId,X.FNAME) != 1 THEN null
WHEN X.FNAME in ('()','()') THEN null
WHEN X.FNAME in ('()','()') AND isnull(ROUND( DATEDIFF(DAY,convert(nvarchar(10),dateadd(day,isnull(w.f_day,0) ,W.F_PMSDate),23),@ThisDate) / 30,0) ,0)>=6 AND W.FRECADVANCERATE = 100 THEN ISNULL(Q.,0)-ISNULL(v.退,0)
WHEN X.FNAME in ('()','()') AND isnull(ROUND( DATEDIFF(DAY,convert(nvarchar(10),dateadd(day,isnull(w.f_day,0) ,W.F_PMSDate),23),@ThisDate) / 30,0) ,0)>=6 THEN ISNULL(W.F_MBBA_Decimal_uky,0)
WHEN X.FNAME in ('()','()') AND isnull(ROUND( DATEDIFF(DAY,convert(nvarchar(10),dateadd(day,isnull(w.f_day,0) ,W.F_PMSDate),23),@ThisDate) / 30,0) ,0)>=6 AND W.FRECADVANCERATE = 100 THEN ISNULL(Q.,0)-ISNULL(v.退,0)
WHEN X.FNAME in ('()','()') AND isnull(ROUND( DATEDIFF(DAY,convert(nvarchar(10),dateadd(day,isnull(w.f_day,0) ,W.F_PMSDate),23),@ThisDate) / 30,0) ,0)>=6 THEN ISNULL(W.F_MBBA_Decimal_uky,0)
WHEN X.FNAME in ('()','()') AND isnull(ROUND( DATEDIFF(DAY,convert(nvarchar(10),dateadd(day,isnull(w.f_day,0) ,W.F_PMSDate),23),@ThisDate) / 30,0) ,0)>=6 AND W.FRECADVANCERATE = 100 THEN ISNULL(Q.,0)-ISNULL(v.退,0)
WHEN X.FNAME in ('()','()') AND isnull(ROUND( DATEDIFF(DAY,convert(nvarchar(10),dateadd(day,isnull(w.f_day,0) ,W.F_PMSDate),23),@ThisDate) / 30,0) ,0)>=6 THEN ISNULL(W.F_MBBA_Decimal_uky,0)
ELSE null--()
END AS ''
INTO #TEMP1
FROM T_SAL_ORDER A --
LEFT JOIN
(Select a2.FENTRYID,a2.FDATAVALUE From T_BAS_ASSISTANTDATAENTRY a1 JOIN T_BAS_ASSISTANTDATAENTRY_L a2 on a1.FENTRYID = a2.FENTRYID
Where a1.FID = '670cc977263353') B on A.F_ORDERCATEGORY = B.FENTRYID
--INNER JOIN T_SAL_orderentry b on a.FID = B.FID --
INNER JOIN T_BD_CUSTOMER_L C ON C.FCUSTID= A.FCUSTID AND C.FLOCALEID= 2052 --
INNER JOIN T_SAL_ORDERFIN F ON F.FID = A.FID
INNER JOIN T_BD_CUSTOMER I ON I .FCUSTID = A.FCUSTID
INNER JOIN T_SAL_ORDERFIN J ON J.FID= A.FID
LEFT JOIN T_BAS_PREBDONE_L G ON G.FID = A.F_projectname AND G.FLocaleID =2052
LEFT JOIN T_BAS_PREBDTHREE H ON H.FID = A.F_BON
lEFT JOIN V_ASSISTANTDATA K ON K.FENTRYID = I.FCompanyNature
lEFT JOIN V_BD_SALESMAN_L L ON L.fid = A.FSALERID
left JOIN T_PerformanceSharing M ON M.FSOURCEBILLNO = A.FBILLNO
left JOIN T_PerformanceSharingEntry N ON N.FID=M.FID
LEFT JOIN V_BD_SALESMAN_L O ON O.fid= N.FSALEID
LEFT JOIN V_ASSISTANTDATA P ON P.FENTRYID = I.F_CREDITCLASSIFICATION
LEFT JOIN T_SAL_OUTSTOCK CK on CK.F_CONTRACTNUMBER = A.F_CONTRACTNUMBER --
LEFT JOIN T_IV_SALESIC FP on FP.F_PAPERNUMBER = A.F_CONTRACTNUMBER --
LEFT JOIN
(
SELECT F_Papercontract,MAX(CONVERT(NVARCHAR(10), A.FDATE,23)) AS '',SUM(B.FBILLALLAMOUNT_LC) AS '' FROM T_SAL_DELIVERYNOTICE A
INNER JOIN T_SAL_DELIVERYNOTICEFIN B ON A.FID =B.FID
WHERE A.FDOCUMENTSTATUS= 'C'
GROUP BY A.F_Papercontract
) Q ON Q.F_PAPERCONTRACT = A.F_contractnumber --
LEFT JOIN T_META_FORMENUMITEM R ON r.FVALUE = A.F_OrderType AND R.FID = 'bc2c1d77-0f4b-41d2-b61b-e29554c570d4'
LEFT JOIN T_META_FORMENUMITEM_L S ON S.FENUMID = R.FENUMID AND S.FLOCALEID = 2052
LEFT JOIN
(
SELECT F_Paper ,CONVERT(NVARCHAR(10), MAX(FDATE),23) AS '',CONVERT(NVARCHAR(10),
MAX(FDATE),23) AS ''
FROM t_AR_receivable A
INNER JOIN T_AR_RECEIVABLEENTRY B ON A.FID = B.FID
WHERE A.FDOCUMENTSTATUS = 'C' AND A.FCancelStatus = 'A'
GROUP BY F_Paper
) T ON T.F_PAPER = A.F_contractnumber
LEFT JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
LEFT JOIN
(
SELECT F_contractnumber,MAX(CONVERT(NVARCHAR(10), A.FDATE,23)) AS '退',SUM(B.FBILLALLAMOUNT_LC) AS '退' FROM T_SAL_RETURNSTOCK A
INNER JOIN T_SAL_RETURNSTOCKFIN B ON A.FID =B.FID
WHERE A.FDOCUMENTSTATUS= 'C'
GROUP BY A.F_contractnumber
) V ON V.F_contractnumber = A.F_contractnumber --退
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo AC ON AC.=L.FNAME
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACC ON ACC.=O.FNAME
--LEFT JOIN temp20241206 AC ON AC.=L.FNAME
--LEFT JOIN temp20241206 ACC ON ACC.=O.FNAME
LEFT JOIN T_SAL_ORDERPLAN W ON W.FID= A.FID
LEFT JOIN T_BD_RecCondition_L X on X.FID = W.F_RecConditionId
LEFT JOIN #RecCond Y ON Y.FID =A.FID AND Y.FNAME LIKE '%%'
LEFT JOIN (select distinct fid from #RecCond Z where Z.FNAME LIKE '%%') z on z.fid =a.fid
LEFT JOIN (select distinct fid from #RecCond AA where AA.FNAME LIKE '%%') AA on AA.fid =a.fid
LEFT JOIN (SELECT distinct F_Papercontract FROM T_SAL_DELIVERYNOTICE WHERE F_SFYFH ='是') AB ON AB.F_PAPERCONTRACT = A.F_contractnumber
LEFT JOIN
(
SELECT SELECT
F_Papercontract,CAST( sum(b.FALLAMOUNT) AS REAL) AS '', ROW_NUMBER() OVER (ORDER BY SBU DESC) AS FID,
CAST (sum(CASE WHEN F_Papercontract = 'Y' THEN b.FALLAMOUNT ELSE 0 END ) AS REAL) AS '()' ROW_NUMBER() OVER (ORDER BY SBU DESC) AS FIDENTITYID,
FROM t_AR_receivable A * INTO {2} FROM YSQKGK_SBU_GZTH
INNER JOIN T_AR_RECEIVABLEFIN B ON A.FID = B.FID ", FStrartDate,FEndDate,tableName);
GROUP BY F_Papercontract
) AD ON AD.F_PAPERCONTRACT = A.F_contractnumber
LEFT JOIN
(
SELECT a.F_Papercontract,
avg(d.FCURWRITTENOFFAMOUNT) as ''
FROM t_AR_receivable A
INNER JOIN T_AR_RECEIVABLEENTRY E ON E.FID =A.FID
INNER JOIN T_AR_RECMacthLogENTRY B ON A.FBILLNO = B.FSRCBILLNO
INNER JOIN T_AR_RECMacthLog C ON C.FID = B.FID
INNER JOIN T_AR_RECMacthLogENTRY D ON D.FID = B.FID
AND D.FSOURCETYPE = '36cf265bd8c3452194ed9c83ec5e73d2'
WHERE
1=1
group by a.F_Papercontract
) AE ON AE.F_Papercontract = A.F_contractnumber
WHERE 1=1 AND A.FDOCUMENTSTATUS = 'C' AND B.FDATAVALUE != 'Z'
AND ((F.FBILLALLAMOUNT_LC * isnull(n.FSHARERATE,100) /100)!=0)
{1}
ORDER BY A.F_contractnumber
SELECT @SUMDQ = SUM() FROM #TEMP1
SELECT
SBU AS SBU1,
CONVERT(DECIMAL(10, 2),SUM(ISNULL(, 0)),2) AS '',
CONVERT(DECIMAL(10, 2),SUM(ISNULL(, 0)),2) AS '',
CONVERT(DECIMAL(10, 2),SUM(ISNULL(, 0)),2) AS '',
CONVERT(DECIMAL(10, 2),SUM(ISNULL(, 0)),2) AS '',
'' AS '',
0 AS ''
INTO #TEMP2
FROM
#TEMP1
GROUP BY
SBU
ORDER BY
SBU DESC;
ALTER TABLE #TEMP2
ALTER COLUMN NVARCHAR(100);
UPDATE #TEMP2
SET = CASE
WHEN = 0 THEN '' -- 0
ELSE CONVERT(nvarchar(10), CONVERT(DECIMAL(10, 2), ( / @SUMDQ) * 100),2) + '%'
END;
UPDATE #TEMP2
SET = CONVERT(DECIMAL(10, 2),( - ),2)
SELECT
ROW_NUMBER() OVER (ORDER BY B.SBU1 DESC) AS FID,
ROW_NUMBER() OVER (ORDER BY B.SBU1 DESC) AS FIDENTITYID,
B.SBU1 AS 'SBU',
CASE
WHEN B. = 0 THEN null
ELSE B. END AS '',
CASE
WHEN B. = 0 THEN null
ELSE B. END AS '',
CASE
WHEN B. = 0 THEN null
ELSE B. END AS '',
CASE
WHEN B. = 0 THEN null
ELSE B. END AS '',
B. AS '',
B. AS ''
INTO {0} FROM #TEMP2 B
GROUP BY B.,B.,B.SBU1,B.,B.,B.,B.
", tableName,Filter);
//执行SQL并动态创建报表 //执行SQL并动态创建报表
DBUtils.ExecuteDynamicObject(this.Context, sql); DBUtils.ExecuteDynamicObject(this.Context, sql);
} }
//获取过滤条件
private string GetFilterWhere(IRptParams fileter)
{
//获取自定义过滤条件
DynamicObject customFilter = fileter.FilterParameter.CustomFilter;
//创建字符串构建器
StringBuilder strwhere = new StringBuilder();
var orgFid = customFilter["F_YKQC_OrgId_uky"] as DynamicObject;
if (orgFid != null)
{
string org = string.IsNullOrWhiteSpace(customFilter["F_YKQC_OrgId_uky"].ToString()) ? "" :
string.Format("AND A.FSaleOrgId IN ({0})", orgFid["Id"].Long2Int());
//添加组织过滤条件
strwhere.AppendLine(org);
}
return strwhere.ToString();
}
//添加合计列 //添加合计列
public override List<SummaryField> GetSummaryColumnInfo(IRptParams filter) public override List<SummaryField> GetSummaryColumnInfo(IRptParams filter)
{ {
var result = base.GetSummaryColumnInfo(filter); var result = base.GetSummaryColumnInfo(filter);
result.Add(new SummaryField("年底到期应收款额", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM)); result.Add(new SummaryField("年初到期应收款额", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM));
result.Add(new SummaryField("到期应收款额",Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM)); result.Add(new SummaryField("其中_年初应收款专责小组", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM));
result.Add(new SummaryField("本年到期应收款额", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM));
result.Add(new SummaryField("其中_本年应收款专责小组", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM));
result.Add(new SummaryField("变化", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM));
return result; return result;
} }

View File

@ -292,7 +292,7 @@ SELECT [
INSERT INTO YJPHB_GZTH([_SBU],[],[],[]) INSERT INTO YJPHB_GZTH([_SBU],[],[],[])
SELECT [_SBU],[],[],[] FROM #SKTEMP1 WHERE [销售组织FID] = '533896' SELECT [_SBU],[],[],[] FROM #SKTEMP1 WHERE [销售组织FID] = '533896'
--退 --退
INSERT INTO YJPHB_GZTH([_SBU],[],[],[]) INSERT INTO YJPHB_GZTH([_SBU],[],[],[])
SELECT [_SBU],[],[],[退] FROM #SKTKTEMP1 WHERE [销售组织FID] = '533896' SELECT [_SBU],[],[],[退] FROM #SKTKTEMP1 WHERE [销售组织FID] = '533896'

View File

@ -0,0 +1,12 @@
CREATE TABLE YSQKGK_SBU_GZTH
(
SBU NVARCHAR(100), -- 假设 SBU 字段长度为 100可根据实际情况调整
DECIMAL(23, 10),
_年初应收款专责小组 DECIMAL(23, 10),
DECIMAL(23, 10),
_本年应收款专责小组 DECIMAL(23, 10),
NVARCHAR(500),
DECIMAL(23, 10)
);
--DROP TABLE YSQKGK_SBU_GZTH

View File

@ -0,0 +1,10 @@
CREATE TABLE AccountsReceivable
(
SBU NVARCHAR(100), -- 假设 SBU 字段长度为 100可根据实际情况调整
DECIMAL(23, 10),
_应收款专责小组 DECIMAL(23, 10),
DECIMAL(23, 10),
_应收款专责小组2024 DECIMAL(23, 10),
DECIMAL(23, 10),
DECIMAL(23, 10)
);

View File

@ -0,0 +1,100 @@
CREATE PROCEDURE YSQKGKSBU_GZTH
@FSDate NVARCHAR(100),
@FEDate NVARCHAR(100)
AS
BEGIN
DECLARE @SumDQJE DECIMAL(23,10)
--
DECLARE @FEDateDate DATE;
--@FEDate日期是否为空
IF @FEDate IS NULL OR @FEDate = ''
BEGIN
SET @FEDateDate = GETDATE();
END
ELSE
BEGIN
-- 转换为日期类型
SET @FEDateDate = CONVERT(DATE, @FEDate);
END
-- 获取上一年的 12 月 31 日
SET @FEDateDate = DATEFROMPARTS(YEAR(@FEDateDate) - 1, 12, 31);
--
TRUNCATE TABLE YSQKGK_SBU_GZTH
--
SELECT [SBU],SUM([]) AS '到期金额' INTO #NCTEMP1 FROM ZRP_YingShouMingXi_yuyubo
WHERE [] <= @FEDateDate
GROUP BY [SBU]
--
INSERT INTO YSQKGK_SBU_GZTH([SBU],[])
SELECT [SBU],[] FROM #NCTEMP1 WHERE [到期金额] <> 0
--=
SELECT [SBU],SUM([]) AS '到期金额' INTO #NCZZTEMP1 FROM ZRP_YingShouMingXi_yuyubo
WHERE [] <= @FEDateDate AND [] = '应收款专责小组'
GROUP BY [SBU]
--=
INSERT INTO YSQKGK_SBU_GZTH([SBU],[_年初应收款专责小组])
SELECT [SBU],[] FROM #NCZZTEMP1 WHERE [到期金额] <> 0
--
SELECT [SBU],SUM([]) AS '到期金额' INTO #BNTEMP1
FROM ZRP_YingShouMingXi_yuyubo
WHERE
format([],'yyyy-MM-dd') >= @FSDate
AND format([],'yyyy-MM-dd') <= @FEDate
GROUP BY [SBU]
--
INSERT INTO YSQKGK_SBU_GZTH([SBU],[])
SELECT [SBU],[] FROM #BNTEMP1 WHERE [到期金额] <> 0
--=
SELECT [SBU],SUM([]) AS '到期金额' INTO #BNZZTEMP1
FROM ZRP_YingShouMingXi_yuyubo
WHERE
[] >= @FSDate
AND [] <= @FEDate
AND [] = '应收款专责小组'
GROUP BY [SBU]
INSERT INTO YSQKGK_SBU_GZTH([SBU],[_年初应收款专责小组])
SELECT [SBU],[] FROM #BNZZTEMP1 WHERE [到期金额] <> 0
SELECT *
INTO #TEMP1
FROM(
SELECT [SBU],
SUM([]) AS ,
SUM([_年初应收款专责小组]) AS _年初应收款专责小组,
SUM([]) AS ,
SUM([_本年应收款专责小组]) AS _本年应收款专责小组
FROM YSQKGK_SBU_GZTH
GROUP BY [SBU]
)AS YS
--
TRUNCATE TABLE YSQKGK_SBU_GZTH
--
INSERT INTO YSQKGK_SBU_GZTH([SBU],[],[_年初应收款专责小组],
[],[_本年应收款专责小组])
SELECT * FROM #TEMP1
--
SELECT @SumDQJE = SUM([]) FROM YSQKGK_SBU_GZTH
UPDATE YSQKGK_SBU_GZTH
SET [] = CONVERT(VARCHAR, CAST(([] / @SumDQJE) * 100 AS DECIMAL(10, 2))) + '%'
--
UPDATE YSQKGK_SBU_GZTH
SET [] = ISNULL([],0) - ISNULL([],0)
DROP TABLE #NCTEMP1,#NCZZTEMP1,#BNTEMP1,#BNZZTEMP1,#TEMP1
END;