大屏优化
This commit is contained in:
parent
4ee7d38c78
commit
2927c2d985
|
@ -25,7 +25,7 @@ namespace BLL
|
||||||
&& x.ChangeTime.Value.Month == dateValue.Month
|
&& x.ChangeTime.Value.Month == dateValue.Month
|
||||||
&& x.ChangeTime.Value.Day == dateValue.Day
|
&& x.ChangeTime.Value.Day == dateValue.Day
|
||||||
select new { x.PersonId, x.ChangeTime, x.IsIn, z.PostType };
|
select new { x.PersonId, x.ChangeTime, x.IsIn, z.PostType };
|
||||||
if (getDayAll.Count() > 0)
|
if (getDayAll.Any())
|
||||||
{
|
{
|
||||||
var getInMaxs = from x in getDayAll
|
var getInMaxs = from x in getDayAll
|
||||||
group x by x.PersonId into g
|
group x by x.PersonId into g
|
||||||
|
@ -36,7 +36,7 @@ namespace BLL
|
||||||
IsIn = g.First().IsIn,
|
IsIn = g.First().IsIn,
|
||||||
PostType = g.First().PostType
|
PostType = g.First().PostType
|
||||||
};
|
};
|
||||||
if (getInMaxs.Count() > 0)
|
if (getInMaxs.Any())
|
||||||
{
|
{
|
||||||
getSiteInOutList = getInMaxs.Where(x => x.IsIn == true).ToList();
|
getSiteInOutList = getInMaxs.Where(x => x.IsIn == true).ToList();
|
||||||
}
|
}
|
||||||
|
@ -44,6 +44,42 @@ namespace BLL
|
||||||
return getSiteInOutList;
|
return getSiteInOutList;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static List<Model.PageDataPersonInOutItem> getPersonNum(List<string> projectIds, DateTime dateValue)
|
||||||
|
{
|
||||||
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||||
|
{
|
||||||
|
var startDate = dateValue.Date;
|
||||||
|
var endDate = startDate.AddDays(1);
|
||||||
|
List<Model.PageDataPersonInOutItem> getSiteInOutList = new List<Model.PageDataPersonInOutItem>();
|
||||||
|
var getDayAll = from x in db.SitePerson_PersonInOutNow
|
||||||
|
join y in db.SitePerson_Person on x.PersonId equals y.PersonId
|
||||||
|
join z in db.Base_WorkPost on y.WorkPostId equals z.WorkPostId
|
||||||
|
where projectIds.Contains(x.ProjectId)
|
||||||
|
&& x.ChangeTime >= startDate &&
|
||||||
|
x.ChangeTime < endDate
|
||||||
|
select new { x.PersonId, x.ChangeTime, x.IsIn, z.PostType,x.ProjectId };
|
||||||
|
if (getDayAll.Any())
|
||||||
|
{
|
||||||
|
var getInMaxs = from x in getDayAll
|
||||||
|
group x by new {x.PersonId,x.ProjectId} into g
|
||||||
|
select new Model.PageDataPersonInOutItem
|
||||||
|
{
|
||||||
|
PersonId = g.First().PersonId,
|
||||||
|
ProjectId = g.First().ProjectId,
|
||||||
|
ChangeTime = g.Max(x => x.ChangeTime),
|
||||||
|
IsIn = g.First().IsIn,
|
||||||
|
PostType = g.First().PostType
|
||||||
|
};
|
||||||
|
if (getInMaxs.Any())
|
||||||
|
{
|
||||||
|
getSiteInOutList = getInMaxs.Where(x => x.IsIn == true).ToList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return getSiteInOutList;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region 获取当前人工时
|
#region 获取当前人工时
|
||||||
|
@ -150,7 +186,7 @@ namespace BLL
|
||||||
where x.ChangeTime.Value.Year == dateValue.Year && x.ChangeTime.Value.Month == dateValue.Month
|
where x.ChangeTime.Value.Year == dateValue.Year && x.ChangeTime.Value.Month == dateValue.Month
|
||||||
&& x.ChangeTime.Value.Day == dateValue.Day
|
&& x.ChangeTime.Value.Day == dateValue.Day
|
||||||
select new { x.PersonId, x.ChangeTime, x.IsIn, z.PostType };
|
select new { x.PersonId, x.ChangeTime, x.IsIn, z.PostType };
|
||||||
if (getDayAll.Count() > 0)
|
if (getDayAll.Any())
|
||||||
{
|
{
|
||||||
var getInMaxs = from x in getDayAll
|
var getInMaxs = from x in getDayAll
|
||||||
group x by x.PersonId into g
|
group x by x.PersonId into g
|
||||||
|
@ -161,7 +197,7 @@ namespace BLL
|
||||||
IsIn = g.First().IsIn,
|
IsIn = g.First().IsIn,
|
||||||
PostType = g.First().PostType
|
PostType = g.First().PostType
|
||||||
};
|
};
|
||||||
if (getInMaxs.Count() > 0)
|
if (getInMaxs.Any())
|
||||||
{
|
{
|
||||||
getSiteInOutList = getInMaxs.Where(x => x.IsIn == true).ToList();
|
getSiteInOutList = getInMaxs.Where(x => x.IsIn == true).ToList();
|
||||||
}
|
}
|
||||||
|
@ -181,7 +217,7 @@ namespace BLL
|
||||||
where x.ChangeTime.Value.Year == dateValue.Year && x.ChangeTime.Value.Month == dateValue.Month
|
where x.ChangeTime.Value.Year == dateValue.Year && x.ChangeTime.Value.Month == dateValue.Month
|
||||||
&& x.ChangeTime.Value.Day == dateValue.Day && pids.Contains(x.ProjectId)
|
&& x.ChangeTime.Value.Day == dateValue.Day && pids.Contains(x.ProjectId)
|
||||||
select new { x.PersonId, x.ChangeTime, x.IsIn, z.PostType };
|
select new { x.PersonId, x.ChangeTime, x.IsIn, z.PostType };
|
||||||
if (getDayAll.Count() > 0)
|
if (getDayAll.Any())
|
||||||
{
|
{
|
||||||
var getInMaxs = from x in getDayAll
|
var getInMaxs = from x in getDayAll
|
||||||
group x by x.PersonId into g
|
group x by x.PersonId into g
|
||||||
|
@ -192,7 +228,7 @@ namespace BLL
|
||||||
IsIn = g.First().IsIn,
|
IsIn = g.First().IsIn,
|
||||||
PostType = g.First().PostType
|
PostType = g.First().PostType
|
||||||
};
|
};
|
||||||
if (getInMaxs.Count() > 0)
|
if (getInMaxs.Any())
|
||||||
{
|
{
|
||||||
getSiteInOutList = getInMaxs.Where(x => x.IsIn == true).ToList();
|
getSiteInOutList = getInMaxs.Where(x => x.IsIn == true).ToList();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1113,6 +1113,9 @@
|
||||||
<PackageReference Include="System.Numerics.Vectors">
|
<PackageReference Include="System.Numerics.Vectors">
|
||||||
<Version>4.5.0</Version>
|
<Version>4.5.0</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
|
<PackageReference Include="System.Runtime.Caching">
|
||||||
|
<Version>6.0.0</Version>
|
||||||
|
</PackageReference>
|
||||||
<PackageReference Include="System.Runtime.CompilerServices.Unsafe">
|
<PackageReference Include="System.Runtime.CompilerServices.Unsafe">
|
||||||
<Version>4.5.3</Version>
|
<Version>4.5.3</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
|
|
|
@ -10,6 +10,7 @@ namespace BLL
|
||||||
/// 时间书签(用于筛选数据范围)修改日期 2024-10-19 18:55:14 由2023改成2020
|
/// 时间书签(用于筛选数据范围)修改日期 2024-10-19 18:55:14 由2023改成2020
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static DateTime DtmarkTime = DateTime.Parse("2020-01-01");
|
public static DateTime DtmarkTime = DateTime.Parse("2020-01-01");
|
||||||
|
public static int CacheMinutes = 10;
|
||||||
#region 查询字段:系统设置
|
#region 查询字段:系统设置
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 系统管理员ID
|
/// 系统管理员ID
|
||||||
|
|
|
@ -5,6 +5,8 @@
|
||||||
using Model;
|
using Model;
|
||||||
using System;
|
using System;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using Microsoft.SqlServer.Dts.Runtime;
|
||||||
|
using System.Runtime.Caching;
|
||||||
|
|
||||||
public static class ProjectService
|
public static class ProjectService
|
||||||
{
|
{
|
||||||
|
@ -256,22 +258,44 @@
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static List<Model.Base_Project> GetAllProjectDropDownList(string[] pids = null)
|
public static List<Model.Base_Project> GetAllProjectDropDownList(string[] pids = null)
|
||||||
{
|
{
|
||||||
if (pids == null)
|
string cacheKey = "allProjects";
|
||||||
|
var memoryCache = MemoryCache.Default;
|
||||||
|
if (memoryCache.Get(cacheKey) != null)
|
||||||
{
|
{
|
||||||
var list = (from x in Funs.DB.Base_Project
|
var result = (List<Model.Base_Project>)memoryCache.Get(cacheKey);
|
||||||
orderby x.ProjectCode descending
|
if (pids == null)
|
||||||
select x).ToList();
|
{
|
||||||
return list;
|
return result;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result = result.Where(e => pids.Contains(e.ProjectId)).ToList();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var list = (from x in Funs.DB.Base_Project
|
|
||||||
where pids.Contains(x.ProjectId)
|
|
||||||
orderby x.ProjectCode descending
|
|
||||||
select x).ToList();
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
var list = (from x in Funs.DB.Base_Project
|
||||||
|
where x.ProjectState == Const.ProjectState_1 || x.ProjectState == null
|
||||||
|
orderby x.ProjectCode descending
|
||||||
|
select x).ToList();
|
||||||
|
var policy = new CacheItemPolicy
|
||||||
|
{
|
||||||
|
AbsoluteExpiration = DateTimeOffset.Now.AddMinutes(Const.CacheMinutes),
|
||||||
|
};
|
||||||
|
memoryCache.Set(cacheKey, list, policy);
|
||||||
|
|
||||||
|
if (pids == null)
|
||||||
|
{
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var result = list.Where(e => pids.Contains(e.ProjectId)).ToList();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -128,6 +128,7 @@
|
||||||
<Reference Include="System.IO.Compression.FileSystem" />
|
<Reference Include="System.IO.Compression.FileSystem" />
|
||||||
<Reference Include="System.Management" />
|
<Reference Include="System.Management" />
|
||||||
<Reference Include="System.Net" />
|
<Reference Include="System.Net" />
|
||||||
|
<Reference Include="System.Runtime.Caching" />
|
||||||
<Reference Include="System.Runtime.Serialization" />
|
<Reference Include="System.Runtime.Serialization" />
|
||||||
<Reference Include="System.Security" />
|
<Reference Include="System.Security" />
|
||||||
<Reference Include="System.Security.AccessControl, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
<Reference Include="System.Security.AccessControl, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="mainProject2.aspx.cs" Inherits="FineUIPro.Web.common.mainProject2" %>
|
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="mainProject2.aspx.cs" Inherits="FineUIPro.Web.common.mainProject2" Async="true" %>
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
|
|
||||||
|
@ -84,11 +84,11 @@
|
||||||
<div class="yj-bars">
|
<div class="yj-bars">
|
||||||
<div class="yj-bar">
|
<div class="yj-bar">
|
||||||
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,Quawarning %>" /></div>
|
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,Quawarning %>" /></div>
|
||||||
<div class="num"><%=getEarlyWarningCounts() %></div>
|
<div class="num"><%=EarlyWarningCounts %></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="yj-bar">
|
<div class="yj-bar">
|
||||||
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,MechanicalWarning %>" /></div>
|
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,MechanicalWarning %>" /></div>
|
||||||
<div class="num"><%=GetJxyjNum() %></div>
|
<div class="num"><%=JxyjNum %></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="wd-box">
|
<div class="wd-box">
|
||||||
|
@ -96,22 +96,22 @@
|
||||||
<div class="inner">
|
<div class="inner">
|
||||||
<div class="inner-box">
|
<div class="inner-box">
|
||||||
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,ApprovalCompleted %>" /></div>
|
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,ApprovalCompleted %>" /></div>
|
||||||
<div class="num"><%=GetCompletedNum() %></div>
|
<div class="num"><%=CompletedNum %></div>
|
||||||
</div>
|
</div>
|
||||||
<span></span>
|
<span></span>
|
||||||
<div class="inner-box">
|
<div class="inner-box">
|
||||||
<div class="lab" style="width: 1rem"><asp:Literal runat="server" Text="<%$ Resources:Lan,NumberOfTrainees %>" /></div>
|
<div class="lab" style="width: 1rem"><asp:Literal runat="server" Text="<%$ Resources:Lan,NumberOfTrainees %>" /></div>
|
||||||
<div class="num"><%=GetTrainPersonNum() %></div>
|
<div class="num"><%=TrainPersonNum %></div>
|
||||||
</div>
|
</div>
|
||||||
<span></span>
|
<span></span>
|
||||||
<div class="inner-box">
|
<div class="inner-box">
|
||||||
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,NumberOfConstructions %>" /></div>
|
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,NumberOfConstructions %>" /></div>
|
||||||
<div class="num"><%=GetConstructionNum() %></div>
|
<div class="num"><%=ConstructionNum %></div>
|
||||||
</div>
|
</div>
|
||||||
<span></span>
|
<span></span>
|
||||||
<div class="inner-box">
|
<div class="inner-box">
|
||||||
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,NumberOfCompletions %>" /></div>
|
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,NumberOfCompletions %>" /></div>
|
||||||
<div class="num"><%=GetFinishedNum() %></div>
|
<div class="num"><%=FinishedNum %></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -120,22 +120,22 @@
|
||||||
<div class="inner">
|
<div class="inner">
|
||||||
<div class="inner-box">
|
<div class="inner-box">
|
||||||
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,ApprovalCompleted %>" /></div>
|
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,ApprovalCompleted %>" /></div>
|
||||||
<div class="num"><%=GetSuperCompletedNum() %></div>
|
<div class="num"><%=SuperCompletedNum %></div>
|
||||||
</div>
|
</div>
|
||||||
<span></span>
|
<span></span>
|
||||||
<div class="inner-box">
|
<div class="inner-box">
|
||||||
<div class="lab" style="width: 1rem;"><asp:Literal runat="server" Text="<%$ Resources:Lan,NumberOfTrainees %>" /></div>
|
<div class="lab" style="width: 1rem;"><asp:Literal runat="server" Text="<%$ Resources:Lan,NumberOfTrainees %>" /></div>
|
||||||
<div class="num"><%=GetSuperTrainPersonNum() %></div>
|
<div class="num"><%=SuperTrainPersonNum %></div>
|
||||||
</div>
|
</div>
|
||||||
<span></span>
|
<span></span>
|
||||||
<div class="inner-box">
|
<div class="inner-box">
|
||||||
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,NumberOfConstructions %>" /></div>
|
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,NumberOfConstructions %>" /></div>
|
||||||
<div class="num"><%=GetSuperConstructionNum() %></div>
|
<div class="num"><%=SuperConstructionNum %></div>
|
||||||
</div>
|
</div>
|
||||||
<span></span>
|
<span></span>
|
||||||
<div class="inner-box">
|
<div class="inner-box">
|
||||||
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,NumberOfCompletions %>" /></div>
|
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,NumberOfCompletions %>" /></div>
|
||||||
<div class="num"><%=GetSuperFinishedNum() %></div>
|
<div class="num"><%=SuperFinishedNum %></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -6,10 +6,12 @@ using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Runtime.Caching;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Web;
|
using System.Web;
|
||||||
using System.Web.UI;
|
using System.Web.UI;
|
||||||
using System.Web.UI.WebControls;
|
using System.Web.UI.WebControls;
|
||||||
|
using Org.BouncyCastle.Ocsp;
|
||||||
|
|
||||||
namespace FineUIPro.Web.common
|
namespace FineUIPro.Web.common
|
||||||
{
|
{
|
||||||
|
@ -145,6 +147,8 @@ namespace FineUIPro.Web.common
|
||||||
// 质量统计模块封装
|
// 质量统计模块封装
|
||||||
private async Task BindQualityStatisticsAsync()
|
private async Task BindQualityStatisticsAsync()
|
||||||
{
|
{
|
||||||
|
await Task.Run(() => {
|
||||||
|
|
||||||
var db = Funs.DB;
|
var db = Funs.DB;
|
||||||
// 质量管理人员(合并公司+项目级查询)
|
// 质量管理人员(合并公司+项目级查询)
|
||||||
var qualityQuery = db.Base_WorkPost
|
var qualityQuery = db.Base_WorkPost
|
||||||
|
@ -161,13 +165,13 @@ namespace FineUIPro.Web.common
|
||||||
divCqmsPxNum.InnerText = db.Comprehensive_InspectionPerson
|
divCqmsPxNum.InnerText = db.Comprehensive_InspectionPerson
|
||||||
.Where(x => pids.Contains(x.ProjectId))
|
.Where(x => pids.Contains(x.ProjectId))
|
||||||
.Count(x => x.IsTrain == true).ToString();
|
.Count(x => x.IsTrain == true).ToString();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
// 项目统计优化
|
// 项目统计优化
|
||||||
private async Task BindProjectStatisticsAsync()
|
private async Task BindProjectStatisticsAsync()
|
||||||
{
|
{
|
||||||
|
await Task.Run(() => {
|
||||||
var db = Funs.DB;
|
var db = Funs.DB;
|
||||||
|
|
||||||
|
|
||||||
int acount = allProjects.Count();
|
int acount = allProjects.Count();
|
||||||
int pcount1 = 0;
|
int pcount1 = 0;
|
||||||
int pcount2 = 0;
|
int pcount2 = 0;
|
||||||
|
@ -190,6 +194,7 @@ namespace FineUIPro.Web.common
|
||||||
div_zjxmCount.InnerHtml = pcount1.ToString() + "<div class=\"th\">个</div>";
|
div_zjxmCount.InnerHtml = pcount1.ToString() + "<div class=\"th\">个</div>";
|
||||||
div_cjrsCount.InnerHtml = pcount2.ToString() + "<div class=\"th\">人</div>";
|
div_cjrsCount.InnerHtml = pcount2.ToString() + "<div class=\"th\">人</div>";
|
||||||
div_wdgcCount.InnerHtml = pcount3.ToString() + "<div class=\"th\">个</div>";
|
div_wdgcCount.InnerHtml = pcount3.ToString() + "<div class=\"th\">个</div>";
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -304,7 +309,7 @@ namespace FineUIPro.Web.common
|
||||||
var getAllPersonInOutList = from x in db.SitePerson_PersonInOutNumber
|
var getAllPersonInOutList = from x in db.SitePerson_PersonInOutNumber
|
||||||
|
|
||||||
select x;
|
select x;
|
||||||
if (getAllPersonInOutList.Count() > 0)
|
if (getAllPersonInOutList.Any())
|
||||||
{
|
{
|
||||||
var getInMonths = (from x in getAllPersonInOutList select new { x.InOutDate.Year, x.InOutDate.Month }).Distinct();
|
var getInMonths = (from x in getAllPersonInOutList select new { x.InOutDate.Year, x.InOutDate.Month }).Distinct();
|
||||||
if (sDate.HasValue)
|
if (sDate.HasValue)
|
||||||
|
@ -348,10 +353,10 @@ namespace FineUIPro.Web.common
|
||||||
return await Task.Run(() =>
|
return await Task.Run(() =>
|
||||||
{
|
{
|
||||||
Model.SingleSerie series = new Model.SingleSerie();
|
Model.SingleSerie series = new Model.SingleSerie();
|
||||||
var project1s = allProjects.Where(x => x.ProjectState == Const.ProjectState_1 || x.ProjectState == null);
|
var project1s = allProjects.Where(x => x.ProjectState == Const.ProjectState_1 || x.ProjectState == null).ToList();
|
||||||
var consts = Funs.DB.Sys_Const.Where(x => x.GroupId == ConstValue.GroupId_ProjectState);
|
var consts = Funs.DB.Sys_Const.Where(x => x.GroupId == ConstValue.GroupId_ProjectState).ToList();
|
||||||
string name = string.Empty;
|
string name = string.Empty;
|
||||||
if (project1s.Count() > 0)
|
if (project1s.Any())
|
||||||
{
|
{
|
||||||
foreach (var project1 in project1s)
|
foreach (var project1 in project1s)
|
||||||
{
|
{
|
||||||
|
@ -432,7 +437,7 @@ namespace FineUIPro.Web.common
|
||||||
select x;
|
select x;
|
||||||
listdata.Add(projects.Count());
|
listdata.Add(projects.Count());
|
||||||
decimal progress = 0;
|
decimal progress = 0;
|
||||||
if (projects.Count() > 0)
|
if (projects.Any())
|
||||||
{
|
{
|
||||||
convert.Add(province);
|
convert.Add(province);
|
||||||
foreach (var item in projects)
|
foreach (var item in projects)
|
||||||
|
@ -570,7 +575,6 @@ namespace FineUIPro.Web.common
|
||||||
return await Task.Run(() =>
|
return await Task.Run(() =>
|
||||||
{
|
{
|
||||||
Model.SingleSerie series = new Model.SingleSerie();
|
Model.SingleSerie series = new Model.SingleSerie();
|
||||||
var project1s = allProjects.Where(x => x.ProjectState == Const.ProjectState_1 || x.ProjectState == null);
|
|
||||||
Model.SGGLDB db = Funs.DB;
|
Model.SGGLDB db = Funs.DB;
|
||||||
string str = string.Empty;
|
string str = string.Empty;
|
||||||
foreach (var item in allProjects)
|
foreach (var item in allProjects)
|
||||||
|
@ -871,7 +875,7 @@ namespace FineUIPro.Web.common
|
||||||
AllCount = getallin.Count();
|
AllCount = getallin.Count();
|
||||||
if (AllCount > 0)
|
if (AllCount > 0)
|
||||||
{
|
{
|
||||||
MCount = getallin.Where(x => x.PostType == Const.PostType_1).Count();
|
MCount = getallin.Count(x => x.PostType == Const.PostType_1);
|
||||||
}
|
}
|
||||||
|
|
||||||
div_xcrs.InnerHtml = AllCount.ToString();
|
div_xcrs.InnerHtml = AllCount.ToString();
|
||||||
|
@ -888,20 +892,13 @@ namespace FineUIPro.Web.common
|
||||||
{
|
{
|
||||||
await Task.Run(() =>
|
await Task.Run(() =>
|
||||||
{
|
{
|
||||||
var list = new List<Model.Base_Project>();
|
var allperson =
|
||||||
if (pids == null)
|
APIPageDataService.getPersonNum(allProjects.Select(x => x.ProjectId).ToList(), DateTime.Now);
|
||||||
{
|
|
||||||
list = Funs.DB.Base_Project.Where(x => (x.ProjectState == Const.ProjectState_1 || x.ProjectState == null)).ToList();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
list = Funs.DB.Base_Project.Where(x => pids.Contains(x.ProjectId)).ToList();
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var item in list)
|
foreach (var item in allProjects)
|
||||||
{
|
{
|
||||||
ProjectPersonMc += "'" + item.ShortName + "',";
|
ProjectPersonMc += "'" + item.ShortName + "',";
|
||||||
ProjectPersonCount += "'" + APIPageDataService.getPersonNum(item.ProjectId, DateTime.Now).Count() + "',";
|
ProjectPersonCount += "'" + allperson.Count(x=>x.ProjectId==item.ProjectId) + "',";
|
||||||
}
|
}
|
||||||
ProjectPersonMc = ProjectPersonMc.TrimEnd(',');
|
ProjectPersonMc = ProjectPersonMc.TrimEnd(',');
|
||||||
ProjectPersonCount = ProjectPersonCount.TrimEnd(',');
|
ProjectPersonCount = ProjectPersonCount.TrimEnd(',');
|
||||||
|
@ -914,21 +911,14 @@ namespace FineUIPro.Web.common
|
||||||
protected string ProjectMc;
|
protected string ProjectMc;
|
||||||
protected async Task GetJdAsync()
|
protected async Task GetJdAsync()
|
||||||
{
|
{
|
||||||
var list = new List<Model.Base_Project>();
|
var list = allProjects;
|
||||||
if (pids == null)
|
if (list.Any())
|
||||||
{
|
{
|
||||||
list = Funs.DB.Base_Project.Where(x => (x.ProjectState == Const.ProjectState_1 || x.ProjectState == null)).ToList();
|
var progressCompletions = from x in Funs.DB.JDGL_ProgressCompletion select x ;
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
list = Funs.DB.Base_Project.Where(x => pids.Contains(x.ProjectId)).ToList();
|
|
||||||
}
|
|
||||||
if (list.Count > 0)
|
|
||||||
{
|
|
||||||
var progressCompletions = from x in Funs.DB.JDGL_ProgressCompletion select x;
|
|
||||||
foreach (var item in list)
|
foreach (var item in list)
|
||||||
{
|
{
|
||||||
var pCs = progressCompletions.Where(x => x.ProjectId == item.ProjectId).ToList();
|
var pCs = progressCompletions.Where(x => x.ProjectId == item.ProjectId).ToList();
|
||||||
|
|
||||||
ProjectJd += "'" + pCs.Sum(x => x.RealNum ?? 0).ToString("0.##") + "',";
|
ProjectJd += "'" + pCs.Sum(x => x.RealNum ?? 0).ToString("0.##") + "',";
|
||||||
ProjectMc += "'" + item.ShortName + "',";
|
ProjectMc += "'" + item.ShortName + "',";
|
||||||
}
|
}
|
||||||
|
@ -1001,15 +991,7 @@ namespace FineUIPro.Web.common
|
||||||
protected string sbclHead = "<div class=\"th-p\">项目</div><div class=\"th-p\">采购量</div><div class=\"th-p\">到货量</div><div class=\"th-p\">已到货百分比</div>";
|
protected string sbclHead = "<div class=\"th-p\">项目</div><div class=\"th-p\">采购量</div><div class=\"th-p\">到货量</div><div class=\"th-p\">已到货百分比</div>";
|
||||||
private async Task GetCldhAsync()
|
private async Task GetCldhAsync()
|
||||||
{
|
{
|
||||||
var list = new List<Model.Base_Project>();
|
var list = allProjects;
|
||||||
if (pids == null)
|
|
||||||
{
|
|
||||||
list = Funs.DB.Base_Project.Where(x => (x.ProjectState == Const.ProjectState_1 || x.ProjectState == null)).ToList();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
list = Funs.DB.Base_Project.Where(x => pids.Contains(x.ProjectId)).ToList();
|
|
||||||
}
|
|
||||||
var PipelinList = Funs.DB.CLGL_PipelineMaterialSumList.Where(x => x.Type == "M");
|
var PipelinList = Funs.DB.CLGL_PipelineMaterialSumList.Where(x => x.Type == "M");
|
||||||
var SbclList = Funs.DB.CLGL_ContractListSum.Where(x => x.C1 == "设备");
|
var SbclList = Funs.DB.CLGL_ContractListSum.Where(x => x.C1 == "设备");
|
||||||
foreach (var item in list)
|
foreach (var item in list)
|
||||||
|
@ -1025,7 +1007,7 @@ namespace FineUIPro.Web.common
|
||||||
gdclHtml += "<div class=\"th-p\" title =\"" + item.ShortName + "\">" + pname + "</div>";
|
gdclHtml += "<div class=\"th-p\" title =\"" + item.ShortName + "\">" + pname + "</div>";
|
||||||
var pid = BLL.ProjectService.GetCLProjectCodeByProjectId(item.ProjectId).ToString();
|
var pid = BLL.ProjectService.GetCLProjectCodeByProjectId(item.ProjectId).ToString();
|
||||||
//管子
|
//管子
|
||||||
var num1 = PipelinList.Where(x => x.ProjectId == pid && x.C1 == "管子").FirstOrDefault();
|
var num1 = PipelinList.FirstOrDefault(x => x.ProjectId == pid && x.C1 == "管子");
|
||||||
if (num1 != null)
|
if (num1 != null)
|
||||||
{
|
{
|
||||||
gdclHtml += "<div class=\"th-p\">" + (num1.C7 == "" ? "0%" : num1.C7) + "</div>";
|
gdclHtml += "<div class=\"th-p\">" + (num1.C7 == "" ? "0%" : num1.C7) + "</div>";
|
||||||
|
@ -1128,23 +1110,38 @@ namespace FineUIPro.Web.common
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private int GetNearMissNum()
|
private int GetNearMissNum()
|
||||||
{
|
{
|
||||||
|
string cacheKey = "NearMissNum_" + string.Join("_",pids);
|
||||||
|
var memoryCache = MemoryCache.Default;
|
||||||
|
if (memoryCache.Get(cacheKey) != null)
|
||||||
|
{
|
||||||
|
return (int)memoryCache.Get(cacheKey);
|
||||||
|
}
|
||||||
|
int result = 0;
|
||||||
if (pids == null)
|
if (pids == null)
|
||||||
{
|
{
|
||||||
var result = (from x in Funs.DB.Accident_AccidentPersonRecord
|
result = (from x in Funs.DB.Accident_AccidentPersonRecord
|
||||||
join y in Funs.DB.Base_AccidentType on x.AccidentTypeId equals y.AccidentTypeId
|
join y in Funs.DB.Base_AccidentType on x.AccidentTypeId equals y.AccidentTypeId
|
||||||
where x.IsAttempt == "1" && x.CompileDate > Const.DtmarkTime
|
where x.IsAttempt == "1" && x.CompileDate > Const.DtmarkTime
|
||||||
select x).Count();
|
select x).Count();
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var result = (from x in Funs.DB.Accident_AccidentPersonRecord
|
result = (from x in Funs.DB.Accident_AccidentPersonRecord
|
||||||
join y in Funs.DB.Base_AccidentType on x.AccidentTypeId equals y.AccidentTypeId
|
join y in Funs.DB.Base_AccidentType on x.AccidentTypeId equals y.AccidentTypeId
|
||||||
where x.IsAttempt == "1" && x.CompileDate > Const.DtmarkTime
|
where x.IsAttempt == "1" && x.CompileDate > Const.DtmarkTime
|
||||||
&& pids.Contains(x.ProjectId)
|
&& pids.Contains(x.ProjectId)
|
||||||
select x).Count();
|
select x).Count();
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var policy = new CacheItemPolicy
|
||||||
|
{
|
||||||
|
AbsoluteExpiration = DateTimeOffset.Now.AddMinutes(Const.CacheMinutes),
|
||||||
|
};
|
||||||
|
memoryCache.Set(cacheKey, result, policy);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -9,6 +9,7 @@
|
||||||
<package id="RestSharp" version="106.15.0" targetFramework="net461" />
|
<package id="RestSharp" version="106.15.0" targetFramework="net461" />
|
||||||
<package id="SharpZipLib" version="1.3.2" targetFramework="net461" />
|
<package id="SharpZipLib" version="1.3.2" targetFramework="net461" />
|
||||||
<package id="System.Configuration.ConfigurationManager" version="6.0.1" targetFramework="net461" />
|
<package id="System.Configuration.ConfigurationManager" version="6.0.1" targetFramework="net461" />
|
||||||
|
<package id="System.Runtime.Caching" version="6.0.0" targetFramework="net461" />
|
||||||
<package id="System.Security.AccessControl" version="6.0.0" targetFramework="net461" />
|
<package id="System.Security.AccessControl" version="6.0.0" targetFramework="net461" />
|
||||||
<package id="System.Security.Permissions" version="6.0.0" targetFramework="net461" />
|
<package id="System.Security.Permissions" version="6.0.0" targetFramework="net461" />
|
||||||
<package id="System.Security.Principal.Windows" version="5.0.0" targetFramework="net461" />
|
<package id="System.Security.Principal.Windows" version="5.0.0" targetFramework="net461" />
|
||||||
|
|
|
@ -12,7 +12,11 @@ namespace Model
|
||||||
get;
|
get;
|
||||||
set;
|
set;
|
||||||
}
|
}
|
||||||
|
public string ProjectId
|
||||||
|
{
|
||||||
|
get;
|
||||||
|
set;
|
||||||
|
}
|
||||||
public DateTime? ChangeTime
|
public DateTime? ChangeTime
|
||||||
{
|
{
|
||||||
get;
|
get;
|
||||||
|
|
Loading…
Reference in New Issue