看板修改

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

Binary file not shown.

View File

@ -59,10 +59,6 @@
"$type": "Bookmark",
"Name": "ST:131:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{1a46fd64-28d5-434c-8eb3-17a02d419b53}"
@ -70,6 +66,14 @@
{
"$type": "Bookmark",
"Name": "ST:0:0:{5726b0e3-1012-5233-81f9-d1fad48e7a56}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{e1b7d1f8-9b3c-49b1-8f4f-bfc63a88835d}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}"
}
]
}

View File

@ -172,19 +172,19 @@
<div class="total">
<div class="zyp">
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,LoseOneSTemper %>" /></div>
<div class="num"><%=getWrokCount0() %>/<%=getALLWrokCount0() %></div>
<div class="num"><%=WrokCount0 %>/<%=AllWrokCount0 %></div>
</div>
<div class="zyp">
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,altitude %>" /></div>
<div class="num"><%=getWrokCount1() %>/<%=getALLWrokCount1() %></div>
<div class="num"><%=WrokCount1 %>/<%=AllWrokCount1 %></div>
</div>
<div class="zyp">
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,altitude %>" /></div>
<div class="num"><%=getWrokCount2() %>/<%=getALLWrokCount2() %></div>
<div class="num"><%=WrokCount2 %>/<%=AllWrokCount2 %></div>
</div>
<div class="zyp">
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,other %>" /></div>
<div class="num"><%=getWrokCount3() %>/<%=getALLWrokCount3() %></div>
<div class="num"><%=WrokCount3 %>/<%=AllWrokCount3 %></div>
</div>
</div>
<div class="zy-table">

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()
protected async Task<int> getALLWrokCount0()
{
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 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,

View File

@ -426,15 +426,21 @@ namespace FineUIPro.Web.common
join y in db.Sys_Const on x.AccidentTypeId equals y.ConstValue
where y.ConstText.Contains("未遂")
select x;
foreach (var province in provinces)
var allProvinceProjectList = (from x in allProjects
join y in provinceDic on x.Province equals y.ProvinceCode
where provinces.Contains(y.CnShortName )
select new { x,y.CnShortName}).ToList();
var allProvinces= allProvinceProjectList.Select(x =>x.CnShortName ).Distinct().ToList();
foreach (var province in allProvinces)
{
int accidentNum = 0;
DateTime date = DateTime.Now;
decimal money1 = 0, money2 = 0;
var projects = from x in allProjects
join y in provinceDic on x.Province equals y.ProvinceCode
where y.CnShortName == province
select x;
/* var projects = from x in allProjects
join y in provinceDic on x.Province equals y.ProvinceCode
where y.CnShortName == province
select x;*/
var projects = allProvinceProjectList.Where(x => x.CnShortName == province);
listdata.Add(projects.Count());
decimal progress = 0;
if (projects.Any())
@ -443,22 +449,22 @@ namespace FineUIPro.Web.common
foreach (var item in projects)
{
//未遂事故
var accidentListProject1 = accidentList1.Where(x => x.ProjectId == item.ProjectId);
var accidentListProject2 = accidentList2.Where(x => x.ProjectId == item.ProjectId);
var accidentListProject1 = accidentList1.Where(x => x.ProjectId == item.x.ProjectId);
var accidentListProject2 = accidentList2.Where(x => x.ProjectId == item.x.ProjectId);
accidentNum = accidentListProject1.Count() + accidentListProject2.Count();
//时间
if (item.StartDate != null && item.StartDate < date)
if (item.x.StartDate != null && item.x.StartDate < date)
{
date = Convert.ToDateTime(item.StartDate);
date = Convert.ToDateTime(item.x.StartDate);
}
//合同额
if (item.ConstructionMoney != null)
if (item.x.ConstructionMoney != null)
{
money1 += item.ConstructionMoney.Value;
money1 += item.x.ConstructionMoney.Value;
}
if (item.Progress != null)
if (item.x.Progress != null)
{
progress = item.Progress.Value;
progress = item.x.Progress.Value;
}
}
jd.Add("进度:" + progress.ToString("0.##") + "%");

View File

@ -68,4 +68,12 @@ namespace Model
set;
}
}
public class LicenseDto
{
public string ProjectId { get; set; }
public string WorkStates { get; set; }
public string LicenseTypeName { get; set; }
public string WorkStatesStr { get; set; }
}
}