diff --git a/PR_NDXSHKHZB_yuyubo.sql b/PR_NDXSHKHZB_yuyubo.sql new file mode 100644 index 0000000..c725076 --- /dev/null +++ b/PR_NDXSHKHZB_yuyubo.sql @@ -0,0 +1,30 @@ + +-- 检查存储过程是否存在,存在则删除 +IF OBJECT_ID('dbo.[PR_NDXSHKHZB_yuyubo]', 'P') IS NOT NULL +BEGIN + DROP PROCEDURE dbo.PR_NDXSHKHZB_yuyubo; + PRINT '存储过程 dbo.[PR_NDXSHKHZB_yuyubo] 已删除'; +END +GO + +-- 创建新的存储过程 +CREATE PROCEDURE dbo.PR_NDXSHKHZB_yuyubo + @FDate DATETIME ,@CurrentOrgUnitId NVARCHAR(100) null,@salerId NVARCHAR(100) null + +AS +BEGIN + + DECLARE @monthStart DATETIME,@monthEnd DATETIME,@yearStart DATETIME , @yearEnd DATETIME + + +-- SELECT EE.* +--,'珠海派诺业绩合计'='累计销售额'+'往年订单变更金额' +--,'派诺集团最终业绩合计金额'='累计销售额'+'往年订单变更金额'+'兴诺业绩'+'兴诺往年订单变更'+'武汉派诺-当年业绩'+'武汉派诺-往年订单变更'+'碳索业绩'+'香港派诺业绩'+'华夏云联业绩' +-- ,ROW_NUMBER() OVER (ORDER BY '销售员ID') AS FID +-- ,ROW_NUMBER() OVER (ORDER BY '销售员ID') AS FIDENTITYID +-- into #temp11 +--FROM ( +--SELECT DISTINCT +--A.* + +END \ No newline at end of file diff --git a/Pilot.Report.Exploitation/AnnualSalesPaymentSum/AnnualSalesPaymentSumReport.cs b/Pilot.Report.Exploitation/AnnualSalesPaymentSum/AnnualSalesPaymentSumReport.cs index 5094949..9357b1e 100644 --- a/Pilot.Report.Exploitation/AnnualSalesPaymentSum/AnnualSalesPaymentSumReport.cs +++ b/Pilot.Report.Exploitation/AnnualSalesPaymentSum/AnnualSalesPaymentSumReport.cs @@ -1150,8 +1150,8 @@ namespace Pilot.Report.Exploitation.AnnualSalesPaymentSum ,[姝︽眽娲捐-寰骞磋鍗曞彉鏇碷 as WuhanPilotUsualAlter, [纰崇储涓氱哗] as Discovery,[棣欐腐娲捐涓氱哗] as HongKongPilot,[鍗庡浜戣仈涓氱哗] as HuaXiaYunLian ,[鏄庣粏鍖哄煙] as DetailArea ,[ZhuhaiPilot]=[绱閿鍞]+[寰骞磋鍗曞彉鏇撮噾棰漖 ,[PilotSumAmount]=[绱閿鍞]+[寰骞磋鍗曞彉鏇撮噾棰漖+[鍏磋涓氱哗]+[鍏磋寰骞磋鍗曞彉鏇碷+[姝︽眽娲捐-褰撳勾涓氱哗]+[姝︽眽娲捐-寰骞磋鍗曞彉鏇碷+[纰崇储涓氱哗]+[棣欐腐娲捐涓氱哗]+[鍗庡浜戣仈涓氱哗] - ,ROW_NUMBER() OVER (ORDER BY [閿鍞憳ID]) AS FID - ,ROW_NUMBER() OVER (ORDER BY [閿鍞憳ID]) AS FIDENTITYID ,0 AS Sort, 0 as sortNum + ,ROW_NUMBER() OVER (ORDER BY [SBU] ,[閿鍞憳ID])*10 AS FID + ,ROW_NUMBER() OVER (ORDER BY [SBU] ,[閿鍞憳ID])*10 AS FIDENTITYID ,0 AS Sort into {tableName} FROM ( SELECT DISTINCT @@ -1268,56 +1268,117 @@ AND AA.[璁㈠崟鏃ユ湡] >='{yearStart}' AND AA.[璁㈠崟鏃ユ湡] <'{yearEnd}') kk Loghelp.Log("骞村害閿鍞&鍥炴棰濇眹鎬"); Loghelp.Log(sql2); var list= DBUtils.ExecuteDynamicObject(this.Context, sql2); - //var sbuList = list.Select(t => t["SBU"].ToString).ToList(); - //string sbu = ""; - //int row = 0; - //foreach (var item in list) - //{ - // if (sbu != item["sbu"] && row>0 ||(row==(list.Count-1))) - // { - // var templist = list.Where(t => t["sbu"] == sbu).ToList(); - // sbu = item["sbu"].ToString(); - // var tempItem = item.Copy(); - // tempItem["Salesperson"] = sbu + "灏忚"; - // tempItem["sbu"] = ""; - // tempItem["X1Month"] = templist.Sum(t =>long.Parse( t["X1Month"].ToString())); - // tempItem["X2Month"] = templist.Sum(t => long.Parse(t["X2Month"].ToString())); - // tempItem["X3Month"] = templist.Sum(t => long.Parse(t["X3Month"].ToString())); - // tempItem["X4Month"] = templist.Sum(t => long.Parse(t["X4Month"].ToString())); - // tempItem["X5Month"] = templist.Sum(t => long.Parse(t["X5Month"].ToString())); - // tempItem["X6Month"] = templist.Sum(t => long.Parse(t["X6Month"].ToString())); - // tempItem["X7Month"] = templist.Sum(t => long.Parse(t["X7Month"].ToString())); - // tempItem["X8Month"] = templist.Sum(t => long.Parse(t["X8Month"].ToString())); - // tempItem["X9Month"] = templist.Sum(t => long.Parse(t["X9Month"].ToString())); - // tempItem["X10Month"] = templist.Sum(t => long.Parse(t["X10Month"].ToString())); - // tempItem["X11Month"] = templist.Sum(t => long.Parse(t["X11Month"].ToString())); - // tempItem["X12Month"] = templist.Sum(t => long.Parse(t["X12Month"].ToString())); - - // tempItem["H1Month"] = templist.Sum(t => long.Parse(t["H1Month"].ToString())); - // tempItem["H2Month"] = templist.Sum(t => long.Parse(t["H2Month"].ToString())); - // tempItem["H3Month"] = templist.Sum(t => long.Parse(t["H3Month"].ToString())); - // tempItem["H4Month"] = templist.Sum(t => long.Parse(t["H4Month"].ToString())); - // tempItem["H5Month"] = templist.Sum(t => long.Parse(t["H5Month"].ToString())); - // tempItem["H6Month"] = templist.Sum(t => long.Parse(t["H6Month"].ToString())); - // tempItem["H7Month"] = templist.Sum(t => long.Parse(t["H7Month"].ToString())); - // tempItem["H8Month"] = templist.Sum(t => long.Parse(t["H8Month"].ToString())); - // tempItem["H9Month"] = templist.Sum(t => long.Parse(t["H9Month"].ToString())); - // tempItem["H10Month"] = templist.Sum(t => long.Parse(t["H10Month"].ToString())); - // tempItem["H11Month"] = templist.Sum(t => long.Parse(t["H11Month"].ToString())); - // tempItem["H12Month"] = templist.Sum(t => long.Parse(t["H12Month"].ToString())); - - // tempItem["H1Month"] = templist.Sum(t => long.Parse(t["H1Month"].ToString())); - - // list.Insert(row, tempItem); - // } - - // if (row == 0) - // { - // sbu = item["sbu"].ToString(); - // } + var sbuList = list.Select(t=>t["SBU"]).ToList().Distinct().ToList(); - //} +// sbu +//EMT +//鍗婂浣撳強鍖楁柟澶у尯 +//閲囪喘閮 +//鐢佃兘璐ㄩ噺APF / SVG浜у搧绾 +//鏈嶅姟杩愮淮閮 +//鍥介檯浜嬩笟閮 +//娴峰钀ラ攢閮 +//鏈哄満琛屼笟绾 +//鍐崇瓥鍥㈤槦 +//璇虹摝鏁拌兘 +//鍏朵粬 +//鍟嗗姟杩愯惀閮 +//鏁版嵁涓績 +//姝︽眽娲捐 +//鏂扮枂鍖 +//鍖婚櫌 +//钀ラ攢涓績 +//纭欢鐮斿彂閮 +//鎴樼暐甯傚満閮 +//鏅烘収鑳芥簮浜嬩笟閮 + + string sbu1 = ""; + string sbu2 = ""; + string sbu3 = ""; + string sbu4 = ""; + string sbu = ""; + Dictionary heBingDic = new Dictionary(); + heBingDic.Add(sbu1, 0); + heBingDic.Add(sbu2, 0); + heBingDic.Add(sbu3, 0); + heBingDic.Add(sbu4, 0); + int row = 0; + var insertList = list.Where(t=>1==0).ToList(); + insertList = new List(); + foreach (var item in list) + { + if (sbu != item["sbu"] && row > 0 || (row == (list.Count - 1))) + { + var templist = list.Where(t => t["sbu"] == sbu).ToList(); + + var tempItem = item.Copy(); + tempItem["Salesperson"] = sbu + "灏忚"; + sbu = item["sbu"].ToString(); + tempItem["sbu"] = ""; + tempItem["X1Month"] = templist.Sum(t => long.Parse(t["X1Month"].ToString())); + tempItem["X2Month"] = templist.Sum(t => long.Parse(t["X2Month"].ToString())); + tempItem["X3Month"] = templist.Sum(t => long.Parse(t["X3Month"].ToString())); + tempItem["X4Month"] = templist.Sum(t => long.Parse(t["X4Month"].ToString())); + tempItem["X5Month"] = templist.Sum(t => long.Parse(t["X5Month"].ToString())); + tempItem["X6Month"] = templist.Sum(t => long.Parse(t["X6Month"].ToString())); + tempItem["X7Month"] = templist.Sum(t => long.Parse(t["X7Month"].ToString())); + tempItem["X8Month"] = templist.Sum(t => long.Parse(t["X8Month"].ToString())); + tempItem["X9Month"] = templist.Sum(t => long.Parse(t["X9Month"].ToString())); + tempItem["X10Month"] = templist.Sum(t => long.Parse(t["X10Month"].ToString())); + tempItem["X11Month"] = templist.Sum(t => long.Parse(t["X11Month"].ToString())); + tempItem["X12Month"] = templist.Sum(t => long.Parse(t["X12Month"].ToString())); + + tempItem["H1Month"] = templist.Sum(t => long.Parse(t["H1Month"].ToString())); + tempItem["H2Month"] = templist.Sum(t => long.Parse(t["H2Month"].ToString())); + tempItem["H3Month"] = templist.Sum(t => long.Parse(t["H3Month"].ToString())); + tempItem["H4Month"] = templist.Sum(t => long.Parse(t["H4Month"].ToString())); + tempItem["H5Month"] = templist.Sum(t => long.Parse(t["H5Month"].ToString())); + tempItem["H6Month"] = templist.Sum(t => long.Parse(t["H6Month"].ToString())); + tempItem["H7Month"] = templist.Sum(t => long.Parse(t["H7Month"].ToString())); + tempItem["H8Month"] = templist.Sum(t => long.Parse(t["H8Month"].ToString())); + tempItem["H9Month"] = templist.Sum(t => long.Parse(t["H9Month"].ToString())); + tempItem["H10Month"] = templist.Sum(t => long.Parse(t["H10Month"].ToString())); + tempItem["H11Month"] = templist.Sum(t => long.Parse(t["H11Month"].ToString())); + tempItem["H12Month"] = templist.Sum(t => long.Parse(t["H12Month"].ToString())); + + tempItem["XCumulative"] = templist.Sum(t => long.Parse(t["XCumulative"].ToString())); + tempItem["UsualAlterAmount"] = templist.Sum(t => long.Parse(t["UsualAlterAmount"].ToString())); + tempItem["SiNO"] = templist.Sum(t => long.Parse(t["SiNO"].ToString())); + tempItem["SiNOUsualAlter"] = templist.Sum(t => long.Parse(t["SiNOUsualAlter"].ToString())); + tempItem["WuhanPilotThisYear"] = templist.Sum(t => long.Parse(t["WuhanPilotThisYear"].ToString())); + tempItem["WuhanPilotUsualAlter"] = templist.Sum(t => long.Parse(t["WuhanPilotUsualAlter"].ToString())); + tempItem["Discovery"] = templist.Sum(t => long.Parse(t["Discovery"].ToString())); + tempItem["HongKongPilot"] = templist.Sum(t => long.Parse(t["HongKongPilot"].ToString())); + tempItem["HuaXiaYunLian"] = templist.Sum(t => long.Parse(t["HuaXiaYunLian"].ToString())); + tempItem["DetailArea"] = item["DetailArea"].ToString(); + tempItem["ZhuhaiPilot"] = templist.Sum(t => long.Parse(t["[ZhuhaiPilot]"].ToString())); + tempItem["PilotSumAmount"] = templist.Sum(t => long.Parse(t["PilotSumAmount"].ToString())); + tempItem["FID"] =int.Parse(item["FID"].ToString())+1; + tempItem["FIDENTITYID"] = int.Parse(item["FIDENTITYID"].ToString()) + 1; ; + tempItem["Sort"] = 1; + insertList.Add(tempItem); + } + + if (row == 0) + { + sbu = item["sbu"].ToString(); + } + + } + var heJi2 = insertList.Where(t =>( t["SBU"].ToString().Contains("EMT") && !t["SBU"].ToString().Contains("EMT鍥㈤槦")) || t["SBU"].ToString().Contains("鏁版嵁涓績") + || t["SBU"].ToString().Contains("鍖婚櫌") || t["SBU"].ToString().Contains("鏈哄満琛屼笟绾")).ToList(); + + var heJi3 = insertList.Where(t => t["SBU"].ToString().Contains("鍗婂浣撳強鍖楁柟澶у尯") || t["SBU"].ToString().Contains("钀ラ攢涓績") + || t["SBU"].ToString().Contains("鏂扮枂鍖") ).ToList(); + + var heJi4 = insertList.Where(t => t["SBU"].ToString().Contains("璇虹摝鏁拌兘") || t["SBU"].ToString().Contains("鏅烘収鑳芥簮浜嬩笟閮") + || t["SBU"].ToString().Contains("鍥介檯浜嬩笟閮") ||( t["SBU"].ToString().Contains("鍏朵粬")|| t["SBU"]==null)).ToList(); + + + string insertSql=$@"insert into {tableName} "; + + //string upsql = $@"update {tableName} set fid=sortNum,FIDENTITYID=sortNum1"; } } } diff --git a/Pilot.Report.Exploitation/Receivables/ReceivablesAutoExecute.cs b/Pilot.Report.Exploitation/Receivables/ReceivablesAutoExecute.cs index d72c509..0de6fed 100644 --- a/Pilot.Report.Exploitation/Receivables/ReceivablesAutoExecute.cs +++ b/Pilot.Report.Exploitation/Receivables/ReceivablesAutoExecute.cs @@ -17,7 +17,25 @@ namespace Pilot.Report.Exploitation.Receivables { public void Run(Kingdee.BOS.Context ctx, Schedule schedule) { - DBServiceHelper.Execute(ctx, "/*dialect*/ EXEC PR_YingShouMingXi_yuyubo"); + try + { + DBServiceHelper.Execute(ctx, "/*dialect*/ EXEC PR_YingShouMingXi_yuyubo"); + } + catch (Exception ex) + { + throw new Exception("PR_YingShouMingXi_yuyubo:"+ex.Message); + } + finally + { + try + { + DBServiceHelper.Execute(ctx, "/*dialect*/ EXEC ZPR_SalesRportShareData"); + } + catch (Exception ex) + { + throw new Exception("ZPR_SalesRportShareData:"+ex.Message); + } + } } diff --git a/Pilot.Report.Exploitation/SaleOrderProgress/SaleOrderProgressReport.cs b/Pilot.Report.Exploitation/SaleOrderProgress/SaleOrderProgressReport.cs index 18a9855..6771efd 100644 --- a/Pilot.Report.Exploitation/SaleOrderProgress/SaleOrderProgressReport.cs +++ b/Pilot.Report.Exploitation/SaleOrderProgress/SaleOrderProgressReport.cs @@ -10,6 +10,7 @@ using System.Threading.Tasks; using Kingdee.BOS.Contracts.Report; using Kingdee.BOS.Util; using System.ComponentModel; +using Pilot.Report.Exploitation.Common; namespace Pilot.Report.Exploitation.SaleOrderProgress { @@ -292,7 +293,8 @@ namespace Pilot.Report.Exploitation.SaleOrderProgress INTO {0} From #TEMPTABLE3", tableName); - + Loghelp.Log("閿鍞鍗曡繘搴︽姤琛"); + Loghelp.Log(sql); DBUtils.Execute(this.Context, sql); } diff --git a/ZPR_SalesRportShareData.sql b/ZPR_SalesRportShareData.sql new file mode 100644 index 0000000..33992c0 --- /dev/null +++ b/ZPR_SalesRportShareData.sql @@ -0,0 +1,146 @@ + + +-- 检查存储过程是否存在,存在则删除 +IF OBJECT_ID('dbo.[ZPR_SalesRportShareData]', 'P') IS NOT NULL +BEGIN + DROP PROCEDURE dbo.ZPR_SalesRportShareData; + PRINT '存储过程 dbo.[ZPR_SalesRportShareData] 已删除'; +END +GO + +-- 创建新的存储过程 +CREATE PROCEDURE dbo.ZPR_SalesRportShareData +AS +BEGIN + -- 存储过程逻辑 + TRUNCATE TABLE [ZZZ_SalesRportShareData]; + INSERT INTO [ZZZ_SalesRportShareData] + ([销售单主键ID],[销售员ID],[F_RecConditionId],[整单订单总额],[销售员],[分摊比例],[分摊金额],[SBU],[明细区域],[购货单位],[公司性质],[客户信用] + ,[纸质合同号],[项目名称],[签订年份],[订单日期],[发货日期],[整单累计发货金额],[开票日期],[整单累计退货金额],[整单累计开票金额],[整单累计到款金额],[订单总额],[累计发货金额],[累计退货金额],[累计开票金额],[应收款合计] + ,[累计到款金额],[组织ID],[销售订单编号],[收款条件主键ID],[收款条件],[应收单日期]) +SELECT +[销售单主键ID],[销售员ID],[F_RecConditionId],[整单订单总额],[销售员],[分摊比例],[分摊金额],[SBU],[明细区域],[购货单位],[公司性质],[客户信用] +,[纸质合同号],[项目名称],[签订年份],[订单日期],[发货日期],[整单累计发货金额],[开票日期],[整单累计退货金额],[整单累计开票金额], [整单累计到款金额],0 [订单总额] +,0 [累计发货金额],0 [累计退货金额],0 [累计开票金额],0 [应收款合计],0 [累计到款金额],[组织ID],[销售订单编号],[收款条件主键ID],[收款条件], [应收单日期] +FROM ( +SELECT A.FID [销售单主键ID] +,ISNULL(O.fid,l.fid) [销售员ID] +,ISNULL(w.FENTRYID,0) [收款条件主键ID], ISNULL(w.FNAME,'') AS [收款条件], W.F_RecConditionId +,(SELECT SUM(FBillAllAmount_LC) FROM T_SAL_ORDERFIN FF WHERE FF.FID = A.FID )AS [整单订单总额] +,ISNULL(O.FNAME,L.FNAME) AS [销售员],CONVERT(DECIMAL(18,2),ISNULL(n.FSHARERATE,100)) AS [分摊比例] +,CONVERT(DECIMAL(18,6),ISNULL(n.FSHAREAMOUNT,fin.FBillAllAmount_LC)) [分摊金额] + ,ISNULL(ACO.区域,ACL.区域) AS [SBU] , ISNULL (ACO.[明细区域] , ACL.明细区域) AS [明细区域],c.FNAME AS [购货单位] ,ISNULL(K.FDATAVALUE,'') AS [公司性质] + ,P.FDATAVALUE AS [客户信用],A.F_contractnumber AS [纸质合同号] , G.FNAME AS [项目名称] + ,CONVERT( NVARCHAR(10), YEAR(A.FAPPROVEDATE)) AS [签订年份],CONVERT(VARCHAR(10), A.FAPPROVEDATE,23) AS [订单日期] + ,[发货日期]=ISNULL((SELECT (CONVERT(NVARCHAR(10),MAX(SAL.FDATE),23)) AS '发货日期' FROM T_SAL_DELIVERYNOTICE SAL + INNER JOIN T_SAL_DELIVERYNOTICEFIN B ON SAL.FID =B.FID + WHERE SAL.FDOCUMENTSTATUS= 'C' AND SAL.F_PAPERCONTRACT = A.F_contractnumber),'') + ,[整单累计发货金额]=ISNULL( (SELECT SUM(B.FBillAllAmount_LC) AS '累计发货金额' FROM T_SAL_DELIVERYNOTICE SAL + INNER JOIN T_SAL_DELIVERYNOTICEFIN B ON SAL.FID =B.FID + WHERE SAL.FDOCUMENTSTATUS= 'C' AND SAL.F_PAPERCONTRACT = A.F_contractnumber),0) + + ,[开票日期]=ISNULL((CASE WHEN SUBSTRING(U.FDATAVALUE,0,1)= 'W' THEN T.开票日期 ELSE T.没有红色的开票日期 END ),'') + ,[整单累计退货金额]=ISNULL(( + SELECT SUM(B.FBillAllAmount_LC) AS '累计退货金额' + FROM T_SAL_RETURNSTOCK AA + INNER JOIN T_SAL_RETURNSTOCKFIN B ON AA.FID =B.FID + WHERE AA.FDOCUMENTSTATUS= 'C' AND A.F_contractnumber = AA.F_contractnumber ),0) + + ,[整单累计开票金额] =ISNULL( CASE WHEN SUBSTRING(U.FDATAVALUE,0,1)= 'W' THEN AD.发票总金额 ELSE AD.[发票总金额(普票存财务)] END,0) + ,A.FSALEORGID as '组织ID' + ,W.F_DAY AS '天数' + ,a.FBILLNO [销售订单编号] + ,[应收单日期]=(T.[开票日期]) + ,[整单累计到款金额]= ISNULL(a.F_Amount,0) + -----------------from 表-------- + + FROM T_SAL_ORDER A WITH(NOLOCK) + LEFT JOIN ( + SELECT DISTINCT x.FNAME +'--'+CONVERT(NVARCHAR(50), CONVERT(INT, w.F_DAY))+'--'+CONVERT(NVARCHAR(50),CONVERT(DECIMAL(18,2), w.FRECADVANCERATE))+'%' AS FNAME + ,w.FID,w.F_PMSDate + ,W.FRECADVANCEAMOUNT,w.F_DAY + ,w.FENTRYID, W.F_RecConditionId ,w.FRECADVANCERATE + FROM T_SAL_ORDERPLAN w WITH(NOLOCK) + LEFT JOIN T_BD_RecCondition_L X ON X.FID = W.F_RecConditionId + ) w ON w.FID=A.FID + 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 + LEFT JOIN T_BD_CUSTOMER_L C WITH(NOLOCK) ON C.FCUSTID= A.FCUSTID AND C.FLOCALEID= 2052 + left JOIN T_PerformanceSharingEntry TPS ON TPS.fid=a.FID + LEFT JOIN V_BD_SALESMAN_L L WITH(NOLOCK) ON L.fid = A.FSALERID + LEFT JOIN T_PerformanceSharing M WITH(NOLOCK) ON M.FSOURCEBILLNO = A.FBILLNO AND M.FDOCUMENTSTATUS = 'C' + LEFT JOIN T_PerformanceSharingEntry N WITH(NOLOCK) ON N.FID=M.FID + LEFT JOIN V_BD_SALESMAN_L O WITH(NOLOCK) ON O.fid= N.FSALEID + LEFT JOIN (SELECT DISTINCT ACO22.名称,ACO22.明细区域,ACO22.区域 FROM ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO22 ) ACO ON ACO.名称=O.FNAME AND ISNULL(ACO.明细区域,'') != '' + LEFT JOIN (SELECT DISTINCT ACL22.名称,ACL22.明细区域 ,ACL22.区域 FROM ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACL22 ) ACL ON ACL.名称=L.FNAME AND ISNULL(ACL.明细区域,'') != '' + LEFT JOIN T_SAL_ORDERFIN fin WITH(NOLOCK) ON a.FID=fin.FID + LEFT JOIN T_BD_CUSTOMER I WITH(NOLOCK) ON I .FCUSTID = A.FCUSTID + lEFT JOIN V_ASSISTANTDATA K WITH(NOLOCK) ON K.FENTRYID = i.FCompanyNature + LEFT JOIN V_ASSISTANTDATA P WITH(NOLOCK) ON P.FENTRYID = I.F_CREDITCLASSIFICATION + LEFT JOIN T_BAS_PREBDONE_L G WITH(NOLOCK) ON G.FID = A.F_projectname AND G.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_Papercontract,CAST( sum(b.FALLAMOUNT) AS DECIMAL(18,6)) AS '发票总金额', + CAST (sum(CASE WHEN F_Papercontract = 'Y' THEN b.FALLAMOUNT ELSE 0 END ) AS DECIMAL(18,6)) 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, + sum(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 + + LEFT JOIN (SELECT DISTINCT F_Papercontract FROM T_SAL_DELIVERYNOTICE WHERE F_SFYFH ='是') AB ON AB.F_PAPERCONTRACT = A.F_contractnumber + + WHERE ( ( A.FSALEORGID = 100302 AND ( + (ACO.区域 != '碳索智控' OR ACO.区域 IS NULL ) + AND (ACL.区域 != '碳索智控' OR ACL.区域 IS NULL ) + AND C.FNAME NOT IN ('派诺科技(香港)有限公司','武汉派诺科技发展有限公司') + AND L.FNAME NOT IN ('兴诺总','陈智勇') )) OR A.FSALEORGID != 100302) AND A.FDocumentStatus = 'C' + AND EXISTS(SELECT 1 FROM T_SAL_ORDERENTRY bb WHERE bb.fid=a.fid ) + ) A + + WHERE [整单订单总额]<>0 AND SUBSTRING([纸质合同号],1,1) != 'Z' + ORDER BY A.[销售单主键ID],[销售员ID] + +UPDATE [ZZZ_SalesRportShareData] SET [订单总额]=[分摊金额],[累计发货金额]=[整单累计发货金额]*[分摊比例]*0.01,[累计退货金额]=[整单累计退货金额]*[分摊比例]*0.01 +,[累计开票金额]=[整单累计开票金额]*[分摊比例]*0.01,[累计到款金额]=[整单累计到款金额]*[分摊比例]*0.01 +,[应收款合计]=[分摊金额]-([整单累计退货金额]+[整单累计到款金额])*[分摊比例]*0.01 + +FROM [ZZZ_SalesRportShareData] A + +UPDATE [ZZZ_SalesRportShareData] SET [订单日期]=CASE WHEN [订单日期] > '1990-01-01' THEN [订单日期] ELSE NULL END , +[发货日期]=CASE WHEN [发货日期] > '1990-01-01' THEN [发货日期] ELSE NULL END + ,[开票日期]=CASE WHEN [开票日期] > '1990-01-01' THEN [开票日期] ELSE NULL END + +END +GO + --EXEC ZPR_SalesRportShareData; + + + + + diff --git a/ZZZ_SalesRportShareData琛.sql b/ZZZ_SalesRportShareData琛.sql new file mode 100644 index 0000000..20ec707 --- /dev/null +++ b/ZZZ_SalesRportShareData琛.sql @@ -0,0 +1,50 @@ + + +/****** Object: Table [dbo].[ZZZ_SalesRportShareData] Script Date: 2025/3/19 10:16:46 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[ZZZ_SalesRportShareData]( + [销售单主键ID] [INT] NULL, + [销售员ID] [INT] NULL, + [F_RecConditionId] [INT] NULL, + [整单订单总额] [DECIMAL](18, 2) NULL, + [销售员] [NVARCHAR](50) NULL, + [分摊比例] [DECIMAL](18, 2) NULL, + [分摊金额] [DECIMAL](18, 6) NULL, + [SBU] [NVARCHAR](200) NULL, + [明细区域] [NVARCHAR](100) NULL, + [购货单位] [NVARCHAR](255) NULL, + [公司性质] [NVARCHAR](255) NULL, + [客户信用] [NVARCHAR](255) NULL, + [纸质合同号] [NVARCHAR](1000) NULL, + [项目名称] [NVARCHAR](255) NULL, + [签订年份] [NVARCHAR](10) NULL, + [订单日期] [DATETIME] NULL, + [发货日期] [DATETIME] NULL, + [整单累计发货金额] [DECIMAL](38, 10) NULL, + [开票日期] [DATETIME] NULL, + [整单累计退货金额] [DECIMAL](38, 10) NULL, + [整单累计开票金额] [DECIMAL](18, 6) NULL, + [整单累计到款金额] [DECIMAL](38, 10) NULL, + [订单总额] [DECIMAL](18, 6) NULL, + [累计发货金额] [DECIMAL](18, 6) NULL, + [累计退货金额] [DECIMAL](18, 6) NULL, + [累计开票金额] [DECIMAL](18, 6) NULL, + [应收款合计] [DECIMAL](18, 6) NULL, + [累计到款金额] [DECIMAL](18, 6) NULL, + [组织ID] [INT] NULL, + [销售订单编号] [NVARCHAR](500) NULL, + [收款条件主键ID] [INT] NULL, + [收款条件] [NVARCHAR](205) NULL, + [应收单日期] [DATETIME] NULL +) ON [PRIMARY] +GO + +ALTER TABLE [dbo].[ZZZ_SalesRportShareData] ADD CONSTRAINT [DF_ZZZ_SalesRportShareData_开票日期] DEFAULT (NULL) FOR [开票日期] +GO + + diff --git a/骞村害閿鍞鍥炴棰濇眹鎬绘姤琛▂uyubo.sql b/骞村害閿鍞鍥炴棰濇眹鎬绘姤琛▂uyubo.sql new file mode 100644 index 0000000..008adb8 --- /dev/null +++ b/骞村害閿鍞鍥炴棰濇眹鎬绘姤琛▂uyubo.sql @@ -0,0 +1,239 @@ +/*dialect*/SELECT EE.* +,ee.销售员 AS Salesperson +,[累计销售额] as XCumulative,[往年订单变更金额] as UsualAlterAmount,[兴诺业绩] as SiNO,[兴诺往年订单变更] as SiNOUsualAlter,[武汉派诺-当年业绩] as WuhanPilotThisYear +,[武汉派诺-往年订单变更] as WuhanPilotUsualAlter, [碳索业绩] as Discovery,[香港派诺业绩] as HongKongPilot,[华夏云联业绩] as HuaXiaYunLian ,[明细区域] as DetailArea +,[ZhuhaiPilot]=[累计销售额]+[往年订单变更金额] +,[PilotSumAmount]=[累计销售额]+[往年订单变更金额]+[兴诺业绩]+[兴诺往年订单变更]+[武汉派诺-当年业绩]+[武汉派诺-往年订单变更]+[碳索业绩]+[香港派诺业绩]+[华夏云联业绩] + ,ROW_NUMBER() OVER (ORDER BY [销售员ID]) AS FID + ,ROW_NUMBER() OVER (ORDER BY [销售员ID]) AS FIDENTITYID ,0 AS Sort, 0 AS SortNum, 0 AS SortNum1, 0 AS SortNum2 + into TMPBBC038E0063211F0AD6BB7D6383 +FROM ( +SELECT DISTINCT +A.* ,[X1Month]=ISNULL(( +SELECT SUM([订单总额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[订单日期] >='2025-01-01 00:00:00' AND AA.[订单日期] <'2025-02-01 00:00:00') kk +),0) +,[H1Month]=ISNULL(( +SELECT SUM([累计到款金额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[累计到款金额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[应收单日期] >='2025-01-01 00:00:00' AND AA.[应收单日期] <'2025-02-01 00:00:00') kk +),0) ,[X2Month]=ISNULL(( +SELECT SUM([订单总额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[订单日期] >='2025-02-01 00:00:00' AND AA.[订单日期] <'2025-03-01 00:00:00') kk +),0) +,[H2Month]=ISNULL(( +SELECT SUM([累计到款金额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[累计到款金额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[应收单日期] >='2025-02-01 00:00:00' AND AA.[应收单日期] <'2025-03-01 00:00:00') kk +),0) ,[X3Month]=ISNULL(( +SELECT SUM([订单总额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[订单日期] >='2025-03-01 00:00:00' AND AA.[订单日期] <'2025-04-01 00:00:00') kk +),0) +,[H3Month]=ISNULL(( +SELECT SUM([累计到款金额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[累计到款金额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[应收单日期] >='2025-03-01 00:00:00' AND AA.[应收单日期] <'2025-04-01 00:00:00') kk +),0) ,[X4Month]=ISNULL(( +SELECT SUM([订单总额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[订单日期] >='2025-04-01 00:00:00' AND AA.[订单日期] <'2025-05-01 00:00:00') kk +),0) +,[H4Month]=ISNULL(( +SELECT SUM([累计到款金额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[累计到款金额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[应收单日期] >='2025-04-01 00:00:00' AND AA.[应收单日期] <'2025-05-01 00:00:00') kk +),0) ,[X5Month]=ISNULL(( +SELECT SUM([订单总额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[订单日期] >='2025-05-01 00:00:00' AND AA.[订单日期] <'2025-06-01 00:00:00') kk +),0) +,[H5Month]=ISNULL(( +SELECT SUM([累计到款金额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[累计到款金额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[应收单日期] >='2025-05-01 00:00:00' AND AA.[应收单日期] <'2025-06-01 00:00:00') kk +),0) ,[X6Month]=ISNULL(( +SELECT SUM([订单总额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[订单日期] >='2025-06-01 00:00:00' AND AA.[订单日期] <'2025-07-01 00:00:00') kk +),0) +,[H6Month]=ISNULL(( +SELECT SUM([累计到款金额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[累计到款金额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[应收单日期] >='2025-06-01 00:00:00' AND AA.[应收单日期] <'2025-07-01 00:00:00') kk +),0) ,[X7Month]=ISNULL(( +SELECT SUM([订单总额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[订单日期] >='2025-07-01 00:00:00' AND AA.[订单日期] <'2025-08-01 00:00:00') kk +),0) +,[H7Month]=ISNULL(( +SELECT SUM([累计到款金额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[累计到款金额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[应收单日期] >='2025-07-01 00:00:00' AND AA.[应收单日期] <'2025-08-01 00:00:00') kk +),0) ,[X8Month]=ISNULL(( +SELECT SUM([订单总额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[订单日期] >='2025-08-01 00:00:00' AND AA.[订单日期] <'2025-09-01 00:00:00') kk +),0) +,[H8Month]=ISNULL(( +SELECT SUM([累计到款金额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[累计到款金额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[应收单日期] >='2025-08-01 00:00:00' AND AA.[应收单日期] <'2025-09-01 00:00:00') kk +),0) ,[X9Month]=ISNULL(( +SELECT SUM([订单总额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[订单日期] >='2025-09-01 00:00:00' AND AA.[订单日期] <'2025-10-01 00:00:00') kk +),0) +,[H9Month]=ISNULL(( +SELECT SUM([累计到款金额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[累计到款金额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[应收单日期] >='2025-09-01 00:00:00' AND AA.[应收单日期] <'2025-10-01 00:00:00') kk +),0) ,[X10Month]=ISNULL(( +SELECT SUM([订单总额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[订单日期] >='2025-10-01 00:00:00' AND AA.[订单日期] <'2025-11-01 00:00:00') kk +),0) +,[H10Month]=ISNULL(( +SELECT SUM([累计到款金额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[累计到款金额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[应收单日期] >='2025-10-01 00:00:00' AND AA.[应收单日期] <'2025-11-01 00:00:00') kk +),0) ,[X11Month]=ISNULL(( +SELECT SUM([订单总额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[订单日期] >='2025-11-01 00:00:00' AND AA.[订单日期] <'2025-12-01 00:00:00') kk +),0) +,[H11Month]=ISNULL(( +SELECT SUM([累计到款金额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[累计到款金额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[应收单日期] >='2025-11-01 00:00:00' AND AA.[应收单日期] <'2025-12-01 00:00:00') kk +),0) ,[X12Month]=ISNULL(( +SELECT SUM([订单总额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[订单日期] >='2025-12-01 00:00:00' AND AA.[订单日期] <'2026-01-01 00:00:00') kk +),0) +,[H12Month]=ISNULL(( +SELECT SUM([累计到款金额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[累计到款金额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[应收单日期] >='2025-12-01 00:00:00' AND AA.[应收单日期] <'2026-01-01 00:00:00') kk +),0) ,[累计销售额]=ISNULL(( +SELECT SUM(分摊金额) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,分摊金额 +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[订单日期] >='2025-01-01 00:00:00' AND AA.[订单日期] <'2026-01-01 00:00:00') kk +),0) +,[累计回款额]=ISNULL(( +SELECT SUM([累计到款金额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[累计到款金额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] +AND AA.[应收单日期] >='2025-01-01 00:00:00' AND AA.[应收单日期] <'2026-01-01 00:00:00') kk +),0) + +,[往年订单变更金额]=ISNULL((SELECT SUM(FBillAllAmount_LC-F_Amountstar) +FROM ( + SELECT FChangeDate,FJoinOrderAmount ,b.FBILLNO, aa.FBillAllAmount_LC,F_Amountstar + FROM T_SAL_ORDERFIN aa +LEFT JOIN T_SAL_ORDER B +ON aa.FID=b.fid +WHERE aa.FID IN (SELECT [销售单主键ID] FROM [ZZZ_SalesRportShareData] share WITH(NOLOCK) + WHERE [订单日期] >='2025-01-01 00:00:00' AND [订单日期] <'2026-01-01 00:00:00' AND share.[销售员ID]=a.[销售员ID] AND 组织ID=100302 ) + AND B.FCHANGEDATE >='2025-01-01 00:00:00' AND B.FCHANGEDATE<'2026-01-01 00:00:00' +) ss),0) +,[兴诺业绩]=ISNULL(( +SELECT SUM([订单总额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] AND 组织ID=100303 +AND AA.[订单日期] >='2025-01-01 00:00:00' AND AA.[订单日期] <'2026-01-01 00:00:00') kk +),0) +,[兴诺往年订单变更]=ISNULL((SELECT SUM(FBillAllAmount_LC-F_Amountstar) +FROM ( + SELECT FChangeDate,FJoinOrderAmount ,b.FBILLNO, aa.FBillAllAmount_LC,F_Amountstar + FROM T_SAL_ORDERFIN aa +LEFT JOIN T_SAL_ORDER B +ON aa.FID=b.fid +WHERE aa.FID IN (SELECT [销售单主键ID] FROM [ZZZ_SalesRportShareData] share WITH(NOLOCK) + WHERE [订单日期] >='2025-01-01 00:00:00' AND [订单日期] <'2026-01-01 00:00:00' AND share.[销售员ID]=a.[销售员ID] AND 组织ID=100303 ) + AND B.FCHANGEDATE >='2025-01-01 00:00:00' AND B.FCHANGEDATE<'2026-01-01 00:00:00' +) ss),0) +,[武汉派诺-当年业绩]=ISNULL(( +SELECT SUM([订单总额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] AND 组织ID=100305 +AND AA.[订单日期] >='2025-01-01 00:00:00' AND AA.[订单日期] <'2026-01-01 00:00:00') kk +),0) +,[武汉派诺-往年订单变更]=ISNULL((SELECT SUM(FBillAllAmount_LC-F_Amountstar) +FROM ( + SELECT FChangeDate,FJoinOrderAmount ,b.FBILLNO, aa.FBillAllAmount_LC,F_Amountstar + FROM T_SAL_ORDERFIN aa +LEFT JOIN T_SAL_ORDER B +ON aa.FID=b.fid +WHERE aa.FID IN (SELECT [销售单主键ID] FROM [ZZZ_SalesRportShareData] share WITH(NOLOCK) + WHERE [订单日期] >='2025-01-01 00:00:00' AND [订单日期] <'2026-01-01 00:00:00' AND share.[销售员ID]=a.[销售员ID] AND 组织ID=100305 ) + AND B.FCHANGEDATE >='2025-01-01 00:00:00' AND B.FCHANGEDATE<'2026-01-01 00:00:00' +) ss),0) +,[碳索业绩]=ISNULL(( +SELECT SUM([订单总额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] AND 组织ID=438223 +AND AA.[订单日期] >='2025-01-01 00:00:00' AND AA.[订单日期] <'2026-01-01 00:00:00') kk +),0) +,[香港派诺业绩]=ISNULL(( +SELECT SUM([订单总额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] AND 组织ID=438224 +AND AA.[订单日期] >='2025-01-01 00:00:00' AND AA.[订单日期] <'2026-01-01 00:00:00') kk +),0) +,[华夏云联业绩]=ISNULL(( +SELECT SUM([订单总额]) FROM ( +SELECT DISTINCT [销售员ID],销售单主键ID,[订单总额] +FROM [ZZZ_SalesRportShareData] AA WITH(NOLOCK) WHERE AA.[销售员ID]=A.[销售员ID] AND 组织ID=533896 +AND AA.[订单日期] >='2025-01-01 00:00:00' AND AA.[订单日期] <'2026-01-01 00:00:00') kk +),0) + FROM + (SELECT DISTINCT [销售员] ,[销售员ID],[SBU] ,[明细区域] FROM [ZZZ_SalesRportShareData] WITH(NOLOCK) + WHERE [订单日期] >='2025-01-01 00:00:00' AND [订单日期] <'2026-01-01 00:00:00' and 1=1 ) A ) EE + + ORDER BY [SBU] ,[销售员ID] + + UPDATE TMPBBC038E0063211F0AD6BB7D6383 SET sbu='其他' WHERE sbu IS null + + SELECT DISTINCT sbu FROM TMPBBC038E0063211F0AD6BB7D6383 + + SELECT * FROM TMPBBC038E0063211F0AD6BB7D6383 ORDER BY sortnum + + SELECT [sbu]+'小计' , 99383320 ,'','', SUM(X1Month) AS X1Month,SUM(H1Month) AS H1Month, SUM(X2Month) AS X2Month,SUM(H2Month) AS H2Month, SUM(X3Month) AS X3Month,SUM(H3Month) AS H3Month, SUM(X4Month) AS X4Month,SUM(H4Month) AS H4Month + , SUM(X5Month) AS X5Month,SUM(H6Month) AS H6Month, SUM(X7Month) AS X7Month,SUM(H7Month) AS H7Month, SUM(X8Month) AS X8Month,SUM(H9Month) AS H9Month, SUM(X10Month) AS X10Month,SUM(H10Month) AS H10Month, SUM(X11Month) AS X11Month,SUM(H11Month) AS H11Month + , SUM(X12Month) AS X12Month,SUM(H1Month) AS H1Month + , SUM([XCumulative]) AS [XCumulative],SUM([XCumulative]) AS [XCumulative], SUM([UsualAlterAmount]) AS [UsualAlterAmount],SUM([SiNO]) AS [SiNO], SUM([SiNOUsualAlter]) AS [SiNOUsualAlter] + ,SUM([WuhanPilotThisYear]) AS [WuhanPilotThisYear],SUM([WuhanPilotUsualAlter]) AS [WuhanPilotUsualAlter],SUM([Discovery]) AS [Discovery],SUM([HongKongPilot]) AS H1Month,SUM([HongKongPilot]) AS H1Month + ,SUM([HuaXiaYunLian]) AS [HuaXiaYunLian],SUM([ZhuhaiPilot]) AS [ZhuhaiPilot],SUM([PilotSumAmount]) AS [PilotSumAmount],SUM([PilotSumAmount]) AS [PilotSumAmount] + FROM TMPBBC038E0063211F0AD6BB7D6383 + GROUP BY SBU + + + --DROP TABLE TMPBBC038E0063211F0AD6BB7D6383 \ No newline at end of file diff --git a/搴旀敹鏄庣粏SQL.sql b/搴旀敹鏄庣粏SQL.sql index e4111bb..d23e4d2 100644 --- a/搴旀敹鏄庣粏SQL.sql +++ b/搴旀敹鏄庣粏SQL.sql @@ -63,17 +63,17 @@ SELECT A.FID [ ( SELECT DISTINCT * FROM ( SELECT plan1.FID ,CASE - WHEN X.FNAME like '%预付款%' THEN CONVERT(NVARCHAR, AA.FAPPROVEDATE, 120) - WHEN X.FNAME LIKE '%货到收款%' THEN DATEADD(day, plan1.F_DAY, CK.F_SFSIGNATURETIME) - WHEN X.FNAME LIKE '%货到票到收款%' THEN DATEADD(day, plan1.F_DAY,FP.FAPPROVEDATE) + WHEN X.FNAME LIKE '%预付款%' THEN CONVERT(NVARCHAR, AA.FAPPROVEDATE, 120) + WHEN X.FNAME LIKE '%货到收款%' THEN DATEADD(DAY, plan1.F_DAY, CK.F_SFSIGNATURETIME) + WHEN X.FNAME LIKE '%货到票到收款%' THEN DATEADD(DAY, plan1.F_DAY,FP.FAPPROVEDATE) --WHEN X.FNAME LIKE '%款到发货%' THEN DATEADD(day, plan1.F_DAY,Q.发货日期) -- 注意:销售订单【验收日期】:年后会加这个字段,由PMS系统传输过来 该字段未添加 - ELSE null + ELSE NULL END AS '预计到期时间' --销售订单-付款计划-PMS日期# ,plan1.F_RECCONDITIONID,X.FNAME, plan1.F_DAY,plan1.FENTRYID ,AA.FAPPROVEDATE,CK.F_SFSIGNATURETIME - from + FROM T_SAL_ORDER AA WITH(NOLOCK) - left join + LEFT JOIN T_SAL_ORDERPLAN plan1 WITH(NOLOCK) ON plan1.FID=aa.FID LEFT JOIN T_BD_RecCondition_L X WITH(NOLOCK) ON X.FID = plan1.F_RecConditionId LEFT JOIN (SELECT MAX(F_SFSIGNATURETIME) F_SFSIGNATURETIME ,F_CONTRACTNUMBER,FSALEORGID @@ -163,21 +163,24 @@ SELECT A.FID [ LEFT JOIN ( SELECT F_Paper ,CONVERT(NVARCHAR(10), MAX(FDATE),23) AS '开票日期' - ,CONVERT(NVARCHAR(10), MAX(FDATE),23) AS '没有红色的开票日期' + ,CONVERT(NVARCHAR(10), MAX(FDATE),23) AS '没有红色的开票日期' ,A.FSALEORGID FROM t_AR_receivable A WITH(NOLOCK) INNER JOIN T_AR_RECEIVABLEENTRY B WITH(NOLOCK) 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 + GROUP BY F_Paper ,A.FSALEORGID + ) T ON T.F_PAPER = A.F_contractnumber AND t.FSALEORGID=a.FSALEORGID LEFT JOIN V_ASSISTANTDATA U WITH(NOLOCK) ON U.FENTRYID = A.F_Ordercategory LEFT JOIN ( - SELECT F_PaperNumber, FSALEORGID ,SUM(FAFTERTOTALTAX) AS '发票总金额' FROM ( + SELECT F_PaperNumber, FSALEORGID ,SUM(F_GeneralInvoice) AS '发票总金额' FROM ( SELECT F_PaperNumber, t0.FSALEORGID, - CASE WHEN SUBSTRING(F_PaperNumber,1,1)='w' THEN FAFTERTOTALTAX - WHEN SUBSTRING(F_PaperNumber,1,1)!='w' AND F_GENERALINVOICE='Y' THEN 0 ELSE FAFTERTOTALTAX END AS F_GeneralInvoice, - FAFTERTOTALTAX -FROM T_IV_SALESIC t0 WITH(NOLOCK) ) tt + CASE WHEN F_ORDERCATEGORY ='67283ced82f38d' THEN FAFTERTOTALTAX + WHEN F_ORDERCATEGORY !='67283ced82f38d' AND F_GENERALINVOICE='Y' THEN 0 ELSE FAFTERTOTALTAX END AS F_GeneralInvoice + --FAFTERTOTALTAX +FROM T_IV_SALESIC t0 WITH(NOLOCK) +INNER JOIN T_SAL_ORDER aa1 WITH(NOLOCK) ON t0.F_PAPERNUMBER=aa1.F_contractnumber AND t0.FSETTLEORGID=aa1.FSALEORGID + --WHERE F_PaperNumber='P202502070004' +) tt GROUP BY F_PaperNumber, FSALEORGID ) AD ON AD.F_PaperNumber = A.F_contractnumber AND ad.FSALEORGID=a.FSALEORGID @@ -226,16 +229,16 @@ WHEN ISNULL( [ FROM [ZRP_YingShouMingXi_yuyubo] A update [ZRP_YingShouMingXi_yuyubo] SET [订单日期]=CASE WHEN [订单日期] > '1990-01-01' THEN [订单日期] ELSE NULL END ,[发货日期]=CASE WHEN [发货日期] > '1990-01-01' THEN [发货日期] ELSE NULL END - ,[开票日期]=CASE WHEN [开票日期] > '1990-01-01' THEN [开票日期] ELSE NULL END ,[预计到期时间]=CASE WHEN [预计到期时间] > '1990-01-01' THEN [预计到期时间] ELSE NULL END + ,[开票日期]=CASE WHEN [开票日期] > '1990-01-01' THEN [开票日期] ELSE NULL END ,[预计到期时间]=CASE WHEN [预计到期时间] > '1990-01-01' AND [预计到期时间] >GETDATE() THEN [预计到期时间] ELSE NULL END ,[质保金到期时间]=CASE WHEN [质保金到期时间] > '1990-01-01' THEN [质保金到期时间] ELSE NULL END ,[转专责小组时间]=CASE WHEN [转专责小组时间] > '1990-01-01' THEN [转专责小组时间] ELSE NULL END - , [账龄月]= ISNULL( ROUND( DATEDIFF(DAY,[到期时间],GETDATE()) / 30,0) ,0 ) + , [账龄月]= ISNULL( ROUND( DATEDIFF(DAY,[到期时间],GETDATE()) / 30,0) ,0 ) update [ReceivablesDetailsTable] set [F_001]=b.[销售单主键ID],[F_002]=b.[销售员],[F_003]=b.[SBU],[F_004]=B.[明细区域],[F_005]=b.[购货单位],[F_006]=b.[公司性质] ,[F_007]=[客户信用],[F_008]=[纸质合同号],[F_009]=[项目名称],[F_010]=[订单总额],[F_011]=[签订年份],[F_012]=CONVERT(NVARCHAR(20),[订单日期],23),[F_013]=[收款条件],[F_014]=CONVERT(NVARCHAR(20),[发货日期],23) ,[F_015]=[应收比例],[F_016]=CONVERT(NVARCHAR(20),[开票日期],23),[F_017]=[累计发货金额],[F_018]=[累计退货金额],[F_019]=[累计开票金额],[F_020]=[累计到款金额],[F_021]=[应收款合计] - ,[F_022]=[未出货总额],[F_023]=CONVERT(NVARCHAR(20),[预计到期时间],23),[F_024]=[未到期金额],[F_025]=[实际已出货应收款合计],[F_026]=[到期时间],[F_027]=[到期金额],[F_028]=[收款人] + ,[F_022]=[未出货总额],[F_023]=CONVERT(NVARCHAR(20),[预计到期时间],23),[F_024]=[未到期金额],[F_025]=[实际已出货应收款合计],[F_026]=CONVERT(NVARCHAR(20),[到期时间],23) ,[F_027]=[到期金额],[F_028]=[收款人] ,[F_029]=[项目阶段],[F_030]=[项目进度],[F_031]=[项目调试时间],[F_032]=[项目验收时间],[F_033]=[质保金天数],[F_034]=CONVERT(NVARCHAR(20),[质保金到期时间],23),[F_035]=[是否提前验收] ,[F_036]=[账龄月],[F_037]=[账龄-阶段],[F_038]=[1-6个月],[F_039]=[7-12个月],[F_040]=[13-18个月],[F_041]=[19个月以上],[F_042]=[1年以上],[F_043]=[风险评估级别] ,[F_044]=[结算类别],[F_045]=[结算类型],[F_046]=CONVERT(NVARCHAR(20),[转专责小组时间],23),[F_047]=[是否超账龄转出],[F_048]=[超账龄是否申请归还大区],[F_049]=[创建人] diff --git a/閿鍞鍗曡繘搴﹁鍥.sql b/閿鍞鍗曡繘搴﹁鍥.sql index 9dfb66e..bf72c4c 100644 --- a/閿鍞鍗曡繘搴﹁鍥.sql +++ b/閿鍞鍗曡繘搴﹁鍥.sql @@ -9,14 +9,40 @@ T_SEC_USER q3 on q1.FCreatorId = q3.FUSERID Where q1.FDocumentStatus = 'C' AND q W1 JOIN T_SAL_DELIVERYNOTICEENTRY_LK W2 on W1.FENTRYID = W2.FENTRYID Where W2.FSTABLENAME = 'T_SAL_ORDERENTRY' GROUP BY W2.FSBILLID,W1.FNAME) R1 GROUP BY R1.FSBILLID) A; go +--ALTER VIEW [dbo].[V_SXJD_Table2] +--AS +--Select a5.FID,SUM(a2.FRealQty) as 'FRealQty',SUM(FALLAMOUNT_LC) as 'FALLAMOUNT_LC',STRING_AGG(CONVERT(nvarchar,a3.FDATE,23),',') as 'FDate', +--STRING_AGG(a4.FNAME,',')as 'FNAME',SUM(a1.FSIGNQTY) as 'FSIGNQTY' From T_SAL_OUTSTOCKENTRY_R a1 JOIN T_SAL_OUTSTOCKENTRY a2 +--on a1.FENTRYID = a2.FENTRYID JOIN T_SAL_OUTSTOCKENTRY_F aa on aa.FENTRYID = a2.FENTRYID +--JOIN T_SAL_OUTSTOCK a3 on a3.FID = a1.FID JOIN T_SEC_USER a4 on a4.FUSERID = a3.FCREATORID +--JOIN T_SAL_ORDERENTRY a5 on a5.FENTRYID = a1.FSOENTRYID Where a3.FDOCUMENTSTATUS = 'C' GROUP BY a5.FID +--GO +-----2025-3-05-- ALTER VIEW [dbo].[V_SXJD_Table2] AS -Select a5.FID,SUM(a2.FRealQty) as 'FRealQty',SUM(FALLAMOUNT_LC) as 'FALLAMOUNT_LC',STRING_AGG(CONVERT(nvarchar,a3.FDATE,23),',') as 'FDate', -STRING_AGG(a4.FNAME,',')as 'FNAME',SUM(a1.FSIGNQTY) as 'FSIGNQTY' From T_SAL_OUTSTOCKENTRY_R a1 JOIN T_SAL_OUTSTOCKENTRY a2 -on a1.FENTRYID = a2.FENTRYID JOIN T_SAL_OUTSTOCKENTRY_F aa on aa.FENTRYID = a2.FENTRYID -JOIN T_SAL_OUTSTOCK a3 on a3.FID = a1.FID JOIN T_SEC_USER a4 on a4.FUSERID = a3.FCREATORID -JOIN T_SAL_ORDERENTRY a5 on a5.FENTRYID = a1.FSOENTRYID Where a3.FDOCUMENTSTATUS = 'C' GROUP BY a5.FID -go +SELECT a5.FID,SUM(a2.FRealQty) AS 'FRealQty',SUM(FALLAMOUNT_LC) AS 'FALLAMOUNT_LC', + ( + SELECT STRING_AGG(aa4.fname,',') AS fname FROM ( + SELECT DISTINCT fname FROM T_SEC_USER a4 + INNER JOIN T_SAL_OUTSTOCK a3 on a4.FUSERID = a3.FCREATORID + INNER JOIN T_SAL_OUTSTOCKENTRY_R aa1 ON a3.FID=aa1.fid + INNER JOIN T_SAL_ORDERENTRY aa5 ON aa5.FENTRYID = aa1.FSOENTRYID + WHERE aa5.FID=a5.FID ) aa4 + + ) AS 'FNAME' + ,(SELECT STRING_AGG(CONVERT(NVARCHAR,aaa3.FDATE,23),',') FROM + (SELECT DISTINCT CONVERT(NVARCHAR,aa3.FDATE,23) AS FDATE FROM + T_SAL_OUTSTOCK aa3 + INNER JOIN T_SAL_OUTSTOCKENTRY_R aa1 ON aa3.FID=aa1.fid + INNER JOIN T_SAL_ORDERENTRY aa5 ON aa5.FENTRYID = aa1.FSOENTRYID + WHERE aa5.FID=a5.FID ) aaa3 ) AS 'FDate' + ,SUM(a1.FSIGNQTY) AS 'FSIGNQTY' FROM T_SAL_OUTSTOCKENTRY_R a1 JOIN T_SAL_OUTSTOCKENTRY a2 +ON a1.FENTRYID = a2.FENTRYID JOIN T_SAL_OUTSTOCKENTRY_F aa ON aa.FENTRYID = a2.FENTRYID +JOIN T_SAL_OUTSTOCK a3 ON a3.FID = a1.FID +JOIN T_SAL_ORDERENTRY a5 ON a5.FENTRYID = a1.FSOENTRYID WHERE a3.FDOCUMENTSTATUS = 'C' GROUP BY a5.FID +GO + + ALTER VIEW [dbo].[V_SXJD_Table3] AS Select a3.FID,SUM(a1.FREALQTY)'FREALQTY',SUM(a2.FALLAMOUNT_LC)'FALLAMOUNT_LC',STRING_AGG(a5.FNAME,',')as 'FNAME',