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

View File

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

View File

@ -50,6 +50,68 @@ namespace GZ_LTHReportForms.JiXiaoKanBan
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>
@ -62,8 +124,6 @@ namespace GZ_LTHReportForms.JiXiaoKanBan
base.GetReportHeaders(filter);
ReportHeader header = new ReportHeader();
// 下单时间
int currentYear = DateTime.Now.Year;
@ -102,37 +162,7 @@ namespace GZ_LTHReportForms.JiXiaoKanBan
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)

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
GO
SET QUOTED_IDENTIFIER ON
@ -12,7 +12,8 @@ ALTER PROCEDURE [dbo].[GetOrderData]
@FSaleOrgIdName nvarchar(1000),
@FSDate nvarchar(1000),
@FEDate nvarchar(1000),
@FPaperContract NVARCHAR(500)=''
@FPaperContract NVARCHAR(500)='',
@QuYu NVARCHAR(500)=''
)
as
DECLARE @FSaleOrgId nvarchar(1000);
@ -107,7 +108,7 @@ SET @FEDateDate = DATEADD(DAY, 1, @FEDateDate);
(
SELECT ','+ CONVERT(NVARCHAR(100), FNAME,120) -- 要拼接的列
FROM (
SELECT DISTINCT x.FNAME +'--'+CONVERT(NVARCHAR(50), CONVERT(INT, w.F_DAY))+'Ìì--'+CONVERT(NVARCHAR(50),CONVERT(DECIMAL(18,2), w.FRECADVANCERATE))+'%' AS FNAME
SELECT DISTINCT x.FNAME +'--'+CONVERT(NVARCHAR(50), CONVERT(INT, w.F_DAY))+'Ìì--'+CONVERT(NVARCHAR(50),CONVERT(DECIMAL(18,2), w.FRECADVANCERATE))+'%'+'---' +ISNULL(CONVERT(NVARCHAR(20),w.FMUSTDATE,23),'') AS FNAME
,w.FID,w.F_PMSDate
,W.FRECADVANCEAMOUNT,w.F_DAY ,w.F_MBBA_DECIMAL_UKY
,w.FENTRYID, W.F_RecConditionId ,w.FRECADVANCERATE ,x.FNAME AS fname2 ,w.FMUSTDATE []
@ -328,9 +329,10 @@ LEFT JOIN (
UPDATE #TEMP1 SET 合同总价=合同总价+(订单总额- 分摊金额 )
WHERE <>0
SELECT * FROM #TEMP1 ORDER BY fid,FENTRYID ,FSHARERATE desc
IF(@QuYu='')
SELECT * FROM #TEMP1 ORDER BY fid,FENTRYID ,FSHARERATE DESC
ELSE
SELECT * FROM #TEMP1 WHERE ÇøÓò LIKE '%'+@QuYu+'%' ORDER BY fid,FENTRYID ,FSHARERATE DESC
drop table #TEMP2