This commit is contained in:
liqionghai
2025-08-20 15:51:58 +08:00
3 changed files with 85 additions and 50 deletions

View File

@@ -128,4 +128,7 @@
<Content Include="Library\NPOI.OpenXmlFormats.dll" /> <Content Include="Library\NPOI.OpenXmlFormats.dll" />
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>copy $(TargetPath) "D:\Program Files (x86)\Kingdee\K3Cloud\WebSite\Bin\$(TargetFileName)"</PostBuildEvent>
</PropertyGroup>
</Project> </Project>

View File

@@ -50,6 +50,68 @@ namespace GZ_LTHReportForms.JiXiaoKanBan
this.ReportProperty.DecimalControlFieldList = list; this.ReportProperty.DecimalControlFieldList = list;
} }
/// <summary>
/// 填充过滤条件
/// </summary>
/// <param name="filter"></param>
/// <returns></returns>
public override ReportTitles GetReportTitles(IRptParams filter)
{
ReportTitles reportTitles = new ReportTitles();
DynamicObject customFilter = filter.FilterParameter.CustomFilter;
if (customFilter == null)
{
return reportTitles;
}
// 供需组织 List
var salesPersons = customFilter["F_Salesperson"] as DynamicObjectCollection;
if (salesPersons.Count > 0)
{
reportTitles.AddTitle("F_Salesperson", string.Join(",", salesPersons.Select(n => n["Name"].ToString())));
}
var startDate = Convert.ToDateTime(customFilter["FSDate"]);
var endDate = Convert.ToDateTime(customFilter["FEDate"]);
reportTitles.AddTitle("FStartDate", startDate.ToString("yyyy-MM-dd"));
reportTitles.AddTitle("FEndDate", endDate.ToString("yyyy-MM-dd"));
return reportTitles;
}
/// <summary>
/// 显示报表数据
/// </summary>
/// <param name="filter"></param>
/// <param name="tableName"></param>
public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
{
//获取过滤条件
string Filter = GetFilterWhere(filter);
base.BuilderReportSqlAndTempTable(filter, tableName);
DynamicObject customFilter = filter.FilterParameter.CustomFilter;
// 开始日期
string fStrartDate = (customFilter["FSDate"] == null) ? "" : Convert.ToDateTime(
customFilter["FSDate"]).ToString("yyyy-MM-dd");
// 结束日期
string fEndDate = (customFilter["FEDate"] == null) ? "" : Convert.ToDateTime(
customFilter["FEDate"]).ToString("yyyy-MM-dd");
string sql = string.Format(@"/*dialect*/
EXEC GZ_JXKBHZB_LTH '{0}','{1}'
SELECT
ROW_NUMBER() OVER (ORDER BY F_SBU DESC) AS FID,
ROW_NUMBER() OVER (ORDER BY F_SBU DESC) AS FIDENTITYID,
* INTO {2} FROM JXKBHZB {3}
", fStrartDate, fEndDate, tableName, Filter);
DBUtils.Execute(this.Context, sql);
}
/// <summary> /// <summary>
/// 报表列表头 /// 报表列表头
/// </summary> /// </summary>
@@ -62,8 +124,6 @@ namespace GZ_LTHReportForms.JiXiaoKanBan
base.GetReportHeaders(filter); base.GetReportHeaders(filter);
ReportHeader header = new ReportHeader(); ReportHeader header = new ReportHeader();
// 下单时间 // 下单时间
int currentYear = DateTime.Now.Year; int currentYear = DateTime.Now.Year;
@@ -102,37 +162,7 @@ namespace GZ_LTHReportForms.JiXiaoKanBan
return header; return header;
} }
/// <summary>
/// 显示报表数据
/// </summary>
/// <param name="filter"></param>
/// <param name="tableName"></param>
public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
{
//获取过滤条件
string Filter = GetFilterWhere(filter);
base.BuilderReportSqlAndTempTable(filter, tableName);
DynamicObject customFilter = filter.FilterParameter.CustomFilter;
// 开始日期
string fStrartDate = (customFilter["FSDate"] == null) ? "" : Convert.ToDateTime(
customFilter["FSDate"]).ToString("yyyy-MM-dd");
// 结束日期
string fEndDate = (customFilter["FEDate"] == null) ? "" : Convert.ToDateTime(
customFilter["FEDate"]).ToString("yyyy-MM-dd");
string sql = string.Format(@"/*dialect*/
EXEC GZ_JXKBHZB_LTH '{0}','{1}'
SELECT
ROW_NUMBER() OVER (ORDER BY F_SBU DESC) AS FID,
ROW_NUMBER() OVER (ORDER BY F_SBU DESC) AS FIDENTITYID,
* INTO {2} FROM JXKBHZB {3}
", fStrartDate, fEndDate, tableName, Filter);
DBUtils.Execute(this.Context, sql);
}
//报表过滤条件-多选销售员 //报表过滤条件-多选销售员
private string GetFilterWhere(IRptParams filter) private string GetFilterWhere(IRptParams filter)

View File

@@ -1,5 +1,5 @@
/****** Object: StoredProcedure [dbo].[GetOrderData] Script Date: 2025/8/2 21:48:44 ******/ /****** Object: StoredProcedure [dbo].[GetOrderData] Script Date: 2025/8/20 10:19:00 ******/
SET ANSI_NULLS ON SET ANSI_NULLS ON
GO GO
SET QUOTED_IDENTIFIER ON SET QUOTED_IDENTIFIER ON
@@ -12,7 +12,8 @@ ALTER PROCEDURE [dbo].[GetOrderData]
@FSaleOrgIdName nvarchar(1000), @FSaleOrgIdName nvarchar(1000),
@FSDate nvarchar(1000), @FSDate nvarchar(1000),
@FEDate nvarchar(1000), @FEDate nvarchar(1000),
@FPaperContract NVARCHAR(500)='' @FPaperContract NVARCHAR(500)='',
@QuYu NVARCHAR(500)=''
) )
as as
DECLARE @FSaleOrgId nvarchar(1000); DECLARE @FSaleOrgId nvarchar(1000);
@@ -107,7 +108,7 @@ SET @FEDateDate = DATEADD(DAY, 1, @FEDateDate);
( (
SELECT ','+ CONVERT(NVARCHAR(100), FNAME,120) -- Ҫƴ<D2AA>ӵ<EFBFBD><D3B5><EFBFBD> SELECT ','+ CONVERT(NVARCHAR(100), FNAME,120) -- Ҫƴ<D2AA>ӵ<EFBFBD><D3B5><EFBFBD>
FROM ( FROM (
SELECT DISTINCT x.FNAME +'--'+CONVERT(NVARCHAR(50), CONVERT(INT, w.F_DAY))+'<EFBFBD><EFBFBD>--'+CONVERT(NVARCHAR(50),CONVERT(DECIMAL(18,2), w.FRECADVANCERATE))+'%' AS FNAME SELECT DISTINCT x.FNAME +'--'+CONVERT(NVARCHAR(50), CONVERT(INT, w.F_DAY))+'<EFBFBD><EFBFBD>--'+CONVERT(NVARCHAR(50),CONVERT(DECIMAL(18,2), w.FRECADVANCERATE))+'%'+'---' +ISNULL(CONVERT(NVARCHAR(20),w.FMUSTDATE,23),'') AS FNAME
,w.FID,w.F_PMSDate ,w.FID,w.F_PMSDate
,W.FRECADVANCEAMOUNT,w.F_DAY ,w.F_MBBA_DECIMAL_UKY ,W.FRECADVANCEAMOUNT,w.F_DAY ,w.F_MBBA_DECIMAL_UKY
,w.FENTRYID, W.F_RecConditionId ,w.FRECADVANCERATE ,x.FNAME AS fname2 ,w.FMUSTDATE [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>] ,w.FENTRYID, W.F_RecConditionId ,w.FRECADVANCERATE ,x.FNAME AS fname2 ,w.FMUSTDATE [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
@@ -328,9 +329,10 @@ LEFT JOIN (
UPDATE #TEMP1 SET <20><>ͬ<EFBFBD>ܼ<EFBFBD>=<3D><>ͬ<EFBFBD>ܼ<EFBFBD>+(<28><><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>- <20><>̯<EFBFBD><CCAF><EFBFBD><EFBFBD> ) UPDATE #TEMP1 SET <20><>ͬ<EFBFBD>ܼ<EFBFBD>=<3D><>ͬ<EFBFBD>ܼ<EFBFBD>+(<28><><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>- <20><>̯<EFBFBD><CCAF><EFBFBD><EFBFBD> )
WHERE <20><><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD><>0 WHERE <20><><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD><>0
IF(@QuYu='')
SELECT * FROM #TEMP1 ORDER BY fid,FENTRYID ,FSHARERATE desc SELECT * FROM #TEMP1 ORDER BY fid,FENTRYID ,FSHARERATE DESC
ELSE
SELECT * FROM #TEMP1 WHERE <20><><EFBFBD><EFBFBD> LIKE '%'+@QuYu+'%' ORDER BY fid,FENTRYID ,FSHARERATE DESC
drop table #TEMP2 drop table #TEMP2