看板修改

This commit is contained in:
2025-03-17 18:46:22 +08:00
parent 2927c2d985
commit 8db8992061
6 changed files with 154 additions and 60 deletions
+115 -39
View File
@@ -6,6 +6,7 @@ using Model;
using Newtonsoft.Json;
using NPOI.Util;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
@@ -116,7 +117,7 @@ namespace FineUIPro.Web.common
//风险预警
getHazard(),
getWork(),
//工程概况
getProjectInfo(),
@@ -655,67 +656,131 @@ namespace FineUIPro.Web.common
#endregion
#region
protected int getAllCount()
protected int AllWrokCount0;
protected int AllWrokCount1;
protected int AllWrokCount2;
protected int AllWrokCount3;
protected int WrokCount0;
protected int WrokCount1;
protected int WrokCount2;
protected int WrokCount3;
protected async Task getWork()
{
var result = Funs.DB.View_License_LicenseManager.Where(x => x.ProjectId == ProjectId).ToList().Count;
var AllWrokCount0 = getALLWrokCount0();
var AllWrokCount1 = getALLWrokCount1();
var AllWrokCount2 = getALLWrokCount2();
var AllWrokCount3 = getALLWrokCount3();
var WrokCount0 = getWrokCount0();
var WrokCount1 = getWrokCount1();
var WrokCount2 = getWrokCount2();
var WrokCount3 = getWrokCount3();
await Task.WhenAll( AllWrokCount0, AllWrokCount1, AllWrokCount2, AllWrokCount3, WrokCount0, WrokCount1, WrokCount2, WrokCount3);
this.AllWrokCount0 = await AllWrokCount0;
this.AllWrokCount1 = await AllWrokCount1;
this.AllWrokCount2 = await AllWrokCount2;
this.AllWrokCount3 = await AllWrokCount3;
this.WrokCount0 = await WrokCount0;
this.WrokCount1 = await WrokCount1;
this.WrokCount2 = await WrokCount2;
this.WrokCount3 = await WrokCount3;
}
protected IQueryable<LicenseDto> GetLicenseQuery()
{
var query = from lm in Funs.DB.License_LicenseManager
join lt in Funs.DB.Base_LicenseType on lm.LicenseTypeId equals lt.LicenseTypeId into ltJoin
from licenseType in ltJoin.DefaultIfEmpty()
select new LicenseDto
{
ProjectId= lm.ProjectId,
LicenseTypeName = licenseType.LicenseTypeName ?? "",
WorkStatesStr = lm.WorkStates == "1" ? "待开工" :
lm.WorkStates == "2" ? "作业中" :
lm.WorkStates == "3" ? "已关闭" :
lm.WorkStates == "-1" ? "已取消" : ""
};
return query;
}
protected async Task<int> getAllCount()
{
var result = GetLicenseQuery().Where(x => x.ProjectId == ProjectId).ToList().Count;
return result;
}
protected int getALLWrokCount0()
{
var result = Funs.DB.View_License_LicenseManager.Where(x => x.ProjectId == ProjectId && x.LicenseTypeName == "动火作业许可证").ToList().Count;
protected async Task<int> getALLWrokCount0()
{
return await Task.Run(() => {
var result = GetLicenseQuery().Where(x => x.ProjectId == ProjectId && x.LicenseTypeName == "动火作业许可证").ToList().Count;
return result;
});
}
protected int getALLWrokCount1()
protected async Task<int> getALLWrokCount1()
{
var result = Funs.DB.View_License_LicenseManager.Where(x => x.ProjectId == ProjectId && x.LicenseTypeName == "高处作业许可证").ToList().Count;
return await Task.Run(() => {
var result = GetLicenseQuery().Where(x => x.ProjectId == ProjectId && x.LicenseTypeName == "高处作业许可证").ToList().Count;
return result;
});
}
protected int getALLWrokCount2()
protected async Task<int> getALLWrokCount2()
{
var result = Funs.DB.View_License_LicenseManager.Where(x => x.ProjectId == ProjectId && x.LicenseTypeName == "吊装作业许可证").ToList().Count;
return await Task.Run(() => {
var result = GetLicenseQuery().Where(x => x.ProjectId == ProjectId && x.LicenseTypeName == "吊装作业许可证").ToList().Count;
return result;
});
}
protected int getALLWrokCount3()
protected async Task<int> getALLWrokCount3()
{
var result = Funs.DB.View_License_LicenseManager.Where(x => x.ProjectId == ProjectId
&& x.LicenseTypeName != "动火作业许可证" && x.LicenseTypeName != "高处作业许可证" && x.LicenseTypeName != "吊装作业许可证").ToList().Count;
return await Task.Run(() => {
var result = GetLicenseQuery().Where(x => x.ProjectId == ProjectId
&& x.LicenseTypeName != "动火作业许可证" && x.LicenseTypeName != "高处作业许可证" && x.LicenseTypeName != "吊装作业许可证").ToList().Count;
return result;
});
}
protected int getTodayCount()
protected async Task<int> getTodayCount()
{
var result = Funs.DB.View_License_LicenseManager.Where(x => x.ProjectId == ProjectId && x.WorkStatesStr == "作业中").ToList().Count;
var result = GetLicenseQuery().Where(x => x.ProjectId == ProjectId && x.WorkStatesStr == "作业中").ToList().Count;
return result;
}
/// <summary>
/// 动火作业许可证
/// </summary>
/// <returns></returns>
protected int getWrokCount0()
protected async Task<int> getWrokCount0()
{
var result = Funs.DB.View_License_LicenseManager.Where(x => x.ProjectId == ProjectId && x.LicenseTypeName == "动火作业许可证" && x.WorkStatesStr == "作业中").ToList().Count;
return await Task.Run(() => {
var result = GetLicenseQuery().Where(x => x.ProjectId == ProjectId && x.LicenseTypeName == "动火作业许可证" && x.WorkStatesStr == "作业中").ToList().Count;
return result;
});
}
protected int getWrokCount1()
protected async Task<int> getWrokCount1()
{
var result = Funs.DB.View_License_LicenseManager.Where(x => x.ProjectId == ProjectId && x.LicenseTypeName == "高处作业许可证" && x.WorkStatesStr == "作业中").ToList().Count;
return await Task.Run(() => {
var result = GetLicenseQuery().Where(x => x.ProjectId == ProjectId && x.LicenseTypeName == "高处作业许可证" && x.WorkStatesStr == "作业中").ToList().Count;
return result;
});
}
protected int getWrokCount2()
protected async Task<int> getWrokCount2()
{
var result = Funs.DB.View_License_LicenseManager.Where(x => x.ProjectId == ProjectId && x.LicenseTypeName == "吊装作业许可证" && x.WorkStatesStr == "作业中").ToList().Count;
return await Task.Run(() => {
var result = GetLicenseQuery().Where(x => x.ProjectId == ProjectId && x.LicenseTypeName == "吊装作业许可证" && x.WorkStatesStr == "作业中").ToList().Count;
return result;
});
}
protected int getWrokCount3()
protected async Task<int> getWrokCount3()
{
var result = Funs.DB.View_License_LicenseManager.Where(x => x.ProjectId == ProjectId
&& x.LicenseTypeName != "动火作业许可证" && x.LicenseTypeName != "高处作业许可证" && x.LicenseTypeName != "吊装作业许可证" && x.WorkStatesStr == "作业中").ToList().Count;
return await Task.Run(() => {
var result = GetLicenseQuery().Where(x => x.ProjectId == ProjectId
&& x.LicenseTypeName != "动火作业许可证" && x.LicenseTypeName != "高处作业许可证" && x.LicenseTypeName != "吊装作业许可证" && x.WorkStatesStr == "作业中").ToList().Count;
return result;
});
}
#endregion
@@ -1211,21 +1276,32 @@ namespace FineUIPro.Web.common
returnHtml += "<div class=\"li\">" + item.LicenseManagerCode + "-" + shortUnitname + "-" + item.WorkAreaName + "-" + gfx + "-" + item.LicenseTypeName
+ "</div>";
}*/
var result = from x in Funs.DB.View_License_LicenseManager
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId into g
from z in g.DefaultIfEmpty()
where x.ProjectId == ProjectId
select new
{
x.LicenseManagerCode,
x.WorkAreaName,
x.LicenseTypeName,
GfxType = x.IsHighRisk == true ? "风险作业" : "非高风险",
ShortUnitName = z != null ? z.ShortUnitName : "", // 空值防护
};
var result = (from x in Funs.DB.License_LicenseManager
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId into units
from unit in units.DefaultIfEmpty()
join z in Funs.DB.WBS_UnitWork on x.WorkAreaId equals z.UnitWorkId into areas
from area in areas.DefaultIfEmpty()
join w in Funs.DB.Base_LicenseType on x.LicenseTypeId equals w.LicenseTypeId
where x.ProjectId == ProjectId
select new
{
x.LicenseManagerCode,
WorkAreaName=area.UnitWorkName,
w.LicenseTypeName,
x.IsHighRisk,
unit.ShortUnitName
})
.AsEnumerable() // 后续操作在内存中进行
.Select(x => new
{
x.LicenseManagerCode,
x.WorkAreaName,
x.LicenseTypeName,
GfxType = x.IsHighRisk == true ? "风险作业" : "非高风险",
ShortUnitName = x.ShortUnitName ?? ""
}).ToList();
var sb = new StringBuilder();
foreach (var item in result.ToList())
foreach (var item in result)
{
sb.AppendFormat("<div class=\"li\">{0}-{1}-{2}-{3}-{4}</div>",
item.LicenseManagerCode,