From 0a2c5f3fdad07c4c10de0e518d7fa531db443b18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=20=E8=8C=83?= Date: Mon, 22 Dec 2025 20:27:32 +0800 Subject: [PATCH] =?UTF-8?q?2025=E5=B9=B4=E5=BA=A6=E6=B5=99=E6=B1=9F?= =?UTF-8?q?=E7=9C=81=E5=BB=BA=E7=AD=91=E6=96=BD=E5=B7=A5=E5=AE=89=E5=85=A8?= =?UTF-8?q?=E7=94=9F=E4=BA=A7=E6=A0=87=E5=87=86=E5=8C=96=E4=BC=98=E8=89=AF?= =?UTF-8?q?=E5=B7=A5=E5=9C=B0=EF=BC=88=E5=AE=81=E6=B3=A2=E5=9C=B0=E5=8C=BA?= =?UTF-8?q?=EF=BC=89=E6=B0=B4=E5=B9=B3=E8=AE=A4=E5=AE=9A=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E6=B1=87=E6=80=BB=E8=A1=A8=EF=BC=88=E6=8C=89=E6=80=BB=E5=88=86?= =?UTF-8?q?=E4=BB=8E=E9=AB=98=E5=88=B0=E4=BD=8E=E6=8E=92=E5=BA=8F=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ewide.Web.Entry/Ewide.Web.Entry.csproj | 9 + .../Ewide.Web.Entry/appsettings.json | 2 +- ...产标准化优良工地(宁波地区)水平认定项目投票结果.xlsx | Bin 0 -> 33491 bytes .../wwwroot/html/Manage/Login.html | 3 +- .../wwwroot/html/yjbvote20251222/Expert.html | 175 ++++++++++ .../html/yjbvote20251222/VoteResult.html | 195 +++++++++++ .../wwwroot/html/yjbvote20251222/index.html | 302 ++++++++++++++++++ .../ApiController/ProjectsService.cs | 50 +-- .../Vote.Services/Dto/ProjectsInput.cs | 38 ++- .../Vote.Services/Entities/Projects.cs | 1 + 10 files changed, 737 insertions(+), 38 deletions(-) create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/ExcelTemplate/2025年度浙江省建筑施工安全生产标准化优良工地(宁波地区)水平认定项目投票结果.xlsx create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/html/yjbvote20251222/Expert.html create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/html/yjbvote20251222/VoteResult.html create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/html/yjbvote20251222/index.html diff --git a/20220330_Vote/Ewide.Web.Entry/Ewide.Web.Entry.csproj b/20220330_Vote/Ewide.Web.Entry/Ewide.Web.Entry.csproj index a9e17b4..cfe0886 100644 --- a/20220330_Vote/Ewide.Web.Entry/Ewide.Web.Entry.csproj +++ b/20220330_Vote/Ewide.Web.Entry/Ewide.Web.Entry.csproj @@ -15,6 +15,15 @@ + + Always + + + Always + + + Always + diff --git a/20220330_Vote/Ewide.Web.Entry/appsettings.json b/20220330_Vote/Ewide.Web.Entry/appsettings.json index 0195494..2eac478 100644 --- a/20220330_Vote/Ewide.Web.Entry/appsettings.json +++ b/20220330_Vote/Ewide.Web.Entry/appsettings.json @@ -63,6 +63,6 @@ "GetHouseInfoCitysByCommunity": "http://sjk.test.ky.com/housesafety/statistics/GetHouseInfoCitysByCommunity?communityID={0}" }, "UserScore": { - "ExpertNumber": 8 + "ExpertNumber": 17 } } \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/ExcelTemplate/2025年度浙江省建筑施工安全生产标准化优良工地(宁波地区)水平认定项目投票结果.xlsx b/20220330_Vote/Ewide.Web.Entry/wwwroot/ExcelTemplate/2025年度浙江省建筑施工安全生产标准化优良工地(宁波地区)水平认定项目投票结果.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..49487c0d7d06229477e304afb51f9a094468575a GIT binary patch literal 33491 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 M{Ig!8_ix<)0n+0N*8l(j literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/html/Manage/Login.html b/20220330_Vote/Ewide.Web.Entry/wwwroot/html/Manage/Login.html index dd49c0b..83acfdc 100644 --- a/20220330_Vote/Ewide.Web.Entry/wwwroot/html/Manage/Login.html +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/html/Manage/Login.html @@ -106,7 +106,8 @@ //location = '/gb/yjb/manage/VoteResult' //location = '/gb/yjb/manage/nbczResult' //location = '/202307/html/outsidewall/result.html' - location = '../yjbvote2025/voteresult.html'; + // location = '../yjbvote2025/voteresult.html'; + location = '../yjbvote20251222/voteresult.html'; } } _this.loading = false; diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/html/yjbvote20251222/Expert.html b/20220330_Vote/Ewide.Web.Entry/wwwroot/html/yjbvote20251222/Expert.html new file mode 100644 index 0000000..6a2e6f8 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/html/yjbvote20251222/Expert.html @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + +
+

2025年度浙江省建筑施工安全生产标准化优良工地(宁波地区)水平认定项目 专家投票情况

+ + + + + + + +

+ 刷新数据 + 查看项目投票情况 + 新增专家 +

+ +
+ + 确定 +
+
+ + + +
+ + + + + \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/html/yjbvote20251222/VoteResult.html b/20220330_Vote/Ewide.Web.Entry/wwwroot/html/yjbvote20251222/VoteResult.html new file mode 100644 index 0000000..7007a8c --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/html/yjbvote20251222/VoteResult.html @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + +
+

2025年度浙江省建筑施工安全生产标准化优良工地(宁波地区)水平认定项目 选票结果

+ + + + + + + + + + + + +

+ 刷新数据 + 导出Excel + 查看专家投票情况 +

+
+ + + + + \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/html/yjbvote20251222/index.html b/20220330_Vote/Ewide.Web.Entry/wwwroot/html/yjbvote20251222/index.html new file mode 100644 index 0000000..7dd44a3 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/html/yjbvote20251222/index.html @@ -0,0 +1,302 @@ + + + + + + + + + + + + + + +
+

2025年度浙江省建筑施工安全生产标准化优良工地(宁波地区)水平认定项目汇总表

(按总分从高到低排序)

+ + + + {{project.serial_number}}:{{project.name}} + {{project.remark}} + + + + + + +

+ +

+

+ 重置 + 提交 +

+
+ + + + + \ No newline at end of file diff --git a/20220330_Vote/Vote.Services/ApiController/ProjectsService.cs b/20220330_Vote/Vote.Services/ApiController/ProjectsService.cs index d989c83..2d0506d 100644 --- a/20220330_Vote/Vote.Services/ApiController/ProjectsService.cs +++ b/20220330_Vote/Vote.Services/ApiController/ProjectsService.cs @@ -32,7 +32,10 @@ namespace Vote.Services.ApiController private readonly IRepository rep_VoteRecords2021; private readonly IRepository rep_Projects2022; private readonly IRepository rep_VoteRecords2022; - public ProjectsService(IRepository _rep_Projects, IRepository _rep_Experts, IRepository _rep_VoteRecords, IRepository _rep_Projects2021, IRepository _rep_VoteRecords2021, IRepository _rep_Projects2022, IRepository _rep_VoteRecords2022) + + public ProjectsService(IRepository _rep_Projects, IRepository _rep_Experts, IRepository _rep_VoteRecords, + IRepository _rep_Projects2021, IRepository _rep_VoteRecords2021, + IRepository _rep_Projects2022, IRepository _rep_VoteRecords2022) { rep_Projects = _rep_Projects; rep_Experts = _rep_Experts; @@ -51,7 +54,7 @@ namespace Vote.Services.ApiController [Microsoft.AspNetCore.Authorization.AllowAnonymous] public async Task List(ProjectsInput args) { - var typeList = new List { "房建工程", "市政工程", "轨道交通工程" };//, "电力工程", "交通工程", "水利工程" }; + var typeList = new List { "房屋建筑工程", "市政基础设施工程", "轨道交通工程", "电力工程" }; //, "交通工程", "水利工程" }; var data = await rep_Projects.DetachedEntities.Where(p => !p.IsDeleted) .Where(args.type != null, a => (int)a.type == args.type) .ProjectToType() @@ -110,24 +113,27 @@ namespace Vote.Services.ApiController }); return true; } + private async Task> GetVoteData() { var query = from a in rep_Projects.DetachedEntities - join b in rep_VoteRecords.DetachedEntities - on a.Id equals b.project_id into grouping - from p in grouping.DefaultIfEmpty() - group new { a, p } by new { a.Id, a.name, a.serial_number, a.type } into pp - select new ProjectsList2Output - { - serial_number = pp.Key.serial_number, - id = pp.Key.Id, - name = pp.Key.name, - yes_count = pp.Where(a => a.p.is_agree).Count(), - no_count = pp.Where(a => !a.p.is_agree).Count(), - type = pp.Key.type - }; + join b in rep_VoteRecords.DetachedEntities + on a.Id equals b.project_id into grouping + from p in grouping.DefaultIfEmpty() + group new { a, p } by new { a.Id, a.name, a.serial_number, a.type } + into pp + select new ProjectsList2Output + { + serial_number = pp.Key.serial_number, + id = pp.Key.Id, + name = pp.Key.name, + yes_count = pp.Where(a => a.p.is_agree).Count(), + no_count = pp.Where(a => !a.p.is_agree).Count(), + type = pp.Key.type + }; return await query.OrderBy(a => a.serial_number).ToListAsync(); } + /// /// 列表 /// @@ -135,7 +141,6 @@ namespace Vote.Services.ApiController [HttpPost] public async Task List2() { - //var data = rep_Projects.DetachedEntities.Where(p => !p.IsDeleted) // //.Where(args.type != null, a => (int)a.type == args.type) // .Join(rep_VoteRecords.DetachedEntities, a => a.Id, a => a.project_id, (a, b) => @@ -167,9 +172,10 @@ namespace Vote.Services.ApiController // data4, // data5 //}; - var typeList = new List { "房建工程", "市政工程", "轨道交通工程" };//, "电力工程", "交通工程", "水利工程" }; + var typeList = new List { "房建工程", "市政工程", "轨道交通工程", "电力工程" }; //, "电力工程", "交通工程", "水利工程" }; return new { data, typeList }; } + /// /// /// @@ -178,10 +184,11 @@ namespace Vote.Services.ApiController { var data = await GetVoteData(); //var filepath = Tools.ExcelHelper.WriteTemplate(data, 4, "C"); - string template_name = "2024年度宁波市结构优质认定项目投票结果.xlsx"; - var filepath = Tools.ExcelHelper.WriteTemplate(template_name, data, 5, "C"); + string template_name = "2025年度浙江省建筑施工安全生产标准化优良工地(宁波地区)水平认定项目投票结果.xlsx"; + var filepath = Tools.ExcelHelper.WriteTemplate(template_name, data, 4, "D"); return new FileStreamResult(new FileStream(filepath, FileMode.Open), "application/octet-stream") { FileDownloadName = filepath }; } + /// /// /// @@ -204,8 +211,6 @@ namespace Vote.Services.ApiController // is_vote = tt == null // }; //return await query.ToListAsync(); - - } /// @@ -229,7 +234,8 @@ namespace Vote.Services.ApiController CreatedTime = DateTime.Now }); } + await rep_Experts.InsertAsync(list); } } -} +} \ No newline at end of file diff --git a/20220330_Vote/Vote.Services/Dto/ProjectsInput.cs b/20220330_Vote/Vote.Services/Dto/ProjectsInput.cs index a0a0869..c1ec09e 100644 --- a/20220330_Vote/Vote.Services/Dto/ProjectsInput.cs +++ b/20220330_Vote/Vote.Services/Dto/ProjectsInput.cs @@ -15,42 +15,49 @@ namespace Vote.Services.Dto /// 项目类型 /// public int? type { get; set; } + public int? is_no_inspection { get; set; } } + public class ProjectsOutput { /// /// /// public string id { get; set; } + /// /// 项目序号 /// public int serial_number { get; set; } + /// /// 工程名称 /// public string name { get; set; } + /// /// 项目类型 /// public EnumProjectType type { get; set; } + /// /// 项目类型 /// public string type_title { - get - { - return type.GetEnumDescription(); - } + get { return type.GetEnumDescription(); } } + /// /// /// public bool vote { get; set; } = false; + + public string remark { get; set; } public int is_no_inspection { get; set; } } + public class CheckSubmitCodeInput { /// @@ -59,6 +66,7 @@ namespace Vote.Services.Dto [Required] public string code { get; set; } } + public class SubmitInput { /// @@ -66,8 +74,8 @@ namespace Vote.Services.Dto /// [Required] public string code { get; set; } - [Required] - public List projects { get; set; } + + [Required] public List projects { get; set; } } public class ProjectsList2Output @@ -76,10 +84,12 @@ namespace Vote.Services.Dto /// /// public string id { get; set; } + /// /// 项目序号 /// public int serial_number { get; set; } + /// /// 工程名称 /// @@ -95,29 +105,29 @@ namespace Vote.Services.Dto { get { - return yes_count > 15; + return yes_count >= 11; // return (yes_count / (yes_count + no_count)) >= (2.0 / 3.0); } } + /// /// 项目类型 /// public EnumProjectType type { get; set; } + /// /// 项目类型 /// public string type_title { - get - { - return type.GetEnumDescription(); - } + get { return type.GetEnumDescription(); } } + public class AddExpertInput { - [Required] - public int expertnum { get; set; } + [Required] public int expertnum { get; set; } } + public int is_no_inspection { get; set; } } -} +} \ No newline at end of file diff --git a/20220330_Vote/Vote.Services/Entities/Projects.cs b/20220330_Vote/Vote.Services/Entities/Projects.cs index 87d3afe..6fced83 100644 --- a/20220330_Vote/Vote.Services/Entities/Projects.cs +++ b/20220330_Vote/Vote.Services/Entities/Projects.cs @@ -29,6 +29,7 @@ namespace Vote.Services.Entities /// [Comment("工程名称")] public string name { get; set; } + public string remark { get; set; } /// /// 项目类型 ///