WX
2022-03-17 3d87b751b29e3681a8908be38e798e0ea91b21d4
小优化
3个文件已修改
35 ■■■■ 已修改文件
ZTICInterface.Application/Service/TableProductionSalesService.cs 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZTICInterface.Core/ViewModel/TableProductionSales.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZTICInterface.Core/ZTICInterface.Core.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZTICInterface.Application/Service/TableProductionSalesService.cs
@@ -28,20 +28,11 @@
    /// <returns></returns>
    public async Task<Page<Dictionary<string, object>>> GetPages(VmParamTableProductionSalesPageSearch param)
    {
        var cms = param.Main.ToIConditionalModels();
        var cms = param.ColCondition.ToIConditionalModels();
        var page = await Context.Queryable<TableProductionSalesName>()
            .Where(cms)
            .OrderBy(a=>a.UpdateTime,OrderByType.Desc)
            .ToPageAsync(param.PageIndex, param.PageSize);
        var dbDataRange = await Context.Queryable<TableProductionSalesValue>()
            .Where(a => page.Items.Select(p => p.Id).Contains(a.NameId))
            .Select(a => new
            {
                Min = SqlFunc.AggregateMin(Convert.ToDateTime(SqlFunc.MergeString(a.Year.ToString(), "/", a.Month.ToString(), "/1"))),
                Max = SqlFunc.AggregateMax(Convert.ToDateTime(SqlFunc.MergeString(a.Year.ToString(), "/", a.Month.ToString(), "/1"))),
            })
            .FirstAsync();
        // 符合条件的数据值
        var valueList = await Context.Queryable<TableProductionSalesValue>()
@@ -55,7 +46,7 @@
        var startDate = param.DateRange.StartTime ?? minDateRange;
        var endDate = param.DateRange.EndTime ?? maxDateRange;
        
        var frequencyItem = param?.Main.Find(a =>
        var frequencyItem = param?.ColCondition.Find(a =>
            string.Equals(a.FieldName, "Frequency", StringComparison.CurrentCultureIgnoreCase));
        // 如果条件type是=的话,拿频率值
        var frequency = frequencyItem?.ConditionalType == ConditionalType.Equal ? frequencyItem.FieldValue : "";
@@ -90,18 +81,9 @@
                break;
        }
        var kvList = new List<Dictionary<string,object>>();
        var nameProps = typeof(TableProductionSalesName).GetProperties();
        foreach (var item in page.Items)
        {
            var dict = new Dictionary<string, object>();
            foreach (var prop in nameProps)
            {
                var value = prop.GetValue(item);
                dict.Add(prop.Name,value);
            }
            kvList.Add(dict);
        }
        // 结果组装
        var kvList = page.Items.ToJson().ToObject<List<Dictionary<string, object>>>();
        // 添加每个指标对应时间的值
        foreach (var dateTime in dateRange)
        {
            var colName = dateTime.ToString("yyyy-MM");
@@ -110,8 +92,7 @@
                var value = valueList.Find(a =>
                    a.Year == dateTime.Year && a.Month == dateTime.Month &&
                    a.NameId.ToString() == kvItem["Id"].ToString())?.Value;
                if (value != null)
                    kvItem[colName] = $"{value:N2}";
                kvItem[colName] = $"{value:N2}";
            }
        }
ZTICInterface.Core/ViewModel/TableProductionSales.cs
@@ -22,7 +22,7 @@
    /// <summary>
    /// 指标查询条件
    /// </summary>
    public List<SugarTableSearchSimple> Main { get; set; }
    public List<SugarTableSearchSimple> ColCondition { get; set; }
    /// <summary>
    /// 数据时间范围
    /// </summary>
ZTICInterface.Core/ZTICInterface.Core.xml
@@ -292,7 +292,7 @@
            条数
            </summary>
        </member>
        <member name="P:ZTICInterface.Core.ViewModel.VmParamTableProductionSalesPageSearch.Main">
        <member name="P:ZTICInterface.Core.ViewModel.VmParamTableProductionSalesPageSearch.ColCondition">
            <summary>
            指标查询条件
            </summary>