From 72755602bfa01b6b126b0289582c8eef0eb76d0b Mon Sep 17 00:00:00 2001 From: 移动系统liao <liaoxujun@qq.com> Date: 星期一, 14 七月 2025 16:05:20 +0800 Subject: [PATCH] 增加微信收款配置 --- Admin.NET/FZFCGDD.ORDER.Application/Service/Neirongfabu/Dto/NeirongfabuOutput.cs | 117 + Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/Dto/TenderOrderDto.cs | 272 +++ Admin.NET/Admin.NET.Application/Configuration/Swagger.json | 7 Admin.NET/Admin.NET.Web.Entry/Admin.NET.Web.Entry.csproj | 2 Admin.NET/FZCZTB.NET.MD/ChangeOrder.cs | 68 Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/TenderOrderService.cs | 858 ++++++++++ Admin.NET/FZCZTB.NET.MD/Collection.cs | 33 Admin.NET/FZCZTB.NET.MD/Neirongfabu.cs | 84 + Admin.NET/FZFCGDD.ORDER.Application/FZFCGDD.ORDER.Application.csproj | 19 Admin.NET/FZFCGDD.ORDER.Application/Service/Neirongfabu/NeirongfabuService.cs | 302 +++ Admin.NET/FZCZTB.NET.MD/TenderOrderBidding.cs | 86 + Admin.NET/FZFCGDD.ORDER.Application/Service/Neirongfabu/Dto/NeirongfabuInput.cs | 107 + Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/Dto/TenderOrderOutput.cs | 590 +++++++ Admin.NET/FZFCGDD.ORDER.Application/Service/ShouyeGonggao/ShouyeGonggaoService.cs | 490 +++++ Admin.NET/Admin.NET.Application/Const/ApplicationConst.cs | 4 Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/Dto/TenderOrderInput.cs | 1155 +++++++++++++ Admin.NET/Admin.NET.Application/Configuration/Database.json | 1 Admin.NET/Admin.NET.sln | 14 Admin.NET/FZCZTB.NET.MD/TenderOrder.cs | 326 +++ Admin.NET/FZFCGDD.ORDER.Application/Service/SuplierTendOrder/SuplierTendOrderService.cs | 392 ++++ 20 files changed, 4,923 insertions(+), 4 deletions(-) diff --git a/Admin.NET/Admin.NET.Application/Configuration/Database.json b/Admin.NET/Admin.NET.Application/Configuration/Database.json index 4ffea4f..0c98880 100644 --- a/Admin.NET/Admin.NET.Application/Configuration/Database.json +++ b/Admin.NET/Admin.NET.Application/Configuration/Database.json @@ -16,6 +16,7 @@ //"ConnectionString": "User Id=xxx; Password=xxx; Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)))", // Oracle "ConnectionString": "Server=192.168.18.15;Database=FZCZTB;User Id=SA;Password=123456;Encrypt=True;TrustServerCertificate=True;", // SqlServer // "ConnectionString": "Server=MS-FSEUTNLCXFDB\\SQLEXPRESS;Database=FZCZTB;Encrypt=True;TrustServerCertificate=True;Integrated Security=true;", // SqlServer + //"SlaveConnectionConfigs": [ // 璇诲啓鍒嗙/涓讳粠 // { // "HitRate": 10, diff --git a/Admin.NET/Admin.NET.Application/Configuration/Swagger.json b/Admin.NET/Admin.NET.Application/Configuration/Swagger.json index 1aca37f..1e15d7e 100644 --- a/Admin.NET/Admin.NET.Application/Configuration/Swagger.json +++ b/Admin.NET/Admin.NET.Application/Configuration/Swagger.json @@ -26,6 +26,13 @@ "Order": 10000 }, { + "Group": "FZFCGDD", + "Title": "闈炴斂搴滈噰璐鍗�", + "Description": "闈炴斂搴滈噰璐鍗�", + "Version": "1.0.0", + "Order": 10001 + }, + { "Group": "FZCCustomerGroupName", "Title": "鍓嶇瀹㈡埛鍜岀郴缁熻缃�", "Description": "闈炴斂搴滈噰璐氦鏄撳钩鍙�", diff --git a/Admin.NET/Admin.NET.Application/Const/ApplicationConst.cs b/Admin.NET/Admin.NET.Application/Const/ApplicationConst.cs index 2a0539e..bbc3140 100644 --- a/Admin.NET/Admin.NET.Application/Const/ApplicationConst.cs +++ b/Admin.NET/Admin.NET.Application/Const/ApplicationConst.cs @@ -16,4 +16,8 @@ /// </summary> public const string GroupName = "FZCCGPT"; + /// <summary> + /// API鍒嗙粍鍚嶇О + /// </summary> + public const string GroupNameDD = "FZFCGDD"; } \ No newline at end of file diff --git a/Admin.NET/Admin.NET.Web.Entry/Admin.NET.Web.Entry.csproj b/Admin.NET/Admin.NET.Web.Entry/Admin.NET.Web.Entry.csproj index 568511b..d209284 100644 --- a/Admin.NET/Admin.NET.Web.Entry/Admin.NET.Web.Entry.csproj +++ b/Admin.NET/Admin.NET.Web.Entry/Admin.NET.Web.Entry.csproj @@ -62,6 +62,8 @@ <ItemGroup> <ProjectReference Include="..\Admin.NET.Web.Core\Admin.NET.Web.Core.csproj" /> + <ProjectReference Include="..\FZCZTB.TSCL.Application\FZCZTB.TSCL.Application.csproj" /> + <ProjectReference Include="..\FZFCGDD.ORDER.Application\FZFCGDD.ORDER.Application.csproj" /> </ItemGroup> </Project> diff --git a/Admin.NET/Admin.NET.sln b/Admin.NET/Admin.NET.sln index 9f9f027..b4cc41d 100644 --- a/Admin.NET/Admin.NET.sln +++ b/Admin.NET/Admin.NET.sln @@ -11,7 +11,7 @@ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Admin.NET.Web.Entry", "Admin.NET.Web.Entry\Admin.NET.Web.Entry.csproj", "{11EA630B-4600-4236-A117-CE6C6CD67586}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Admin.NET.Test", "Admin.NET.Test\Admin.NET.Test.csproj", "{57350E6A-B5A0-452C-9FD4-C69617C6DA30}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Admin.NET.Test", "Admin.NET.Test\Admin.NET.Test.csproj", "{57350E6A-B5A0-452C-9FD4-C69617C6DA30}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{662E0B8E-F23E-4C7D-80BD-CAA5707503CC}" ProjectSection(SolutionItems) = preProject @@ -30,11 +30,13 @@ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Admin.NET.Plugin.K3Cloud", "Plugins\Admin.NET.Plugin.K3Cloud\Admin.NET.Plugin.K3Cloud.csproj", "{72EB89AB-15F7-4F85-88DB-7C2EF7C3D588}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Admin.NET.Plugin.WorkWeixin", "Plugins\Admin.NET.Plugin.WorkWeixin\Admin.NET.Plugin.WorkWeixin.csproj", "{BFE4764F-1FF8-47A7-B4AD-085F7D8CD6C4}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Admin.NET.Plugin.WorkWeixin", "Plugins\Admin.NET.Plugin.WorkWeixin\Admin.NET.Plugin.WorkWeixin.csproj", "{BFE4764F-1FF8-47A7-B4AD-085F7D8CD6C4}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FZCZTB.TSCL.Application", "FZCZTB.TSCL.Application\FZCZTB.TSCL.Application.csproj", "{8EBCF91D-8A0B-4BF7-A391-ED335CAABAA1}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FZCZTB.TSCL.Application", "FZCZTB.TSCL.Application\FZCZTB.TSCL.Application.csproj", "{8EBCF91D-8A0B-4BF7-A391-ED335CAABAA1}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FZCZTB.NET.MD", "FZCZTB.NET.MD\FZCZTB.NET.MD.csproj", "{6D667B23-0499-4352-BCA6-C9F2E388710B}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FZCZTB.NET.MD", "FZCZTB.NET.MD\FZCZTB.NET.MD.csproj", "{6D667B23-0499-4352-BCA6-C9F2E388710B}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FZFCGDD.ORDER.Application", "FZFCGDD.ORDER.Application\FZFCGDD.ORDER.Application.csproj", "{B3F43995-30FA-47AF-83A0-B37A2669C6A8}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FZCZTB.Net.CustomerSYSTem", "FZCZTB.Net.CustomerSYSTem\FZCZTB.Net.CustomerSYSTem.csproj", "{72CBCF69-83C4-44DF-B066-7618D5672B03}" EndProject @@ -107,6 +109,10 @@ {6D667B23-0499-4352-BCA6-C9F2E388710B}.Debug|Any CPU.Build.0 = Debug|Any CPU {6D667B23-0499-4352-BCA6-C9F2E388710B}.Release|Any CPU.ActiveCfg = Release|Any CPU {6D667B23-0499-4352-BCA6-C9F2E388710B}.Release|Any CPU.Build.0 = Release|Any CPU + {B3F43995-30FA-47AF-83A0-B37A2669C6A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B3F43995-30FA-47AF-83A0-B37A2669C6A8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B3F43995-30FA-47AF-83A0-B37A2669C6A8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B3F43995-30FA-47AF-83A0-B37A2669C6A8}.Release|Any CPU.Build.0 = Release|Any CPU {72CBCF69-83C4-44DF-B066-7618D5672B03}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {72CBCF69-83C4-44DF-B066-7618D5672B03}.Debug|Any CPU.Build.0 = Debug|Any CPU {72CBCF69-83C4-44DF-B066-7618D5672B03}.Release|Any CPU.ActiveCfg = Release|Any CPU diff --git a/Admin.NET/FZCZTB.NET.MD/ChangeOrder.cs b/Admin.NET/FZCZTB.NET.MD/ChangeOrder.cs new file mode 100644 index 0000000..4aab47d --- /dev/null +++ b/Admin.NET/FZCZTB.NET.MD/ChangeOrder.cs @@ -0,0 +1,68 @@ +锘縰sing Admin.NET.Core; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FZCZTB.NET.MD +{ + /// <summary> + /// 鎶曡瘔璐ㄧ枒缁撴灉 + /// </summary> + [SugarTable("FB_ChangeOrder")] + [IncreTable] + public partial class ChangeOrder : basemodelNoId + { + /// <summary> + /// 鍙樻洿ID锛屼富閿� + /// </summary> + [SugarColumn(IsPrimaryKey = true)] + public Guid Id { get; set; } + + /// <summary> + /// 鎷涙爣ID锛屽閿� + /// </summary> + public Guid TenderId { get; set; } + + + /// <summary> + /// 椤圭洰鍚嶇О + /// </summary> + [SugarColumn(Length = 200, IsNullable = false, ColumnDescription = "椤圭洰鍚嶇О")] + public string ProjectName { get; set; } + + /// <summary> + /// 鍙樻洿鏂囦欢 + /// </summary> + [SugarColumn(Length = 512, IsNullable = true, ColumnDescription = "鍙樻洿鏂囦欢")] + public string Biangengwenjian { get; set; } + + /// <summary> + /// 鎶曟爣鎶ュ悕寮�濮嬫椂闂� + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "鎶曟爣鎶ュ悕寮�濮嬫椂闂�")] + public DateTime? ToubiaoStartDate { get; set; } + + + /// <summary> + /// 鎶曟爣鎶ュ悕缁撴潫鏃堕棿 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "鎶曟爣鎶ュ悕缁撴潫鏃堕棿")] + public DateTime? ToubiaoEndDate { get; set; } + + /// <summary> + /// 寮�鏍囨椂闂� + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "寮�鏍囨椂闂�")] + public DateTime? KaibiaoDate { get; set; } + + /// <summary> + /// 寮�鏍囧湴鐐� + /// </summary> + [SugarColumn(Length = 250, IsNullable = true, ColumnDescription = "寮�鏍囧湴鐐�")] + public string Kaibiaodidian { get; set; } + } +} diff --git a/Admin.NET/FZCZTB.NET.MD/Collection.cs b/Admin.NET/FZCZTB.NET.MD/Collection.cs new file mode 100644 index 0000000..3eb8a0c --- /dev/null +++ b/Admin.NET/FZCZTB.NET.MD/Collection.cs @@ -0,0 +1,33 @@ +锘縰sing Admin.NET.Core; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FZCZTB.NET.MD +{ + /// <summary> + /// 鎶曡瘔璐ㄧ枒缁撴灉 + /// </summary> + [SugarTable("FB_Collection")] + [IncreTable] + public partial class Collection : basemodelNoId + { + /// <summary> + /// ID锛屼富閿� + /// </summary> + [SugarColumn(IsPrimaryKey = true)] + public Guid Id { get; set; } + + /// <summary> + /// 鎷涙爣ID锛屽閿� + /// </summary> + [SugarColumn(IsPrimaryKey = true)] + public Guid TenderId { get; set; } + } + + +} diff --git a/Admin.NET/FZCZTB.NET.MD/Neirongfabu.cs b/Admin.NET/FZCZTB.NET.MD/Neirongfabu.cs new file mode 100644 index 0000000..1c7c785 --- /dev/null +++ b/Admin.NET/FZCZTB.NET.MD/Neirongfabu.cs @@ -0,0 +1,84 @@ +锘縰sing Admin.NET.Core; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FZCZTB.NET.MD +{ + /// <summary> + /// 鎶曡瘔璐ㄧ枒缁撴灉 + /// </summary> + [SugarTable("FB_Neirongfabu")] + [IncreTable] + public partial class Neirongfabu : basemodelNoId + { + /// <summary> + /// ID锛屼富閿� + /// </summary> + [SugarColumn(IsPrimaryKey = true)] + public Guid Id { get; set; } + + + /// <summary> + /// 鍐呭绫诲瀷 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "鍐呭绫诲瀷")] + public int? Leirongneixing { get; set; } + + + + /// <summary> + /// 鏄惁鍙戝竷 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "鏄惁鍙戝竷")] + public bool? IsFabu { get; set; } + + /// <summary> + /// 鏄惁棣栭〉鏄剧ず + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "鏄惁棣栭〉鏄剧ず")] + public bool? IsShouyexianshi { get; set; } + + /// <summary> + /// 鍐呭鏍囬 + /// </summary> + [SugarColumn(Length = 200, IsNullable = false, ColumnDescription = "鍐呭鏍囬")] + public string NeirongTittle { get; set; } + + /// <summary> + /// 灏侀潰鍥剧墖 + /// </summary> + [SugarColumn(Length = 512, IsNullable = true, ColumnDescription = "灏侀潰鍥剧墖")] + public string Fengmiantupian { get; set; } + + + /// <summary> + /// 鎺掑簭 瓒婂皬瓒婇潬鍓� + /// </summary> + [SugarColumn( IsNullable = true, ColumnDescription = "鎺掑簭 瓒婂皬瓒婇潬鍓�")] + public int? Sort { get; set; } + + /// <summary> + /// 鍙戝竷鏃堕棿 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "鍙戝竷鏃堕棿")] + public DateTime? FabuDate { get; set; } + + + /// <summary> + /// 鍐呭鎽樿 + /// </summary> + [SugarColumn(Length = 200, IsNullable = true, ColumnDescription = "鍐呭鎽樿")] + public string NeirongZhaiyao { get; set; } + + /// <summary> + /// 鍐呭鎻忚堪 + /// </summary> + [SugarColumn(ColumnDescription = "鍐呭鎻忚堪", ColumnDataType = StaticConfig.CodeFirst_BigString)] + public string NeirongMiaoshu { get; set; } + } +} diff --git a/Admin.NET/FZCZTB.NET.MD/TenderOrder.cs b/Admin.NET/FZCZTB.NET.MD/TenderOrder.cs new file mode 100644 index 0000000..1634e02 --- /dev/null +++ b/Admin.NET/FZCZTB.NET.MD/TenderOrder.cs @@ -0,0 +1,326 @@ +锘縰sing Admin.NET.Core; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FZCZTB.NET.MD +{ + /// <summary> + /// 鎶曡瘔璐ㄧ枒缁撴灉 + /// </summary> + [SugarTable("FB_TenderOrder")] + [IncreTable] + public partial class TenderOrder : basemodelNoId + { + + /// <summary> + /// 鎷涙爣ID锛屼富閿� + /// </summary> + [SugarColumn(IsPrimaryKey = true)] + public Guid Id { get; set; } + + /// <summary> + /// 椤圭洰鍚嶇О + /// </summary> + [SugarColumn(Length = 200, IsNullable = false, ColumnDescription = "椤圭洰鍚嶇О")] + public string ProjectName { get; set; } + + /// <summary> + /// 椤圭洰缂栧彿 + /// </summary> + [SugarColumn(Length = 100, IsNullable = false, ColumnDescription = "椤圭洰缂栧彿")] + public string ProjectCode { get; set; } + + /// <summary> + /// 琛屼笟鍝佺洰 + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "琛屼笟鍝佺洰")] + public string Hangyepinmu { get; set; } + + /// <summary> + /// 閲囪喘鏂瑰紡 + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "閲囪喘鏂瑰紡")] + public string Caigoufangshi { get; set; } + + /// <summary> + /// 閲囪喘閬囩畻 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "閲囪喘閬囩畻")] + public decimal? Caigouyusuan { get; set; } + + /// <summary> + /// 瀹氭爣瑙勫垯 + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "瀹氭爣瑙勫垯")] + public string Dingbiaoguize { get; set; } + + /// <summary> + /// 鎶ュ悕璐� + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "鎶ュ悕璐�")] + public decimal? Baomingfei { get; set; } + + /// <summary> + /// 鎶曟爣淇濊瘉閲� + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "鎶曟爣淇濊瘉閲�")] + public decimal? Toubiaobaozhengjin { get; set; } + + + /// <summary> + /// 鑱斿悎浣撴姇鏍� + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "鑱斿悎浣撴姇鏍�")] + public string Lianhetitoubiao { get; set; } + + /// <summary> + /// 寮�鏍囨柟寮� + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "寮�鏍囨柟寮�")] + public string Kaibiaofangshi { get; set; } + + /// <summary> + /// 鏄惁鍒嗗寘 + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "鏄惁鍒嗗寘")] + public string Shifoufenbao { get; set; } + + /// <summary> + /// 鏄惁鎺ㄩ�佸浼� + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "鏄惁鎺ㄩ�佸浼�")] + public string Shifoutuisongxuanchuan { get; set; } + + /// <summary> + /// 閲囪喘浜哄悕绉� + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "閲囪喘浜哄悕绉�")] + public string Caigourenmingcheng { get; set; } + + /// <summary> + /// 琛屾斂鍖哄煙 + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "琛屾斂鍖哄煙")] + public string Xingzhengquyu { get; set; } + + /// <summary> + /// 琛屾斂鍖哄煙鍚嶇О + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "琛屾斂鍖哄煙鍚嶇О")] + public string XingzhengquyuName { get; set; } + + /// <summary> + /// 鏈烘瀯浠g爜 + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "鏈烘瀯浠g爜")] + public string Jigoudaima { get; set; } + + /// <summary> + /// 浠g爜绫诲瀷 + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "浠g爜绫诲瀷")] + public string Daimaleixing { get; set; } + + /// <summary> + /// 鑱旂郴浜� + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "鑱旂郴浜�")] + public string Lianxiren { get; set; } + + /// <summary> + /// 鑱旂郴鐢佃瘽 + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "鑱旂郴鐢佃瘽")] + public string Lianxidianhua { get; set; } + + /// <summary> + /// 閫氫俊鍦板潃 + /// </summary> + [SugarColumn(Length = 250, IsNullable = true, ColumnDescription = "閫氫俊鍦板潃")] + public string Tongxindizhi { get; set; } + + /// <summary> + /// 鐢靛瓙閭欢 + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "鐢靛瓙閭欢")] + public string Dianziyoujian { get; set; } + + /// <summary> + /// 椤圭洰缁忓姙浜� + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "椤圭洰缁忓姙浜�")] + public string Xiangmujingbanren { get; set; } + + /// <summary> + /// 鑱屽姟 + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "鑱屽姟")] + public string Zhiwu { get; set; } + + /// <summary> + /// 缁忓姙浜虹數璇� + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "缁忓姙浜虹數璇�")] + public string Jingbanrendianhua { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鍚嶇О + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "浠g悊鏈烘瀯鍚嶇О")] + public string Dailijigoumingcheng { get; set; } + + + /// <summary> + /// 浠g悊鏈烘瀯鑱旂郴浜� + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "浠g悊鏈烘瀯鑱旂郴浜�")] + public string DailiLianxiren { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鑱旂郴鐢佃瘽 + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "浠g悊鏈烘瀯鑱旂郴鐢佃瘽")] + public string DailiLianxidianhua { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鐢靛瓙閭欢 + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "浠g悊鏈烘瀯鐢靛瓙閭欢")] + public string DailiDianziyoujian { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯閫氫俊鍦板潃 + /// </summary> + [SugarColumn(Length = 250, IsNullable = true, ColumnDescription = "浠g悊鏈烘瀯閫氫俊鍦板潃")] + public string DailiTongxindizhi { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯椤圭洰缁忕悊 + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "浠g悊鏈烘瀯椤圭洰缁忕悊")] + public string DailiXiangmujingli { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯椤圭洰缁忕悊鑱旂郴鐢佃瘽 + /// </summary> + [SugarColumn(Length = 100, IsNullable = true, ColumnDescription = "浠g悊鏈烘瀯椤圭洰缁忕悊鑱旂郴鐢佃瘽")] + public string DailijingliLianxidianhua { get; set; } + + + + /// <summary> + /// 璐ㄧ枒鏈夋棤 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "璐ㄧ枒鏈夋棤")] + public bool? Zhiyi { get; set; } + + + /// <summary> + /// 鎶曡瘔鏈夋棤 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "鎶曡瘔鏈夋棤")] + public bool? Tousu { get; set; } + + + /// <summary> + /// 璁㈠崟鐘舵�� + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "璁㈠崟鐘舵��")] + public int? OrderStatus { get; set; } + + + + /// <summary> + /// 鎶曟爣鎶ュ悕寮�濮嬫椂闂� + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "鎶曟爣鎶ュ悕寮�濮嬫椂闂�")] + public DateTime? ToubiaoStartDate { get; set; } + + + /// <summary> + /// 鎶曟爣鎶ュ悕缁撴潫鏃堕棿 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "鎶曟爣鎶ュ悕缁撴潫鏃堕棿")] + public DateTime? ToubiaoEndDate { get; set; } + + /// <summary> + /// 寮�鏍囨椂闂� + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "寮�鏍囨椂闂�")] + public DateTime? KaibiaoDate { get; set; } + + /// <summary> + /// 鍙戝竷鏃堕棿 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "鍙戝竷鏃堕棿")] + public DateTime? FabuDate { get; set; } + + /// <summary> + /// 鎷涙爣鏂囦欢 + /// </summary> + [SugarColumn(Length = 512, IsNullable = true, ColumnDescription = "鎷涙爣鏂囦欢")] + public string Zhaobiaowenjian { get; set; } + + /// <summary> + /// 闄勪欢 + /// </summary> + [SugarColumn(Length = 512, IsNullable = true, ColumnDescription = "闄勪欢")] + public string Fujian { get; set; } + + /// <summary> + /// 寮�鏍囧湴鐐� + /// </summary> + [SugarColumn(Length = 250, IsNullable = true, ColumnDescription = "寮�鏍囧湴鐐�")] + public string Kaibiaodidian { get; set; } + + + /// <summary> + /// 涓爣渚涘簲鍟咺d + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "涓爣渚涘簲鍟咺d")] + public long? ZhongbiaoId { get; set; } + + /// <summary> + /// 涓爣渚涘簲鍟嗗鍚� + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "涓爣渚涘簲鍟嗗鍚�", Length = 100)] + public string ZhongbiaoName { get; set; } + + /// <summary> + /// 涓撳Id + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "涓撳Id", Length = 500)] + public string ZhuanjiaId { get; set; } + + /// <summary> + /// 涓撳濮撳悕 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "涓撳濮撳悕", Length = 500)] + public string ZhuanjiaName { get; set; } + + + /// <summary> + /// 涓爣鏂囦欢 + /// </summary> + [SugarColumn(Length = 512, IsNullable = true, ColumnDescription = "涓爣鏂囦欢")] + public string Zhongbiaowenjian { get; set; } + + /// <summary> + /// 涓爣鏃堕棿 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "涓爣鏃堕棿")] + public DateTime? ZhongbiaoDate { get; set; } + + /// <summary> + /// 涓爣tittle + /// </summary> + [SugarColumn(Length = 200, IsNullable = true, ColumnDescription = "涓爣tittle")] + public string ZhongbiaoTittle { get; set; } + + } +} diff --git a/Admin.NET/FZCZTB.NET.MD/TenderOrderBidding.cs b/Admin.NET/FZCZTB.NET.MD/TenderOrderBidding.cs new file mode 100644 index 0000000..71747ad --- /dev/null +++ b/Admin.NET/FZCZTB.NET.MD/TenderOrderBidding.cs @@ -0,0 +1,86 @@ +锘縰sing Admin.NET.Core; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FZCZTB.NET.MD +{ + /// <summary> + /// 鎶曡瘔璐ㄧ枒缁撴灉 + /// </summary> + [SugarTable("FB_TenderOrderBidding")] + [IncreTable] + public partial class TenderOrderBidding : basemodelNoId + { + /// <summary> + /// 鎶曟爣ID锛屼富閿� + /// </summary> + [SugarColumn(IsPrimaryKey = true)] + public Guid Id { get; set; } + + /// <summary> + /// 鎷涙爣ID + /// </summary> + [SugarColumn(ColumnDescription = "鎷涙爣ID")] + public Guid TenderId { get; set; } + + + /// <summary> + /// 鎶曟爣鏂囦欢 + /// </summary> + [SugarColumn(Length = 512, IsNullable = true, ColumnDescription = "鎶曟爣鏂囦欢")] + public string Touboaowenjian { get; set; } + + + /// <summary> + /// 鏄惁涓爣 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "鏄惁涓爣")] + public bool? IsSelected { get; set; } + + /// <summary> + /// 涓爣鏃堕棿 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "涓爣鏃堕棿")] + public DateTime? SelectedTime { get; set; } + + + /// <summary> + /// 鏄惁鏀粯 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "鏄惁鏀粯")] + public bool? IsTransfer { get; set; } + + /// <summary> + /// 鏀粯鏃堕棿 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "鏀粯鏃堕棿")] + public DateTime? TransferTime { get; set; } + + + /// <summary> + /// 鏀粯缂栧彿 + /// </summary> + [SugarColumn(Length = 50, IsNullable = true, ColumnDescription = "鏀粯缂栧彿")] + public string TransferNo { get; set; } + + /// <summary> + ///鏀粯閲戦 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "鏀粯閲戦")] + public decimal? Zhifujine { get; set; } + + /// <summary> + /// 鏀粯杩斿洖鏍囧彿 + /// </summary> + [SugarColumn(Length = 50, IsNullable = true, ColumnDescription = "鏀粯杩斿洖鏍囧彿")] + public string TradeNo { get; set; } + + + + } +} diff --git a/Admin.NET/FZFCGDD.ORDER.Application/FZFCGDD.ORDER.Application.csproj b/Admin.NET/FZFCGDD.ORDER.Application/FZFCGDD.ORDER.Application.csproj new file mode 100644 index 0000000..0b5a247 --- /dev/null +++ b/Admin.NET/FZFCGDD.ORDER.Application/FZFCGDD.ORDER.Application.csproj @@ -0,0 +1,19 @@ +锘�<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net8.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>enable</Nullable> + <GenerateDocumentationFile>True</GenerateDocumentationFile> + </PropertyGroup> + + <ItemGroup> + <ProjectReference Include="..\Admin.NET.Application\Admin.NET.Application.csproj" /> + <ProjectReference Include="..\Admin.NET.Core\Admin.NET.Core.csproj" /> + <ProjectReference Include="..\FZCZTB.NET.MD\FZCZTB.NET.MD.csproj" /> + <ProjectReference Include="..\Plugins\Admin.NET.Plugin.ApprovalFlow\Admin.NET.Plugin.ApprovalFlow.csproj" /> + <ProjectReference Include="..\Plugins\Admin.NET.Plugin.DingTalk\Admin.NET.Plugin.DingTalk.csproj" /> + <ProjectReference Include="..\Plugins\Admin.NET.Plugin.GoView\Admin.NET.Plugin.GoView.csproj" /> + </ItemGroup> + +</Project> diff --git a/Admin.NET/FZFCGDD.ORDER.Application/Service/Neirongfabu/Dto/NeirongfabuInput.cs b/Admin.NET/FZFCGDD.ORDER.Application/Service/Neirongfabu/Dto/NeirongfabuInput.cs new file mode 100644 index 0000000..b2e5ce1 --- /dev/null +++ b/Admin.NET/FZFCGDD.ORDER.Application/Service/Neirongfabu/Dto/NeirongfabuInput.cs @@ -0,0 +1,107 @@ +锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆� +// +// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆� +// +// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛� + +using Admin.NET.Core; +using System.ComponentModel.DataAnnotations; +using Magicodes.ExporterAndImporter.Core; +using Magicodes.ExporterAndImporter.Excel; +using FZCZTB.NET.MD; +using SqlSugar; + +namespace FZFCGDD.ORDER.Application.Service.Neirongfabu.Dto; +/// <summary> +/// 鍐呭鍙戝竷鍩虹杈撳叆鍙傛暟 +/// </summary> +public class NeirongfabuInput +{ + /// <summary> + /// ID锛屼富閿� + /// </summary> + [SugarColumn(IsPrimaryKey = true)] + public Guid Id { get; set; } + + + /// <summary> + /// 鍐呭绫诲瀷 + /// </summary> + [Required(ErrorMessage = "鍐呭绫诲瀷涓嶈兘涓虹┖")] + public int Leirongneixing { get; set; } + + + + /// <summary> + /// 鏄惁鍙戝竷 + /// </summary> + [Required(ErrorMessage = "鏄惁鍙戝竷涓嶈兘涓虹┖")] + public bool IsFabu { get; set; } + + /// <summary> + /// 鏄惁棣栭〉鏄剧ず + /// </summary> + [Required(ErrorMessage = "鏄惁棣栭〉鏄剧ず涓嶈兘涓虹┖")] + public bool IsShouyexianshi { get; set; } + + /// <summary> + /// 鍐呭鏍囬 + /// </summary> + [Required(ErrorMessage = "鍐呭鏍囬涓嶈兘涓虹┖")] + public string NeirongTittle { get; set; } + + /// <summary> + /// 灏侀潰鍥剧墖 + /// </summary> + public string Fengmiantupian { get; set; } + + + /// <summary> + /// 鎺掑簭 瓒婂皬瓒婇潬鍓� + /// </summary> + public int? Sort { get; set; } + + /// <summary> + /// 鍙戝竷鏃堕棿 + /// </summary> + [Required(ErrorMessage = "鍙戝竷鏃堕棿涓嶈兘涓虹┖")] + public DateTime FabuDate { get; set; } + + + /// <summary> + /// 鍐呭鎽樿 + /// </summary> + public string NeirongZhaiyao { get; set; } + + /// <summary> + /// 鍐呭鎻忚堪 + /// </summary> + [Required(ErrorMessage = "鍐呭鎻忚堪涓嶈兘涓虹┖")] + public string NeirongMiaoshu { get; set; } +} + +/// <summary> +/// 鍐呭鍙戝竷鍒嗛〉鏌ヨ杈撳叆鍙傛暟 +/// </summary> +public class PageNeirongfabuInput : BasePageInput +{ + + /// <summary> + /// 鍙戝竷鏃ユ湡鑼冨洿 + /// </summary> + public DateTime?[] CreateDateRange { get; set; } + + /// <summary> + /// 鍐呭绫诲瀷 + /// </summary> + public int? Leirongneixing { get; set; } + + /// <summary> + /// 鍐呭鏍囬 + /// </summary> + public string NeirongTittle { get; set; } + + + + +} diff --git a/Admin.NET/FZFCGDD.ORDER.Application/Service/Neirongfabu/Dto/NeirongfabuOutput.cs b/Admin.NET/FZFCGDD.ORDER.Application/Service/Neirongfabu/Dto/NeirongfabuOutput.cs new file mode 100644 index 0000000..60d152f --- /dev/null +++ b/Admin.NET/FZFCGDD.ORDER.Application/Service/Neirongfabu/Dto/NeirongfabuOutput.cs @@ -0,0 +1,117 @@ +锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆� +// +// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆� +// +// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛� + +using Admin.NET.Core; +using System.ComponentModel.DataAnnotations; +using Magicodes.ExporterAndImporter.Core; +using Magicodes.ExporterAndImporter.Excel; +using FZCZTB.NET.MD; +using SqlSugar; + +namespace FZFCGDD.ORDER.Application.Service.Neirongfabu.Dto; +/// <summary> +/// 鍐呭鍙戝竷鍩虹杈撳嚭鍙傛暟 +/// </summary> +public class NeirongfabuOutput +{ + /// <summary> + /// ID锛屼富閿� + /// </summary> + public Guid Id { get; set; } + + /// <summary> + /// 鍐呭绫诲瀷 + /// </summary> + public int? Leirongneixing { get; set; } + + /// <summary> + /// 鍐呭绫诲瀷鍚嶇О + /// </summary> + public string LeirongneixingName { get; set; } + + + /// <summary> + /// 鏄惁鍙戝竷 + /// </summary> + public bool? IsFabu { get; set; } + + /// <summary> + /// 鏄惁棣栭〉鏄剧ず鍚嶇О + /// </summary> + public string IsFabuName { get; set; } + + /// <summary> + /// 鏄惁棣栭〉鏄剧ず + /// </summary> + public bool? IsShouyexianshi { get; set; } + + /// <summary> + /// 鏄惁棣栭〉鏄剧ず鍚嶇О + /// </summary> + public string IsShouyexianshiName { get; set; } + + /// <summary> + /// 鍐呭鏍囬 + /// </summary> + public string NeirongTittle { get; set; } + + /// <summary> + /// 灏侀潰鍥剧墖 + /// </summary> + public string Fengmiantupian { get; set; } + + + /// <summary> + /// 鎺掑簭 瓒婂皬瓒婇潬鍓� + /// </summary> + public int? Sort { get; set; } + + /// <summary> + /// 鍙戝竷鏃堕棿 + /// </summary> + public DateTime? FabuDate { get; set; } + + + /// <summary> + /// 鍐呭鎽樿 + /// </summary> + public string NeirongZhaiyao { get; set; } + + /// <summary> + /// 鍐呭鎻忚堪 + /// </summary> + public string NeirongMiaoshu { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + public DateTime? CreateTime { get; set; } + + /// <summary> + /// 鏇存柊鏃堕棿 + /// </summary> + public DateTime? UpdateTime { get; set; } + + /// <summary> + /// 鍒涘缓鑰匢d + /// </summary> + public long? CreateUserId { get; set; } + + /// <summary> + /// 鍒涘缓鑰呭鍚� + /// </summary> + public string? CreateUserName { get; set; } + + /// <summary> + /// 淇敼鑰匢d + /// </summary> + public long? UpdateUserId { get; set; } + + /// <summary> + /// 淇敼鑰呭鍚� + /// </summary> + public string? UpdateUserName { get; set; } +} diff --git a/Admin.NET/FZFCGDD.ORDER.Application/Service/Neirongfabu/NeirongfabuService.cs b/Admin.NET/FZFCGDD.ORDER.Application/Service/Neirongfabu/NeirongfabuService.cs new file mode 100644 index 0000000..7ac1f0a --- /dev/null +++ b/Admin.NET/FZFCGDD.ORDER.Application/Service/Neirongfabu/NeirongfabuService.cs @@ -0,0 +1,302 @@ +锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆� +// +// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆� +// +// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛� + +using Admin.NET.Core.Service; +using Microsoft.AspNetCore.Http; + +using Furion.DatabaseAccessor; +using Furion.FriendlyException; +using Mapster; +using SqlSugar; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations; +using Microsoft.AspNetCore.Mvc; +using Admin.NET.Application; +using Admin.NET.Core; +using FZCZTB.NET.MD; +using Furion.DynamicApiController; +using Furion.DependencyInjection; +using System.Collections.Generic; +using System.Linq; +using NewLife.Xml; +using AngleSharp.Dom; +using DocumentFormat.OpenXml.Office2010.ExcelAc; +using Furion; +using System.Security.Claims; +using Microsoft.AspNetCore.Authorization; +using RazorEngine.Compilation.ImpromptuInterface; +using MimeKit; +using static FZCZTB.TSCL.Application.ChangeTenderOrderOut; +using FZFCGDD.ORDER.Application.Service.Neirongfabu.Dto; +namespace FZCZTB.TSCL.Application; + +/// <summary> +/// 鍐呭鍙戝竷鎺ュ彛 馃З +/// </summary> +[ApiDescriptionSettings(ApplicationConst.GroupNameDD, Order = 100)] +public class NeirongfabuService : IDynamicApiController, ITransient +{ + private readonly SqlSugarRepository<SysDictData> _sysDictDataRep; + private readonly SqlSugarRepository<Neirongfabu> _neirongfabu; + private readonly ISqlSugarClient _sqlSugarClient; + + public NeirongfabuService(SqlSugarRepository<SysDictData> sysDictDataRep + , SqlSugarRepository<Neirongfabu> neirongfabu + , ISqlSugarClient sqlSugarClient) + { + + _sysDictDataRep = sysDictDataRep; + _neirongfabu = neirongfabu; + _sqlSugarClient = sqlSugarClient; + + + } + + + /// <summary> + /// 鑾峰彇鍐呭绫诲瀷闆嗗悎 馃敄 + /// </summary> + /// <returns></returns> + [DisplayName("鑾峰彇鍐呭绫诲瀷闆嗗悎")] + [ApiDescriptionSettings(Name = "GetLeirongneixingList"), HttpGet] + [AllowAnonymous] + public async Task<List<SysDictData>> GetLeirongneixingList() + { + return await GetDataListByCode("Leirongneixing"); + } + + + /// <summary> + /// 鑾峰彇瀛楀吀鍊奸泦鍚� 馃敄 + /// </summary> + /// <param name="typeId"></param> + /// <param name="code"></param> + /// <returns></returns> + [NonAction] + public async Task<List<SysDictData>> GetDataListByCode(string code) + { + if (string.IsNullOrWhiteSpace(code)) + throw Oops.Oh(ErrorCodeEnum.D3011); + + var dictType = await _sysDictDataRep.Change<SysDictType>().AsQueryable() + .Where(u => u.Status == StatusEnum.Enable) + .WhereIF(!string.IsNullOrWhiteSpace(code), u => u.Code == code) + .FirstAsync(); + if (dictType == null) return null; + + + + var dictDataList = await _sysDictDataRep.AsQueryable() + .Where(u => u.DictTypeId == dictType.Id) + .Where(u => u.Status == StatusEnum.Enable) + .OrderBy(u => new { u.OrderNo, u.Value, u.Code }) + .ToListAsync(); + return dictDataList; + } + + + + /// <summary> + /// 鍒嗛〉鏌ヨ鍐呭鍙戝竷 馃敄 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("鍒嗛〉鏌ヨ鍐呭鍙戝竷")] + [ApiDescriptionSettings(Name = "Page"), HttpPost] + public async Task<SqlSugarPagedList<NeirongfabuOutput>> Page(PageNeirongfabuInput input) + { + long userId = 0; + long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId); + + var query = _neirongfabu.AsQueryable() + .WhereIF(input.CreateDateRange != null && input.CreateDateRange.Length == 2, u => u.FabuDate >= input.CreateDateRange[0] && u.FabuDate <= input.CreateDateRange[1]) + .WhereIF(input.Leirongneixing.HasValue, u => u.Leirongneixing == input.Leirongneixing) + .WhereIF(!string.IsNullOrWhiteSpace(input.NeirongTittle), u => u.NeirongTittle.Contains(input.NeirongTittle.Trim())) + + + .Select(x => new NeirongfabuOutput + { + Id = x.Id, + Leirongneixing = x.Leirongneixing, + IsFabu = x.IsFabu, + IsShouyexianshi = x.IsShouyexianshi, + NeirongTittle = x.NeirongTittle, + Fengmiantupian = x.Fengmiantupian, + Sort = x.Sort, + FabuDate = x.FabuDate, + NeirongZhaiyao = x.NeirongZhaiyao, + // NeirongMiaoshu = x.NeirongMiaoshu, + CreateTime = x.CreateTime, + UpdateTime = x.UpdateTime, + CreateUserId = x.CreateUserId, + CreateUserName = x.CreateUserName, + UpdateUserId = x.UpdateUserId, + UpdateUserName = x.UpdateUserName, + }); + + var pagedList = await query.OrderBuilder(input, "", "Sort", false).ToPagedListAsync(input.Page, input.PageSize); + + var sysDictDatas = await GetDataListByCode("Leirongneixing"); + + foreach (var neirongfabuOutput in pagedList.Items) + { + var sysDictData = sysDictDatas.Where(x => x.Value == neirongfabuOutput.Leirongneixing.Value.ToString()).FirstOrDefault(); + if (sysDictData != null) + { + neirongfabuOutput.LeirongneixingName = sysDictData.Label; + } + + if(neirongfabuOutput.IsFabu.HasValue && neirongfabuOutput.IsFabu.Value) + { + neirongfabuOutput.IsFabuName = "鏄�"; + } + else + { + neirongfabuOutput.IsFabuName = "鍚�"; + } + + if (neirongfabuOutput.IsShouyexianshi.HasValue && neirongfabuOutput.IsShouyexianshi.Value) + { + neirongfabuOutput.IsShouyexianshiName = "鏄�"; + } + else + { + neirongfabuOutput.IsShouyexianshiName = "鍚�"; + } + } + + return pagedList; + } + + /// <summary> + /// 鑾峰彇鍐呭鍙戝竷璇︽儏 鈩癸笍 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("鑾峰彇鍐呭鍙戝竷璇︽儏")] + [ApiDescriptionSettings(Name = "Detail"), HttpGet] + public async Task<NeirongfabuOutput> Detail([FromQuery] QueryByIdTenderOrderInput input) + { + var Leirongneixing = await GetDataListByCode("Leirongneixing"); + + var neirongfabuOutput = await _neirongfabu.AsQueryable().Where(x => x.Id == input.Id).Select<NeirongfabuOutput>().FirstAsync(); + if (neirongfabuOutput != null) + { + + if (neirongfabuOutput.Leirongneixing.HasValue) + { + neirongfabuOutput.LeirongneixingName = Leirongneixing.Where(x => x.Value == neirongfabuOutput.Leirongneixing.Value.ToString()).Select(x => x.Label).FirstOrDefault() ?? ""; + } + if (neirongfabuOutput.IsFabu.HasValue && neirongfabuOutput.IsFabu.Value) + { + neirongfabuOutput.IsFabuName = "鏄�"; + } + else + { + neirongfabuOutput.IsFabuName = "鍚�"; + } + + if (neirongfabuOutput.IsShouyexianshi.HasValue && neirongfabuOutput.IsShouyexianshi.Value) + { + neirongfabuOutput.IsShouyexianshiName = "鏄�"; + } + else + { + neirongfabuOutput.IsShouyexianshiName = "鍚�"; + } + } + + + + return neirongfabuOutput; + } + + /// <summary> + /// 鏂板鍐呭鍙戝竷 鉃� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("鏂板鍐呭鍙戝竷")] + [ApiDescriptionSettings(Name = "Add"), HttpPost] + public async Task<bool> Add(NeirongfabuInput input) + { + var entity = input.Adapt<Neirongfabu>(); + entity.Id = Guid.NewGuid(); + long userId = 0; + long? usertrueId = null; + if (long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId)) + { + usertrueId = userId; + } + var RealName = App.User?.FindFirstValue(ClaimConst.RealName); + entity.CreateTime = DateTime.Now; + entity.UpdateTime = DateTime.Now; + entity.CreateUserId = usertrueId; + entity.CreateUserName = RealName; + entity.UpdateUserId = usertrueId; + entity.UpdateUserName = RealName; + + return await _neirongfabu.InsertAsync(entity); + } + + /// <summary> + /// 淇敼鍐呭鍙戝竷 鉁忥笍 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("淇敼鍐呭鍙戝竷")] + [ApiDescriptionSettings(Name = "Update"), HttpPost] + public async Task Update(NeirongfabuInput input) + { + var entity = input.Adapt<Neirongfabu>(); + long userId = 0; + long? usertrueId = null; + if (long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId)) + { + usertrueId = userId; + } + var RealName = App.User?.FindFirstValue(ClaimConst.RealName); + entity.UpdateTime = DateTime.Now; + entity.UpdateUserId = usertrueId; + entity.UpdateUserName = RealName; + await _neirongfabu.UpdateAsync(entity); + } + + /// <summary> + /// 鍒犻櫎鍐呭鍙戝竷 鉂� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("鍒犻櫎鍐呭鍙戝竷")] + [ApiDescriptionSettings(Name = "Delete"), HttpPost] + public async Task Delete(DeleteTenderOrderInput input) + { + //var entity = await _TenderOrderRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002); + var entity = await _sqlSugarClient.Queryable<Neirongfabu>().Where(x => x.Id == input.Id).FirstAsync() ?? throw Oops.Oh(ErrorCodeEnum.D1002); + //await _TenderOrderRep.FakeDeleteAsync(entity); //鍋囧垹闄� + await _neirongfabu.DeleteAsync(entity); //鐪熷垹闄� + } + + /// <summary> + /// 鎵归噺鍒犻櫎鍐呭鍙戝竷 鉂� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("鎵归噺鍒犻櫎鍐呭鍙戝竷")] + [ApiDescriptionSettings(Name = "BatchDelete"), HttpPost] + public async Task<bool> BatchDelete([Required(ErrorMessage = "涓婚敭鍒楄〃涓嶈兘涓虹┖")] List<DeleteTenderOrderInput> input) + { + var exp = Expressionable.Create<Neirongfabu>(); + foreach (var row in input) exp = exp.Or(it => it.Id == row.Id); + var list = await _neirongfabu.AsQueryable().Where(exp.ToExpression()).ToListAsync(); + + // return await _TenderOrderRep.FakeDeleteAsync(list); //鍋囧垹闄� + return await _neirongfabu.DeleteAsync(list); //鐪熷垹闄� + } + + + +} diff --git a/Admin.NET/FZFCGDD.ORDER.Application/Service/ShouyeGonggao/ShouyeGonggaoService.cs b/Admin.NET/FZFCGDD.ORDER.Application/Service/ShouyeGonggao/ShouyeGonggaoService.cs new file mode 100644 index 0000000..1bbb136 --- /dev/null +++ b/Admin.NET/FZFCGDD.ORDER.Application/Service/ShouyeGonggao/ShouyeGonggaoService.cs @@ -0,0 +1,490 @@ +锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆� +// +// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆� +// +// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛� + +using Admin.NET.Core.Service; +using Microsoft.AspNetCore.Http; + +using Furion.DatabaseAccessor; +using Furion.FriendlyException; +using Mapster; +using SqlSugar; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations; +using Microsoft.AspNetCore.Mvc; +using Admin.NET.Application; +using Admin.NET.Core; +using FZCZTB.NET.MD; +using Furion.DynamicApiController; +using Furion.DependencyInjection; +using System.Collections.Generic; +using System.Linq; +using NewLife.Xml; +using AngleSharp.Dom; +using DocumentFormat.OpenXml.Office2010.ExcelAc; +using Furion; +using System.Security.Claims; +using Microsoft.AspNetCore.Authorization; +using RazorEngine.Compilation.ImpromptuInterface; +using MimeKit; +using FZFCGDD.ORDER.Application.Service.Neirongfabu.Dto; +namespace FZCZTB.TSCL.Application; + +/// <summary> +/// 棣栭〉鎺ュ彛 馃З +/// </summary> +[ApiDescriptionSettings(ApplicationConst.GroupNameDD, Order = 100)] +public class ShouyeGonggaoService : IDynamicApiController, ITransient +{ + private readonly SqlSugarRepository<TenderOrder> _TenderOrderRep; + private readonly ISqlSugarClient _sqlSugarClient; + private readonly SqlSugarRepository<Collection> _CollectionRep; + private readonly SqlSugarRepository<SysDictData> _sysDictDataRep; + private readonly SqlSugarRepository<ChangeOrder> _ChangeOrderRep; + private readonly SqlSugarRepository<Neirongfabu> _neirongfabuRep; + + public ShouyeGonggaoService(SqlSugarRepository<TenderOrder> TenderOrderRep, ISqlSugarClient sqlSugarClient, + SqlSugarRepository<Collection> collectionRep, SqlSugarRepository<SysDictData> sysDictDataRep + , SqlSugarRepository<ChangeOrder> changeOrderRep + , SqlSugarRepository<Neirongfabu> neirongfabuRep) + { + _TenderOrderRep = TenderOrderRep; + _sqlSugarClient = sqlSugarClient; + _CollectionRep = collectionRep; + _sysDictDataRep = sysDictDataRep; + _ChangeOrderRep = changeOrderRep; + _neirongfabuRep = neirongfabuRep; + } + + + /// <summary> + /// 棣栭〉鏌ヨ闈炴斂搴滆鍗曞鐞� 馃敄 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("棣栭〉鏌ヨ闈炴斂搴滆鍗曞鐞�")] + [AllowAnonymous] + [ApiDescriptionSettings(Name = "ShouyeOrder"), HttpPost] + public async Task<List<TenderOrderOutput>> ShouyeOrder()//SHouyeTenderOrderInput input + { + + var query = _TenderOrderRep.AsQueryable().Where(x => (x.OrderStatus == 2 || x.OrderStatus == 3)) + // .WhereIF(!string.IsNullOrWhiteSpace(input.Hangyepinmu), u => u.Hangyepinmu == input.Hangyepinmu.Trim()) + .OrderByDescending(x => x.FabuDate) + .Take(7) + .Select<TenderOrderOutput>(); + + return await query.ToListAsync(); + } + + + + + /// <summary> + /// 棣栭〉鍙樻洿鍏憡 馃敄 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("棣栭〉鍙樻洿鍏憡")] + [AllowAnonymous] + [ApiDescriptionSettings(Name = "ShouyeChangeOrder"), HttpPost] + public async Task<List<ChangeTenderOrderOut>> ShouyeChangeOrder()//SHouyeTenderOrderInput input + { + + var query = _ChangeOrderRep.AsQueryable() + .OrderByDescending(x => x.CreateTime) + .Select(x => new ChangeTenderOrderOut { Id = x.Id, TenderId = x.TenderId, ProjectName = x.ProjectName, ToubiaoStartDate = x.ToubiaoStartDate.Value, ToubiaoEndDate = x.ToubiaoEndDate.Value, KaibiaoDate = x.KaibiaoDate.Value, Biangengwenjian = x.Biangengwenjian, Kaibiaodidian = x.Kaibiaodidian, CreateTime = x.CreateTime }) + + .Take(7); + + return await query.ToListAsync(); + } + + + + + /// <summary> + /// 棣栭〉涓爣鍏憡 馃敄 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("棣栭〉涓爣鍏憡")] + [AllowAnonymous] + [ApiDescriptionSettings(Name = "ShouyeZhongbiaoOrder"), HttpPost] + public async Task<List<TenderOrderOutput>> ShouyeZhongbiaoOrder()//SHouyeTenderOrderInput input + { + + var query = _TenderOrderRep.AsQueryable().Where(x => x.OrderStatus == 3 ) + // .WhereIF(!string.IsNullOrWhiteSpace(input.Hangyepinmu), u => u.Hangyepinmu == input.Hangyepinmu.Trim()) + .OrderByDescending(x => x.ZhongbiaoDate) + .Take(7) + .Select<TenderOrderOutput>(); + + return await query.ToListAsync(); + } + + + + /// <summary> + /// 棣栭〉鍏憡淇℃伅-鎷涢噰鍏憡 馃敄 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("棣栭〉鍏憡淇℃伅-鎷涢噰鍏憡")] + [AllowAnonymous] + [ApiDescriptionSettings(Name = "PageGonggao"), HttpPost] + public async Task<SqlSugarPagedList<TenderOrderOutput>> PageGonggao(PageShouyeTendOrderInput input) + { + long userId = 0; + long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId); + + var query = _sqlSugarClient.Queryable< TenderOrder>() + //.Where((a, b) => a.CreateUserId == userId) + .Where(x => (x.OrderStatus == 2 || x.OrderStatus == 3)) + .WhereIF(!string.IsNullOrWhiteSpace(input.ProjectName), b=> b.ProjectName.Contains(input.ProjectName.Trim())) + .WhereIF(input.CreateDateRange != null && input.CreateDateRange.Length == 2, u => u.FabuDate >= input.CreateDateRange[0] && u.FabuDate <= input.CreateDateRange[1]) + + + + .Select(b => new TenderOrderOutput + { + Id = b.Id, + ProjectCode = b.ProjectCode, + ProjectName = b.ProjectName, + ToubiaoEndDate = b.ToubiaoEndDate.HasValue ? b.ToubiaoEndDate.Value : DateTime.Now, + KaibiaoDate = b.KaibiaoDate.HasValue ? b.KaibiaoDate.Value : DateTime.Now, + Xingzhengquyu = b.Xingzhengquyu, + XingzhengquyuName = b.XingzhengquyuName, + Dailijigoumingcheng = b.Dailijigoumingcheng, + ToubiaoStartDate = b.ToubiaoStartDate.HasValue ? b.ToubiaoStartDate.Value : DateTime.Now, + FabuDate = b.FabuDate.HasValue ? b.FabuDate.Value : DateTime.Now, + Caigoufangshi = b.Caigoufangshi, + }); + + var pagedList = await query.OrderBuilder(input, "", "KaibiaoDate", true).ToPagedListAsync(input.Page, input.PageSize); + + var sysDictDatas = await GetDataListByCode("Caigoufangshi"); + + foreach (var tenderOrderOutput in pagedList.Items) + { + var sysDictData = sysDictDatas.Where(x => x.Value == tenderOrderOutput.Caigoufangshi).FirstOrDefault(); + if (sysDictData != null) + { + tenderOrderOutput.CaigoufangshiName = sysDictData.Label; + } + } + return pagedList; + } + + + + /// <summary> + /// 棣栭〉鍏憡淇℃伅-鏇存鍏憡 馃敄 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("棣栭〉鍏憡淇℃伅-鏇存鍏憡")] + [AllowAnonymous] + [ApiDescriptionSettings(Name = "PageGengzgeng"), HttpPost] + public async Task<SqlSugarPagedList<TenderOrderOutput>> PageGengzgeng(PageShouyeTendOrderInput input) + { + long userId = 0; + long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId); + + var query = _sqlSugarClient.Queryable<ChangeOrder, TenderOrder>((a, b) => a.TenderId == b.Id) + //.Where((a, b) => a.CreateUserId == userId) + + .WhereIF(!string.IsNullOrWhiteSpace(input.ProjectName), (a, b) => a.ProjectName.Contains(input.ProjectName.Trim())) + .WhereIF(input.CreateDateRange != null && input.CreateDateRange.Length == 2, (a, b) => a.CreateTime >= input.CreateDateRange[0] && a.CreateTime <= input.CreateDateRange[1]) + + + .Select((a, b) => new TenderOrderOutput + { + Id = b.Id, + ProjectCode = b.ProjectCode, + ProjectName = a.ProjectName, + ToubiaoEndDate = b.ToubiaoEndDate.HasValue ? b.ToubiaoEndDate.Value : DateTime.Now, + KaibiaoDate = b.KaibiaoDate.HasValue ? b.KaibiaoDate.Value : DateTime.Now, + Xingzhengquyu = b.Xingzhengquyu, + XingzhengquyuName = b.XingzhengquyuName, + Dailijigoumingcheng = b.Dailijigoumingcheng, + ToubiaoStartDate = b.ToubiaoStartDate.HasValue ? b.ToubiaoStartDate.Value : DateTime.Now, + CreateTime = a.CreateTime, + Caigoufangshi = b.Caigoufangshi, + }); + + var pagedList = await query.OrderBuilder(input, "", "a.CreateTime", true).ToPagedListAsync(input.Page, input.PageSize); + + var sysDictDatas = await GetDataListByCode("Caigoufangshi"); + + foreach (var tenderOrderOutput in pagedList.Items) + { + var sysDictData = sysDictDatas.Where(x => x.Value == tenderOrderOutput.Caigoufangshi).FirstOrDefault(); + if (sysDictData != null) + { + tenderOrderOutput.CaigoufangshiName = sysDictData.Label; + } + } + return pagedList; + } + + + + + + /// <summary> + /// 鑾峰彇瀛楀吀鍊奸泦鍚� 馃敄 + /// </summary> + /// <param name="typeId"></param> + /// <param name="code"></param> + /// <returns></returns> + [NonAction] + public async Task<List<SysDictData>> GetDataListByCode(string code) + { + if (string.IsNullOrWhiteSpace(code)) + throw Oops.Oh(ErrorCodeEnum.D3011); + + var dictType = await _sysDictDataRep.Change<SysDictType>().AsQueryable() + .Where(u => u.Status == StatusEnum.Enable) + .WhereIF(!string.IsNullOrWhiteSpace(code), u => u.Code == code) + .FirstAsync(); + if (dictType == null) return null; + + + + var dictDataList = await _sysDictDataRep.AsQueryable() + .Where(u => u.DictTypeId == dictType.Id) + .Where(u => u.Status == StatusEnum.Enable) + .OrderBy(u => new { u.OrderNo, u.Value, u.Code }) + .ToListAsync(); + + + return dictDataList; + } + + + + /// <summary> + /// 棣栭〉鍏憡淇℃伅-涓爣鍏憡 馃敄 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("棣栭〉鍏憡淇℃伅-涓爣鍏憡")] + [AllowAnonymous] + [ApiDescriptionSettings(Name = "PageZhongbiaoGonggao"), HttpPost] + public async Task<SqlSugarPagedList<TenderOrderOutput>> PageZhongbiaoGonggao(PageShouyeTendOrderInput input) + { + long userId = 0; + long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId); + + var query = _sqlSugarClient.Queryable<TenderOrder>() + //.Where((a, b) => a.CreateUserId == userId) + .Where(x => x.OrderStatus == 3) + .WhereIF(!string.IsNullOrWhiteSpace(input.ProjectName), b => b.ZhongbiaoTittle.Contains(input.ProjectName.Trim())) + .WhereIF(input.CreateDateRange != null && input.CreateDateRange.Length == 2, u => u.ZhongbiaoDate >= input.CreateDateRange[0] && u.ZhongbiaoDate <= input.CreateDateRange[1]) + + + + .Select(b => new TenderOrderOutput + { + Id = b.Id, + ProjectCode = b.ProjectCode, + ProjectName = b.ZhongbiaoTittle, + ToubiaoEndDate = b.ToubiaoEndDate.HasValue ? b.ToubiaoEndDate.Value : DateTime.Now, + KaibiaoDate = b.KaibiaoDate.HasValue ? b.KaibiaoDate.Value : DateTime.Now, + Xingzhengquyu = b.Xingzhengquyu, + XingzhengquyuName = b.XingzhengquyuName, + Dailijigoumingcheng = b.Dailijigoumingcheng, + ToubiaoStartDate = b.ToubiaoStartDate.HasValue ? b.ToubiaoStartDate.Value : DateTime.Now, + FabuDate = b.FabuDate.HasValue ? b.FabuDate.Value : DateTime.Now, + Caigoufangshi = b.Caigoufangshi, + ZhongbiaoDate = b.ZhongbiaoDate, + ZhongbiaoTittle = b.ZhongbiaoTittle + }); + + var pagedList = await query.OrderBuilder(input, "", "ZhongbiaoDate", true).ToPagedListAsync(input.Page, input.PageSize); + + var sysDictDatas = await GetDataListByCode("Caigoufangshi"); + + foreach (var tenderOrderOutput in pagedList.Items) + { + var sysDictData = sysDictDatas.Where(x => x.Value == tenderOrderOutput.Caigoufangshi).FirstOrDefault(); + if (sysDictData != null) + { + tenderOrderOutput.CaigoufangshiName = sysDictData.Label; + } + } + return pagedList; + } + + + + /// <summary> + /// 棣栭〉鍐呭鍙戝竷 馃敄 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("棣栭〉鍐呭鍙戝竷")] + [AllowAnonymous] + [ApiDescriptionSettings(Name = "ShouyeNeirongfabu"), HttpPost] + public async Task<List<NeirongfabuOutput>> ShouyeNeirongfabu(SHouyeNeirongfabuInput input) + { + + var query = _neirongfabuRep.AsQueryable() + .Where(x=>x.IsFabu == true) + .WhereIF(input.Leirongneixing.HasValue, u => u.Leirongneixing == input.Leirongneixing.Value) + .WhereIF(input.IsShouyexianshi.HasValue, u => u.IsShouyexianshi == input.IsShouyexianshi.Value) + // .OrderBy(x => x.Sort) + .OrderByDescending(x=>x.FabuDate) + .Take(7) + .Select(x => new NeirongfabuOutput + { + Id = x.Id, + Leirongneixing = x.Leirongneixing, + IsFabu = x.IsFabu, + IsShouyexianshi = x.IsShouyexianshi, + NeirongTittle = x.NeirongTittle, + Fengmiantupian = x.Fengmiantupian, + Sort = x.Sort, + FabuDate = x.FabuDate, + NeirongZhaiyao = x.NeirongZhaiyao, + // NeirongMiaoshu = x.NeirongMiaoshu, + CreateTime = x.CreateTime, + UpdateTime = x.UpdateTime, + CreateUserId = x.CreateUserId, + CreateUserName = x.CreateUserName, + UpdateUserId = x.UpdateUserId, + UpdateUserName = x.UpdateUserName, + }); + + return await query.ToListAsync(); + } + + + + + /// <summary> + /// 棣栭〉鍜ㄨ涓績-鍐呭鍙戝竷 馃敄 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("棣栭〉鍜ㄨ涓績-鍐呭鍙戝竷")] + [AllowAnonymous] + [ApiDescriptionSettings(Name = "PageNeirongfabu"), HttpPost] + public async Task<SqlSugarPagedList<NeirongfabuOutput>> PageNeirongfabu(PageShouyeNeirongfabuInput input) + { + + + var query = _neirongfabuRep.AsQueryable() + .Where(x => x.IsFabu == true) + .WhereIF(input.Leirongneixing.HasValue, u => u.Leirongneixing == input.Leirongneixing.Value) + .WhereIF(input.IsShouyexianshi.HasValue, u => u.IsShouyexianshi == input.IsShouyexianshi.Value) + .WhereIF(!string.IsNullOrWhiteSpace(input.NeirongTittle), b => b.NeirongTittle.Contains(input.NeirongTittle.Trim())) + .WhereIF(input.CreateDateRange != null && input.CreateDateRange.Length == 2, u => u.FabuDate >= input.CreateDateRange[0] && u.FabuDate <= input.CreateDateRange[1]) + + + .Select(x => new NeirongfabuOutput + { + Id = x.Id, + Leirongneixing = x.Leirongneixing, + IsFabu = x.IsFabu, + IsShouyexianshi = x.IsShouyexianshi, + NeirongTittle = x.NeirongTittle, + Fengmiantupian = x.Fengmiantupian, + Sort = x.Sort, + FabuDate = x.FabuDate, + NeirongZhaiyao = x.NeirongZhaiyao, + // NeirongMiaoshu = x.NeirongMiaoshu, + CreateTime = x.CreateTime, + UpdateTime = x.UpdateTime, + CreateUserId = x.CreateUserId, + CreateUserName = x.CreateUserName, + UpdateUserId = x.UpdateUserId, + UpdateUserName = x.UpdateUserName, + }); + + var pagedList = await query.OrderBuilder(input, "", "FabuDate", true).ToPagedListAsync(input.Page, input.PageSize); + + var sysDictDatas = await GetDataListByCode("Leirongneixing"); + + foreach (var neirongfabuOutput in pagedList.Items) + { + var sysDictData = sysDictDatas.Where(x => x.Value == neirongfabuOutput.Leirongneixing.Value.ToString()).FirstOrDefault(); + if (sysDictData != null) + { + neirongfabuOutput.LeirongneixingName = sysDictData.Label; + } + + if (neirongfabuOutput.IsFabu.HasValue && neirongfabuOutput.IsFabu.Value) + { + neirongfabuOutput.IsFabuName = "鏄�"; + } + else + { + neirongfabuOutput.IsFabuName = "鍚�"; + } + + if (neirongfabuOutput.IsShouyexianshi.HasValue && neirongfabuOutput.IsShouyexianshi.Value) + { + neirongfabuOutput.IsShouyexianshiName = "鏄�"; + } + else + { + neirongfabuOutput.IsShouyexianshiName = "鍚�"; + } + } + return pagedList; + } + + + + + + + + /// <summary> + /// 鑾峰彇鍐呭鍙戝竷璇︽儏 鈩癸笍 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("鑾峰彇鍐呭鍙戝竷璇︽儏")] + [AllowAnonymous] + [ApiDescriptionSettings(Name = "NeirongfabuDetail"), HttpGet] + public async Task<NeirongfabuOutput> NeirongfabuDetail([FromQuery] QueryByIdTenderOrderInput input) + { + var Leirongneixing = await GetDataListByCode("Leirongneixing"); + + var neirongfabuOutput = await _neirongfabuRep.AsQueryable().Where(x => x.Id == input.Id).Select<NeirongfabuOutput>().FirstAsync(); + if (neirongfabuOutput != null) + { + + if (neirongfabuOutput.Leirongneixing.HasValue) + { + neirongfabuOutput.LeirongneixingName = Leirongneixing.Where(x => x.Value == neirongfabuOutput.Leirongneixing.Value.ToString()).Select(x => x.Label).FirstOrDefault() ?? ""; + } + if (neirongfabuOutput.IsFabu.HasValue && neirongfabuOutput.IsFabu.Value) + { + neirongfabuOutput.IsFabuName = "鏄�"; + } + else + { + neirongfabuOutput.IsFabuName = "鍚�"; + } + + if (neirongfabuOutput.IsShouyexianshi.HasValue && neirongfabuOutput.IsShouyexianshi.Value) + { + neirongfabuOutput.IsShouyexianshiName = "鏄�"; + } + else + { + neirongfabuOutput.IsShouyexianshiName = "鍚�"; + } + } + + + + return neirongfabuOutput; + } +} diff --git a/Admin.NET/FZFCGDD.ORDER.Application/Service/SuplierTendOrder/SuplierTendOrderService.cs b/Admin.NET/FZFCGDD.ORDER.Application/Service/SuplierTendOrder/SuplierTendOrderService.cs new file mode 100644 index 0000000..b4be808 --- /dev/null +++ b/Admin.NET/FZFCGDD.ORDER.Application/Service/SuplierTendOrder/SuplierTendOrderService.cs @@ -0,0 +1,392 @@ +锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆� +// +// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆� +// +// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛� + +using Admin.NET.Core.Service; +using Microsoft.AspNetCore.Http; + +using Furion.DatabaseAccessor; +using Furion.FriendlyException; +using Mapster; +using SqlSugar; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations; +using Microsoft.AspNetCore.Mvc; +using Admin.NET.Application; +using Admin.NET.Core; +using FZCZTB.NET.MD; +using Furion.DynamicApiController; +using Furion.DependencyInjection; +using System.Collections.Generic; +using System.Linq; +using NewLife.Xml; +using AngleSharp.Dom; +using DocumentFormat.OpenXml.Office2010.ExcelAc; +using Furion; +using System.Security.Claims; +using Microsoft.AspNetCore.Authorization; +using RazorEngine.Compilation.ImpromptuInterface; +using MimeKit; +using static SKIT.FlurlHttpClient.Wechat.Api.Events.TransferCustomerServiceReply.Types; +using Aop.Api.Domain; +namespace FZCZTB.TSCL.Application; + +/// <summary> +/// 渚涘簲鍟嗘帴鍙� 馃З +/// </summary> +[ApiDescriptionSettings(ApplicationConst.GroupNameDD, Order = 100)] +public class SuplierTendOrderService : IDynamicApiController, ITransient +{ + private readonly SqlSugarRepository<TenderOrder> _TenderOrderRep; + private readonly ISqlSugarClient _sqlSugarClient; + private readonly SqlSugarRepository<Collection> _CollectionRep; + private readonly SqlSugarRepository<SysDictData> _sysDictDataRep; + private readonly SqlSugarRepository<TenderOrderBidding> _TenderOrderBiddingRep; + + + public SuplierTendOrderService(SqlSugarRepository<TenderOrder> TenderOrderRep, ISqlSugarClient sqlSugarClient, + SqlSugarRepository<Collection> collectionRep + , SqlSugarRepository<SysDictData> sysDictDataRep + , SqlSugarRepository<TenderOrderBidding> TenderOrderBiddingRep) + { + _TenderOrderRep = TenderOrderRep; + _sqlSugarClient = sqlSugarClient; + _CollectionRep = collectionRep; + _sysDictDataRep = sysDictDataRep; + _TenderOrderBiddingRep = TenderOrderBiddingRep; + } + + + /// <summary> + /// 渚涘簲鍟嗘敹钘忔垨鑰呭彇娑堟敹钘� 鉃� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("渚涘簲鍟嗘敹钘忔垨鑰呭彇娑堟敹钘�")] + [ApiDescriptionSettings(Name = "AddCollection"), HttpPost] + public async Task<bool> AddCollection(SuplierTendOrderInput input) + { + var entity = new Collection(); ; + + long userId = 0; + long? usertrueId = null; + if (long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId)) + { + usertrueId = userId; + } + var RealName = App.User?.FindFirstValue(ClaimConst.RealName); + + var collection = await _CollectionRep.AsQueryable().Where(x =>x.TenderId == input.TenderOrderId).Where(x => x.CreateUserId == userId).FirstAsync(); + if (input.isColection && collection != null) + { + return true; + } + + if (!input.isColection && collection != null) + { + return await _CollectionRep.DeleteAsync(collection); + } + + + if (!input.isColection && collection == null) + { + throw Oops.Oh("涓嶅瓨鍦ㄧ殑鏀惰棌锛�"); + } + + if (input.isColection && collection == null) + { + entity.Id = Guid.NewGuid(); + entity.CreateTime = DateTime.Now; + entity.UpdateTime = DateTime.Now; + entity.CreateUserId = usertrueId; + entity.CreateUserName = RealName; + entity.UpdateUserId = usertrueId; + entity.UpdateUserName = RealName; + entity.TenderId = input.TenderOrderId; + } + return await _CollectionRep.InsertAsync(entity); + } + + + + + /// <summary> + /// 渚涘簲鍟嗘煡璇㈡敹钘� 馃敄 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("渚涘簲鍟嗘煡璇㈡敹钘�")] + [ApiDescriptionSettings(Name = "PageCollection"), HttpPost] + public async Task<SqlSugarPagedList<TenderOrderOutput>> PageCollection(PageSuplierTendOrderInput input) + { + long userId = 0; + long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId); + + var query = _sqlSugarClient.Queryable<Collection,TenderOrder>((a, b) => a.TenderId == b.Id) + .Where((a, b) => a.CreateUserId == userId) + + .WhereIF(!string.IsNullOrWhiteSpace(input.ProjectName), (a, b) => b.ProjectName.Contains(input.ProjectName.Trim())) + .WhereIF(!string.IsNullOrWhiteSpace(input.Dailijigoumingcheng), (a, b) => b.Dailijigoumingcheng.Contains(input.Dailijigoumingcheng.Trim())) + + + .Select((a, b) => new TenderOrderOutput + { + Id = b.Id, + ProjectCode = b.ProjectCode, + ProjectName = b.ProjectName, + ToubiaoEndDate = b.ToubiaoEndDate.HasValue? b.ToubiaoEndDate.Value:DateTime.Now, + KaibiaoDate = b.KaibiaoDate.HasValue ? b.KaibiaoDate.Value : DateTime.Now, + Xingzhengquyu = b.Xingzhengquyu, + XingzhengquyuName = b.XingzhengquyuName, + Dailijigoumingcheng = b.Dailijigoumingcheng, + ToubiaoStartDate = b.ToubiaoStartDate.HasValue ? b.ToubiaoStartDate.Value : DateTime.Now, + FabuDate = b.FabuDate.HasValue ? b.FabuDate.Value : DateTime.Now, + }); + return await query.OrderBuilder(input, "", "KaibiaoDate", true).ToPagedListAsync(input.Page, input.PageSize); + } + + + + + /// <summary> + /// 鑾峰彇鏀粯鏂瑰紡闆嗗悎 馃敄 + /// </summary> + /// <returns></returns> + [DisplayName("鑾峰彇鏀粯鏂瑰紡闆嗗悎")] + [ApiDescriptionSettings(Name = "GetFukuanfangshiList"), HttpGet] + [AllowAnonymous] + public async Task<List<SysDictData>> GetFukuanfangshiList() + { + return await GetDataListByCode("Fukuanfangshi"); + } + + + /// <summary> + /// 鑾峰彇瀛楀吀鍊奸泦鍚� 馃敄 + /// </summary> + /// <param name="typeId"></param> + /// <param name="code"></param> + /// <returns></returns> + [NonAction] + public async Task<List<SysDictData>> GetDataListByCode(string code) + { + if (string.IsNullOrWhiteSpace(code)) + throw Oops.Oh(ErrorCodeEnum.D3011); + + var dictType = await _sysDictDataRep.Change<SysDictType>().AsQueryable() + .Where(u => u.Status == StatusEnum.Enable) + .WhereIF(!string.IsNullOrWhiteSpace(code), u => u.Code == code) + .FirstAsync(); + if (dictType == null) return null; + + + + var dictDataList = await _sysDictDataRep.AsQueryable() + .Where(u => u.DictTypeId == dictType.Id) + .Where(u => u.Status == StatusEnum.Enable) + .OrderBy(u => new { u.OrderNo, u.Value, u.Code }) + .ToListAsync(); + return dictDataList; + } + + + + /// <summary> + /// 渚涘簲鍟嗘敮浠樻姤鍚嶈垂 鉃� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("渚涘簲鍟嗘敮浠樻姤鍚嶈垂")] + [ApiDescriptionSettings(Name = "AddBaomingfei"), HttpPost] + public async Task<bool> AddBaomingfei(SuplierBaomingfeiInput input) + { + + + long userId = 0; + long? usertrueId = null; + if (long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId)) + { + usertrueId = userId; + } + var RealName = App.User?.FindFirstValue(ClaimConst.RealName); + + + var tenderOrder = await _TenderOrderRep.AsQueryable().Where(x => x.Id == input.TenderOrderId).FirstAsync(); + if (tenderOrder == null) + { + throw Oops.Oh("涓嶅瓨鍦ㄧ殑鎷涙爣锛�"); + } + + + + if (tenderOrder.Baomingfei.HasValue && tenderOrder.Baomingfei.Value > 0) + { + var tenderOrderBidding = await _TenderOrderBiddingRep.AsQueryable().Where(x => x.TenderId == input.TenderOrderId).Where(x => x.CreateUserId == userId).FirstAsync(); + if(tenderOrderBidding!=null && (tenderOrderBidding.IsTransfer.HasValue && tenderOrderBidding.IsTransfer.Value)) + { + throw Oops.Oh("宸茬粡浠樻锛�"); + } + + + + if (tenderOrderBidding == null) + { + tenderOrderBidding = new TenderOrderBidding(); + tenderOrderBidding.Id = Guid.NewGuid(); + tenderOrderBidding.TenderId = input.TenderOrderId; + //tenderOrderBidding.IsTransfer = true; + tenderOrderBidding.Zhifujine = tenderOrder.Baomingfei.Value; + tenderOrderBidding.TransferTime = DateTime.Now; + tenderOrderBidding.TransferNo = "BMF"+tenderOrderBidding.Id.ToString("N"); + + + tenderOrderBidding.CreateTime = DateTime.Now; + tenderOrderBidding.CreateUserId = usertrueId; + tenderOrderBidding.CreateUserName = RealName; + tenderOrderBidding.UpdateTime = DateTime.Now; + tenderOrderBidding.UpdateUserId = usertrueId; + tenderOrderBidding.UpdateUserName = RealName; + return await _TenderOrderBiddingRep.InsertAsync(tenderOrderBidding); + } + else + { + tenderOrderBidding.Zhifujine = tenderOrder.Baomingfei.Value; + tenderOrderBidding.TransferTime = DateTime.Now; + tenderOrderBidding.TransferNo = "BMF" + tenderOrderBidding.Id.ToString("N"); + tenderOrderBidding.UpdateTime = DateTime.Now; + tenderOrderBidding.UpdateUserId = usertrueId; + tenderOrderBidding.UpdateUserName = RealName; + return await _TenderOrderBiddingRep.UpdateAsync(tenderOrderBidding); + } + + + + } + else + { + throw Oops.Oh("鏃犻渶鏀粯鎶ュ悕璐癸紒"); + } + + } + + + + + /// <summary> + /// 渚涘簲鍟嗕笂浼犳嫑鏍囨枃浠� 鉃� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("渚涘簲鍟嗕笂浼犳嫑鏍囨枃浠�")] + [ApiDescriptionSettings(Name = "AddToubiao"), HttpPost] + public async Task<bool> AddToubiao(SuplierToubiaoInput input) + { + + + long userId = 0; + long? usertrueId = null; + if (long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId)) + { + usertrueId = userId; + } + var RealName = App.User?.FindFirstValue(ClaimConst.RealName); + + var tenderOrderBidding = await _TenderOrderBiddingRep.AsQueryable().Where(x => x.TenderId == input.TenderOrderId).Where(x => x.CreateUserId == userId).FirstAsync(); + + var tenderOrder = await _TenderOrderRep.AsQueryable().Where(x => x.Id == input.TenderOrderId).FirstAsync(); + if(tenderOrder == null) + { + throw Oops.Oh("涓嶅瓨鍦ㄧ殑鎷涙爣锛�"); + } + if(tenderOrder.Baomingfei.HasValue && tenderOrder.Baomingfei.Value > 0) + { + if (tenderOrderBidding == null || (!tenderOrderBidding.IsTransfer.HasValue || tenderOrderBidding.IsTransfer.Value == false)) + { + throw Oops.Oh("蹇呴』鍏堟敮浠樻墠鑳芥姇鏍囷紒"); + } + } + + if(tenderOrderBidding == null) + { + tenderOrderBidding = new TenderOrderBidding(); + tenderOrderBidding.Id = Guid.NewGuid(); + tenderOrderBidding.TenderId = input.TenderOrderId; + tenderOrderBidding.Touboaowenjian = input.Touboaowenjian; + tenderOrderBidding.IsTransfer = true; + tenderOrderBidding.Zhifujine = 0; + tenderOrderBidding.CreateTime = DateTime.Now; + tenderOrderBidding.CreateUserId = usertrueId; + tenderOrderBidding.CreateUserName = RealName; + tenderOrderBidding.UpdateTime = DateTime.Now; + tenderOrderBidding.UpdateUserId = usertrueId; + tenderOrderBidding.UpdateUserName = RealName; + return await _TenderOrderBiddingRep.InsertAsync(tenderOrderBidding); + } + + tenderOrderBidding.Touboaowenjian = input.Touboaowenjian; + tenderOrderBidding.UpdateTime = DateTime.Now; + tenderOrderBidding.UpdateUserId = usertrueId; + tenderOrderBidding.UpdateUserName = RealName; + return await _TenderOrderBiddingRep.UpdateAsync(tenderOrderBidding); + } + + + + /// <summary> + /// 渚涘簲鍟嗗弬涓庣殑椤圭洰鏌ヨ 馃敄 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("渚涘簲鍟嗗弬涓庣殑椤圭洰鏌ヨ")] + [ApiDescriptionSettings(Name = "PageSupplierOrderList"), HttpPost] + public async Task<SqlSugarPagedList<TenderOrderOutput>> PageSupplierOrderList(PageSupplierOrderInput input) + { + long userId = 0; + long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId); + + var query = _sqlSugarClient.Queryable<TenderOrderBidding, TenderOrder>((a, b) => a.TenderId == b.Id) + .Where((a, b) => a.CreateUserId == userId) + + .WhereIF(!string.IsNullOrWhiteSpace(input.ProjectName), (a, b) => b.ProjectName.Contains(input.ProjectName.Trim())) + .WhereIF(!string.IsNullOrWhiteSpace(input.Dailijigoumingcheng), (a, b) => b.Dailijigoumingcheng.Contains(input.Dailijigoumingcheng.Trim())) + .WhereIF(!string.IsNullOrWhiteSpace(input.Caigourenmingcheng), (a, b) => b.Caigourenmingcheng.Contains(input.Caigourenmingcheng.Trim())) + .WhereIF(input.ZhiyiTousu.HasValue && input.ZhiyiTousu.Value, (a, b) => (b.Zhiyi == true || b.Tousu == true) ) + .WhereIF(input.ZhiyiTousu.HasValue && input.ZhiyiTousu.Value == false, (a, b) => (b.Zhiyi == false || b.Zhiyi == null) && (b.Tousu == false || b.Tousu == null)) + .WhereIF(input.IsSelected.HasValue && input.IsSelected.Value, (a, b) => a.IsSelected == true ) + .WhereIF(input.IsSelected.HasValue && input.IsSelected.Value == false, (a, b) => (a.IsSelected == false || a.IsSelected == null) ) + + + .Select((a, b) => new TenderOrderOutput + { + Id = b.Id, + ToubiaoStartDate = b.ToubiaoStartDate.HasValue ? b.ToubiaoStartDate.Value : DateTime.Now, + Xingzhengquyu = b.Xingzhengquyu, + XingzhengquyuName = b.XingzhengquyuName, + ProjectCode = b.ProjectCode, + ProjectName = b.ProjectName, + Dailijigoumingcheng = b.Dailijigoumingcheng, + ToubiaoEndDate = b.ToubiaoEndDate.HasValue ? b.ToubiaoEndDate.Value : DateTime.Now, + KaibiaoDate = b.KaibiaoDate.HasValue ? b.KaibiaoDate.Value : DateTime.Now, + OrderStatus = b.OrderStatus, + IsSelected = a.IsSelected, + IsSelectedName = a.IsSelected.HasValue&& a.IsSelected.Value?"鏄�":"鍚�", + FabuDate = b.FabuDate.HasValue ? b.FabuDate.Value : DateTime.Now, + }); + + var pagedList = await query.OrderBuilder(input, "", "KaibiaoDate", true).ToPagedListAsync(input.Page, input.PageSize); + var sysDictDatas = await GetDataListByCode("OrderStatus"); + + foreach (var tenderOrderOutput in pagedList.Items) + { + var sysDictData = sysDictDatas.Where(x => x.Value == tenderOrderOutput.OrderStatus.Value.ToString()).FirstOrDefault(); + if (sysDictData != null) + { + tenderOrderOutput.OrderStatusName = sysDictData.Label; + } + } + return pagedList; + } + +} diff --git a/Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/Dto/TenderOrderDto.cs b/Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/Dto/TenderOrderDto.cs new file mode 100644 index 0000000..506eaeb --- /dev/null +++ b/Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/Dto/TenderOrderDto.cs @@ -0,0 +1,272 @@ +锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆� +// +// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆� +// +// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛� + +using SqlSugar; + +namespace FZCZTB.TSCL.Application; + +/// <summary> +/// 鏀垮簻閲囪喘鎶曡瘔鏁版嵁澶勭悊杈撳嚭鍙傛暟 +/// </summary> +public class TenderOrderDto +{ + /// <summary> + /// 鎶曡瘔ID锛屼富閿� + /// </summary> + public Guid Id { get; set; } + + /// <summary> + /// 椤圭洰鍚嶇О + /// </summary> + public string ProjectName { get; set; } + + /// <summary> + /// 椤圭洰缂栧彿 + /// </summary> + public string ProjectCode { get; set; } + + /// <summary> + /// 琛屼笟鍝佺洰 + /// </summary> + public string Hangyepinmu { get; set; } + + /// <summary> + /// 閲囪喘鏂瑰紡 + /// </summary> + public string Caigoufangshi { get; set; } + + /// <summary> + /// 閲囪喘閬囩畻 + /// </summary> + public decimal? Caigouyusuan { get; set; } + + /// <summary> + /// 瀹氭爣瑙勫垯 + /// </summary> + public string Dingbiaoguize { get; set; } + + /// <summary> + /// 鎶ュ悕璐� + /// </summary> + public decimal? Baomingfei { get; set; } + + /// <summary> + /// 鎶曟爣淇濊瘉閲� + /// </summary> + public decimal? Toubiaobaozhengjin { get; set; } + + + /// <summary> + /// 鑱斿悎浣撴姇鏍� + /// </summary> + public string Lianhetitoubiao { get; set; } + + /// <summary> + /// 寮�鏍囨柟寮� + /// </summary> + public string Kaibiaofangshi { get; set; } + + /// <summary> + /// 鏄惁鍒嗗寘 + /// </summary> + public string Shifoufenbao { get; set; } + + /// <summary> + /// 鏄惁鎺ㄩ�佸浼� + /// </summary> + public string Shifoutuisongxuanchuan { get; set; } + + /// <summary> + /// 閲囪喘浜哄悕绉� + /// </summary> + public string Caigourenmingcheng { get; set; } + + /// <summary> + /// 琛屾斂鍖哄煙 + /// </summary> + public string Xingzhengquyu { get; set; } + + /// <summary> + /// 琛屾斂鍖哄煙鍚嶇О + /// </summary> + public string XingzhengquyuName { get; set; } + + /// <summary> + /// 鏈烘瀯浠g爜 + /// </summary> + public string Jigoudaima { get; set; } + + /// <summary> + /// 浠g爜绫诲瀷 + /// </summary> + public string Daimaleixing { get; set; } + + /// <summary> + /// 鑱旂郴浜� + /// </summary> + public string Lianxiren { get; set; } + + /// <summary> + /// 鑱旂郴鐢佃瘽 + public string Lianxidianhua { get; set; } + + /// <summary> + /// 閫氫俊鍦板潃 + /// </summary> + public string Tongxindizhi { get; set; } + + /// <summary> + /// 鐢靛瓙閭欢 + /// </summary> + public string Dianziyoujian { get; set; } + + /// <summary> + /// 椤圭洰缁忓姙浜� + /// </summary> + public string Xiangmujingbanren { get; set; } + + /// <summary> + /// 鑱屽姟 + /// </summary> + public string Zhiwu { get; set; } + + /// <summary> + /// 缁忓姙浜虹數璇� + /// </summary> + public string Jingbanrendianhua { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鍚嶇О + /// </summary> + public string Dailijigoumingcheng { get; set; } + + + /// <summary> + /// 浠g悊鏈烘瀯鑱旂郴浜� + /// </summary> + public string DailiLianxiren { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鑱旂郴鐢佃瘽 + /// </summary> + public string DailiLianxidianhua { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鐢靛瓙閭欢 + /// </summary> + public string DailiDianziyoujian { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯閫氫俊鍦板潃 + /// </summary> + public string DailiTongxindizhi { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯椤圭洰缁忕悊 + /// </summary> + public string DailiXiangmujingli { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯椤圭洰缁忕悊鑱旂郴鐢佃瘽 + /// </summary> + public string DailijingliLianxidianhua { get; set; } + + + + /// <summary> + /// 璐ㄧ枒鏈夋棤 + /// </summary> + public bool? Zhiyi { get; set; } + + + /// <summary> + /// 鎶曡瘔鏈夋棤 + /// </summary> + public bool? Tousu { get; set; } + + + /// <summary> + /// 璁㈠崟鐘舵�� + /// </summary> + public int? OrderStatus { get; set; } + + + + /// <summary> + /// 鎶曟爣鎶ュ悕寮�濮嬫椂闂� + /// </summary> + public DateTime ToubiaoStartDate { get; set; } + + + /// <summary> + /// 鎶曟爣鎶ュ悕缁撴潫鏃堕棿 + /// </summary> + public DateTime ToubiaoEndDate { get; set; } + + /// <summary> + /// 寮�鏍囨椂闂� + /// </summary> + public DateTime KaibiaoDate { get; set; } + + + + /// <summary> + /// 寮�鏍囧湴鐐� + /// </summary> + public string Kaibiaodidian { get; set; } + + + /// <summary> + /// 涓爣渚涘簲鍟咺d + /// </summary> + public long? ZhongbiaoId { get; set; } + + /// <summary> + /// 涓爣渚涘簲鍟嗗鍚� + /// </summary> + public string ZhongbiaoName { get; set; } + + /// <summary> + /// 涓撳Id + /// </summary> + public string ZhuanjiaId { get; set; } + + /// <summary> + /// 涓撳濮撳悕 + /// </summary> + public string ZhuanjiaName { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + public DateTime? CreateTime { get; set; } + + /// <summary> + /// 鏇存柊鏃堕棿 + /// </summary> + public DateTime? UpdateTime { get; set; } + + /// <summary> + /// 鍒涘缓鑰匢d + /// </summary> + public long? CreateUserId { get; set; } + + /// <summary> + /// 鍒涘缓鑰呭鍚� + /// </summary> + public string? CreateUserName { get; set; } + + /// <summary> + /// 淇敼鑰匢d + /// </summary> + public long? UpdateUserId { get; set; } + + /// <summary> + /// 淇敼鑰呭鍚� + /// </summary> + public string? UpdateUserName { get; set; } + +} diff --git a/Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/Dto/TenderOrderInput.cs b/Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/Dto/TenderOrderInput.cs new file mode 100644 index 0000000..b2a896a --- /dev/null +++ b/Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/Dto/TenderOrderInput.cs @@ -0,0 +1,1155 @@ +锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆� +// +// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆� +// +// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛� + +using Admin.NET.Core; +using System.ComponentModel.DataAnnotations; +using Magicodes.ExporterAndImporter.Core; +using Magicodes.ExporterAndImporter.Excel; +using FZCZTB.NET.MD; +using SqlSugar; + +namespace FZCZTB.TSCL.Application; + +/// <summary> +/// 闈炴斂搴滆鍗曞熀纭�杈撳叆鍙傛暟 +/// </summary> +public class TenderOrderBaseInput +{ + /// <summary> + /// 涓婚敭Id + /// </summary> + public virtual Guid Id { get; set; } + + /// <summary> + /// 椤圭洰鍚嶇О + /// </summary> + [Required(ErrorMessage = "椤圭洰鍚嶇О涓嶈兘涓虹┖")] + public virtual string ProjectName { get; set; } + + /// <summary> + /// 椤圭洰缂栧彿 + /// </summary> + [Required(ErrorMessage = "椤圭洰缂栧彿涓嶈兘涓虹┖")] + public virtual string ProjectCode { get; set; } + + /// <summary> + /// 琛屼笟鍝佺洰 + /// </summary> + public virtual string Hangyepinmu { get; set; } + + /// <summary> + /// 閲囪喘鏂瑰紡 + /// </summary> + public virtual string Caigoufangshi { get; set; } + + /// <summary> + /// 閲囪喘閬囩畻 + /// </summary> + public virtual decimal? Caigouyusuan { get; set; } + + /// <summary> + /// 瀹氭爣瑙勫垯 + /// </summary> + public virtual string Dingbiaoguize { get; set; } + + /// <summary> + /// 鎶ュ悕璐� + /// </summary> + public virtual decimal? Baomingfei { get; set; } + + /// <summary> + /// 鎶曟爣淇濊瘉閲� + /// </summary> + public virtual decimal? Toubiaobaozhengjin { get; set; } + + + /// <summary> + /// 鑱斿悎浣撴姇鏍� + /// </summary> + public virtual string Lianhetitoubiao { get; set; } + + /// <summary> + /// 寮�鏍囨柟寮� + /// </summary> + public virtual string Kaibiaofangshi { get; set; } + + /// <summary> + /// 鏄惁鍒嗗寘 + /// </summary> + public virtual string Shifoufenbao { get; set; } + + /// <summary> + /// 鏄惁鎺ㄩ�佸浼� + /// </summary> + public virtual string Shifoutuisongxuanchuan { get; set; } + + /// <summary> + /// 閲囪喘浜哄悕绉� + /// </summary> + public virtual string Caigourenmingcheng { get; set; } + + /// <summary> + /// 琛屾斂鍖哄煙 + /// </summary> + public virtual string Xingzhengquyu { get; set; } + + /// <summary> + /// 琛屾斂鍖哄煙鍚嶇О + /// </summary> + public virtual string XingzhengquyuName { get; set; } + + /// <summary> + /// 鏈烘瀯浠g爜 + /// </summary> + public virtual string Jigoudaima { get; set; } + + /// <summary> + /// 浠g爜绫诲瀷 + /// </summary> + public virtual string Daimaleixing { get; set; } + + /// <summary> + /// 鑱旂郴浜� + /// </summary> + public virtual string Lianxiren { get; set; } + + /// <summary> + /// 鑱旂郴鐢佃瘽 + public virtual string Lianxidianhua { get; set; } + + /// <summary> + /// 閫氫俊鍦板潃 + /// </summary> + public virtual string Tongxindizhi { get; set; } + + /// <summary> + /// 鐢靛瓙閭欢 + /// </summary> + public virtual string Dianziyoujian { get; set; } + + /// <summary> + /// 椤圭洰缁忓姙浜� + /// </summary> + public virtual string Xiangmujingbanren { get; set; } + + /// <summary> + /// 鑱屽姟 + /// </summary> + public virtual string Zhiwu { get; set; } + + /// <summary> + /// 缁忓姙浜虹數璇� + /// </summary> + public virtual string Jingbanrendianhua { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鍚嶇О + /// </summary> + public virtual string Dailijigoumingcheng { get; set; } + + + /// <summary> + /// 浠g悊鏈烘瀯鑱旂郴浜� + /// </summary> + public virtual string DailiLianxiren { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鑱旂郴鐢佃瘽 + /// </summary> + public virtual string DailiLianxidianhua { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鐢靛瓙閭欢 + /// </summary> + public virtual string DailiDianziyoujian { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯閫氫俊鍦板潃 + /// </summary> + public virtual string DailiTongxindizhi { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯椤圭洰缁忕悊 + /// </summary> + public virtual string DailiXiangmujingli { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯椤圭洰缁忕悊鑱旂郴鐢佃瘽 + /// </summary> + public virtual string DailijingliLianxidianhua { get; set; } + + + +} + +/// <summary> +/// 闈炴斂搴滆鍗曞垎椤垫煡璇㈣緭鍏ュ弬鏁� +/// </summary> +public class PageTenderOrderInput : BasePageInput +{ + + /// <summary> + /// 鏂板鏃ユ湡鑼冨洿 + /// </summary> + public DateTime?[] CreateDateRange { get; set; } + + /// <summary> + /// 琛屾斂鍖哄煙 + /// </summary> + public string Xingzhengquyu { get; set; } + + /// <summary> + /// 琛屼笟鍝佺洰 + /// </summary> + public string Hangyepinmu { get; set; } + + /// <summary> + /// 璁㈠崟鐘舵�� + /// </summary> + public int? OrderStatus { get; set; } + + /// <summary> + /// 璐ㄧ枒鏈夋棤 + /// </summary> + public bool? Zhiyi { get; set; } + + + /// <summary> + /// 鎶曡瘔鏈夋棤 + /// </summary> + public bool? Tousu { get; set; } + + /// <summary> + /// 椤圭洰鍚嶇О + /// </summary> + public string ProjectName { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鍚嶇О + /// </summary> + public string Dailijigoumingcheng { get; set; } + + /// <summary> + /// 涓爣渚涘簲鍟嗗鍚� + /// </summary> + public string ZhongbiaoName { get; set; } + + /// <summary> + /// 涓撳濮撳悕 + /// </summary> + public string ZhuanjiaName { get; set; } + + + + +} + +/// <summary> +/// 闈炴斂搴滆鍗曞鍔犺緭鍏ュ弬鏁� +/// </summary> +public class AddTenderOrderInput +{ + /// <summary> + /// 椤圭洰缂栧彿 + /// </summary> + [Required(ErrorMessage = "椤圭洰缂栧彿涓嶈兘涓虹┖")] + [MaxLength(100, ErrorMessage = "椤圭洰缂栧彿瀛楃闀垮害涓嶈兘瓒呰繃50")] + public string ProjectCode { get; set; } + + /// <summary> + /// 椤圭洰鍚嶇О + /// </summary> + [Required(ErrorMessage = "椤圭洰鍚嶇О涓嶈兘涓虹┖")] + [MaxLength(200, ErrorMessage = "椤圭洰鍚嶇О瀛楃闀垮害涓嶈兘瓒呰繃200")] + public string ProjectName { get; set; } + + /// <summary> + /// 琛屼笟鍝佺洰 + /// </summary> + [MaxLength(100, ErrorMessage = "琛屼笟鍝佺洰瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Hangyepinmu { get; set; } + + /// <summary> + /// 閲囪喘鏂瑰紡 + /// </summary> + [MaxLength(100, ErrorMessage = "閲囪喘鏂瑰紡瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Caigoufangshi { get; set; } + + /// <summary> + /// 閲囪喘閬囩畻 + /// </summary> + + public decimal? Caigouyusuan { get; set; } + + /// <summary> + /// 瀹氭爣瑙勫垯 + /// </summary> + [MaxLength(100, ErrorMessage = "瀹氭爣瑙勫垯瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Dingbiaoguize { get; set; } + + /// <summary> + /// 鎶ュ悕璐� + /// </summary> + public decimal? Baomingfei { get; set; } + + /// <summary> + /// 鎶曟爣淇濊瘉閲� + /// </summary> + public decimal? Toubiaobaozhengjin { get; set; } + + /// <summary> + /// 鑱斿悎浣撴姇鏍� + /// </summary> + [MaxLength(100, ErrorMessage = "鑱斿悎浣撴姇鏍囧瓧绗﹂暱搴︿笉鑳借秴杩�100")] + public string Lianhetitoubiao { get; set; } + + /// <summary> + /// 寮�鏍囨柟寮� + /// </summary> + [MaxLength(100, ErrorMessage = "寮�鏍囨柟寮忓瓧绗﹂暱搴︿笉鑳借秴杩�100")] + public string Kaibiaofangshi { get; set; } + + /// <summary> + /// 鏄惁鍒嗗寘 + /// </summary> + [MaxLength(100, ErrorMessage = " 鏄惁鍒嗗寘瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Shifoufenbao { get; set; } + + /// <summary> + /// 鏄惁鎺ㄩ�佸浼� + /// </summary> + [MaxLength(100, ErrorMessage = "鏄惁鎺ㄩ�佸浼犲瓧绗﹂暱搴︿笉鑳借秴杩�100")] + public string Shifoutuisongxuanchuan { get; set; } + + /// <summary> + /// 閲囪喘浜哄悕绉� + /// </summary> + [MaxLength(100, ErrorMessage = "閲囪喘浜哄悕绉板瓧绗﹂暱搴︿笉鑳借秴杩�100")] + public string Caigourenmingcheng { get; set; } + + /// <summary> + /// 琛屾斂鍖哄煙510000,510100,510101 + /// </summary> + [MaxLength(100, ErrorMessage = "琛屾斂鍖哄煙瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Xingzhengquyu { get; set; } + + /// <summary> + /// 琛屾斂鍖哄煙鍚嶇О 鍥涘窛鐪� / 鎴愰兘甯� / 甯傛湰绾� + /// </summary> + [MaxLength(100, ErrorMessage = "琛屾斂鍖哄煙鍚嶇О瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string XingzhengquyuName { get; set; } + + /// <summary> + /// 鏈烘瀯浠g爜 + /// </summary> + [MaxLength(100, ErrorMessage = "鏈烘瀯浠g爜瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Jigoudaima { get; set; } + + /// <summary> + /// 浠g爜绫诲瀷 + /// </summary> + [MaxLength(100, ErrorMessage = "浠g爜绫诲瀷瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Daimaleixing { get; set; } + + /// <summary> + /// 鑱旂郴浜� + /// </summary> + [MaxLength(100, ErrorMessage = "鑱旂郴浜虹О瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Lianxiren { get; set; } + + /// <summary> + /// 鑱旂郴鐢佃瘽 + /// </summary> + [MaxLength(100, ErrorMessage = "鑱旂郴鐢佃瘽瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Lianxidianhua { get; set; } + + /// <summary> + /// 閫氫俊鍦板潃 + /// </summary> + [MaxLength(250, ErrorMessage = "閫氫俊鍦板潃瀛楃闀垮害涓嶈兘瓒呰繃250")] + public string Tongxindizhi { get; set; } + + /// <summary> + /// 鐢靛瓙閭欢 + /// </summary> + [MaxLength(100, ErrorMessage = "鐢靛瓙閭欢瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Dianziyoujian { get; set; } + + /// <summary> + /// 椤圭洰缁忓姙浜� + /// </summary> + [MaxLength(100, ErrorMessage = "椤圭洰缁忓姙浜哄瓧绗﹂暱搴︿笉鑳借秴杩�100")] + public string Xiangmujingbanren { get; set; } + + /// <summary> + /// 鑱屽姟 + /// </summary> + [MaxLength(100, ErrorMessage = "鑱屽姟瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Zhiwu { get; set; } + + /// <summary> + /// 缁忓姙浜虹數璇� + /// </summary> + [MaxLength(100, ErrorMessage = "缁忓姙浜虹數璇濆瓧绗﹂暱搴︿笉鑳借秴杩�100")] + public string Jingbanrendianhua { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鍚嶇О + /// </summary> + [MaxLength(100, ErrorMessage = "浠g悊鏈烘瀯鍚嶇О瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Dailijigoumingcheng { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鑱旂郴浜� + /// </summary> + [MaxLength(100, ErrorMessage = "浠g悊鏈烘瀯鑱旂郴浜哄瓧绗﹂暱搴︿笉鑳借秴杩�100")] + public string DailiLianxiren { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鑱旂郴鐢佃瘽 + /// </summary> + [MaxLength(100, ErrorMessage = "浠g悊鏈烘瀯鑱旂郴鐢佃瘽瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string DailiLianxidianhua { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鐢靛瓙閭欢 + /// </summary> + [MaxLength(100, ErrorMessage = "浠g悊鏈烘瀯鐢靛瓙閭欢瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string DailiDianziyoujian { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯閫氫俊鍦板潃 + /// </summary> + [MaxLength(205, ErrorMessage = "浠g悊鏈烘瀯閫氫俊鍦板潃瀛楃闀垮害涓嶈兘瓒呰繃250")] + public string DailiTongxindizhi { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯椤圭洰缁忕悊 + /// </summary> + [MaxLength(100, ErrorMessage = "浠g悊鏈烘瀯椤圭洰缁忕悊瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string DailiXiangmujingli { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯椤圭洰缁忕悊鑱旂郴鐢佃瘽 + /// </summary> + [MaxLength(100, ErrorMessage = "浠g悊鏈烘瀯椤圭洰缁忕悊鑱旂郴鐢佃瘽瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string DailijingliLianxidianhua { get; set; } + + + + + + +} + +/// <summary> +/// 闈炴斂搴滆鍗曞垹闄よ緭鍏ュ弬鏁� +/// </summary> +public class DeleteTenderOrderInput +{ + /// <summary> + /// 涓婚敭Id + /// </summary> + [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")] + public Guid Id { get; set; } + +} + +/// <summary> +/// 闈炴斂搴滆鍗曢椤垫煡璇� +/// </summary> +public class SHouyeTenderOrderInput +{ + /// <summary> + /// 琛屼笟鍝佺洰 + /// </summary> + public string Hangyepinmu { get; set; } + +} + +/// <summary> +/// 闈炴斂搴滆鍗曟洿鏂拌緭鍏ュ弬鏁� +/// </summary> +public class UpdateTenderOrderInput +{ + /// <summary> + /// 涓婚敭Id + /// </summary> + [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")] + public Guid Id { get; set; } + + /// <summary> + /// 椤圭洰缂栧彿 + /// </summary> + [Required(ErrorMessage = "椤圭洰缂栧彿涓嶈兘涓虹┖")] + [MaxLength(100, ErrorMessage = "椤圭洰缂栧彿瀛楃闀垮害涓嶈兘瓒呰繃50")] + public string ProjectCode { get; set; } + + /// <summary> + /// 椤圭洰鍚嶇О + /// </summary> + [Required(ErrorMessage = "椤圭洰鍚嶇О涓嶈兘涓虹┖")] + [MaxLength(200, ErrorMessage = "椤圭洰鍚嶇О瀛楃闀垮害涓嶈兘瓒呰繃200")] + public string ProjectName { get; set; } + + /// <summary> + /// 琛屼笟鍝佺洰 + /// </summary> + [MaxLength(100, ErrorMessage = "琛屼笟鍝佺洰瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Hangyepinmu { get; set; } + + /// <summary> + /// 閲囪喘鏂瑰紡 + /// </summary> + [MaxLength(100, ErrorMessage = "閲囪喘鏂瑰紡瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Caigoufangshi { get; set; } + + /// <summary> + /// 閲囪喘閬囩畻 + /// </summary> + + public decimal? Caigouyusuan { get; set; } + + /// <summary> + /// 瀹氭爣瑙勫垯 + /// </summary> + [MaxLength(100, ErrorMessage = "瀹氭爣瑙勫垯瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Dingbiaoguize { get; set; } + + /// <summary> + /// 鎶ュ悕璐� + /// </summary> + public decimal? Baomingfei { get; set; } + + /// <summary> + /// 鎶曟爣淇濊瘉閲� + /// </summary> + public decimal? Toubiaobaozhengjin { get; set; } + + /// <summary> + /// 鑱斿悎浣撴姇鏍� + /// </summary> + [MaxLength(100, ErrorMessage = "鑱斿悎浣撴姇鏍囧瓧绗﹂暱搴︿笉鑳借秴杩�100")] + public string Lianhetitoubiao { get; set; } + + /// <summary> + /// 寮�鏍囨柟寮� + /// </summary> + [MaxLength(100, ErrorMessage = "寮�鏍囨柟寮忓瓧绗﹂暱搴︿笉鑳借秴杩�100")] + public string Kaibiaofangshi { get; set; } + + /// <summary> + /// 鏄惁鍒嗗寘 + /// </summary> + [MaxLength(100, ErrorMessage = " 鏄惁鍒嗗寘瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Shifoufenbao { get; set; } + + /// <summary> + /// 鏄惁鎺ㄩ�佸浼� + /// </summary> + [MaxLength(100, ErrorMessage = "鏄惁鎺ㄩ�佸浼犲瓧绗﹂暱搴︿笉鑳借秴杩�100")] + public string Shifoutuisongxuanchuan { get; set; } + + /// <summary> + /// 閲囪喘浜哄悕绉� + /// </summary> + [MaxLength(100, ErrorMessage = "閲囪喘浜哄悕绉板瓧绗﹂暱搴︿笉鑳借秴杩�100")] + public string Caigourenmingcheng { get; set; } + + /// <summary> + /// 琛屾斂鍖哄煙510000,510100,510101 + /// </summary> + [MaxLength(100, ErrorMessage = "琛屾斂鍖哄煙瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Xingzhengquyu { get; set; } + + /// <summary> + /// 琛屾斂鍖哄煙鍚嶇О 鍥涘窛鐪� / 鎴愰兘甯� / 甯傛湰绾� + /// </summary> + [MaxLength(100, ErrorMessage = "琛屾斂鍖哄煙鍚嶇О瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string XingzhengquyuName { get; set; } + + /// <summary> + /// 鏈烘瀯浠g爜 + /// </summary> + [MaxLength(100, ErrorMessage = "鏈烘瀯浠g爜瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Jigoudaima { get; set; } + + /// <summary> + /// 浠g爜绫诲瀷 + /// </summary> + [MaxLength(100, ErrorMessage = "浠g爜绫诲瀷瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Daimaleixing { get; set; } + + /// <summary> + /// 鑱旂郴浜� + /// </summary> + [MaxLength(100, ErrorMessage = "鑱旂郴浜虹О瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Lianxiren { get; set; } + + /// <summary> + /// 鑱旂郴鐢佃瘽 + /// </summary> + [MaxLength(100, ErrorMessage = "鑱旂郴鐢佃瘽瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Lianxidianhua { get; set; } + + /// <summary> + /// 閫氫俊鍦板潃 + /// </summary> + [MaxLength(250, ErrorMessage = "閫氫俊鍦板潃瀛楃闀垮害涓嶈兘瓒呰繃250")] + public string Tongxindizhi { get; set; } + + /// <summary> + /// 鐢靛瓙閭欢 + /// </summary> + [MaxLength(100, ErrorMessage = "鐢靛瓙閭欢瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Dianziyoujian { get; set; } + + /// <summary> + /// 椤圭洰缁忓姙浜� + /// </summary> + [MaxLength(100, ErrorMessage = "椤圭洰缁忓姙浜哄瓧绗﹂暱搴︿笉鑳借秴杩�100")] + public string Xiangmujingbanren { get; set; } + + /// <summary> + /// 鑱屽姟 + /// </summary> + [MaxLength(100, ErrorMessage = "鑱屽姟瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Zhiwu { get; set; } + + /// <summary> + /// 缁忓姙浜虹數璇� + /// </summary> + [MaxLength(100, ErrorMessage = "缁忓姙浜虹數璇濆瓧绗﹂暱搴︿笉鑳借秴杩�100")] + public string Jingbanrendianhua { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鍚嶇О + /// </summary> + [MaxLength(100, ErrorMessage = "浠g悊鏈烘瀯鍚嶇О瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string Dailijigoumingcheng { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鑱旂郴浜� + /// </summary> + [MaxLength(100, ErrorMessage = "浠g悊鏈烘瀯鑱旂郴浜哄瓧绗﹂暱搴︿笉鑳借秴杩�100")] + public string DailiLianxiren { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鑱旂郴鐢佃瘽 + /// </summary> + [MaxLength(100, ErrorMessage = "浠g悊鏈烘瀯鑱旂郴鐢佃瘽瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string DailiLianxidianhua { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鐢靛瓙閭欢 + /// </summary> + [MaxLength(100, ErrorMessage = "浠g悊鏈烘瀯鐢靛瓙閭欢瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string DailiDianziyoujian { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯閫氫俊鍦板潃 + /// </summary> + [MaxLength(205, ErrorMessage = "浠g悊鏈烘瀯閫氫俊鍦板潃瀛楃闀垮害涓嶈兘瓒呰繃250")] + public string DailiTongxindizhi { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯椤圭洰缁忕悊 + /// </summary> + [MaxLength(100, ErrorMessage = "浠g悊鏈烘瀯椤圭洰缁忕悊瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string DailiXiangmujingli { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯椤圭洰缁忕悊鑱旂郴鐢佃瘽 + /// </summary> + [MaxLength(100, ErrorMessage = "浠g悊鏈烘瀯椤圭洰缁忕悊鑱旂郴鐢佃瘽瀛楃闀垮害涓嶈兘瓒呰繃100")] + public string DailijingliLianxidianhua { get; set; } + + +} + +/// <summary> +/// 闈炴斂搴滆鍗曚富閿煡璇㈣緭鍏ュ弬鏁� +/// </summary> +public class QueryByIdTenderOrderInput : DeleteTenderOrderInput +{ +} + +/// <summary> +/// 闈炴斂搴滆鍗曚慨鏀硅川鐤� +/// </summary> +public class UpdateZhiyiByIdTenderOrderInput : DeleteTenderOrderInput +{ + /// <summary> + /// 鏄惁璐ㄧ枒 + /// </summary> + [Required(ErrorMessage = "鏄惁璐ㄧ枒涓嶈兘涓虹┖")] + public bool Zhiyi { get; set; } +} + + +/// <summary> +/// 闈炴斂搴滆鍗曚慨鏀规爣棰� +/// </summary> +public class UpdateTittleByIdTenderOrderInput : DeleteTenderOrderInput +{ + /// <summary> + /// 鏍囬 + /// </summary> + [Required(ErrorMessage = "鏍囬涓嶈兘涓虹┖")] + public string ProjectName { get; set; } +} + +/// <summary> +/// 闈炴斂搴滆鍗曟暟鎹鍏ュ疄浣� +/// </summary> +[ExcelImporter(SheetIndex = 1, IsOnlyErrorRows = true)] +public class ImportTenderOrderInput : BaseImportInput +{ + + /// <summary> + /// 椤圭洰缂栧彿 + /// </summary> + [ImporterHeader(Name = "*椤圭洰缂栧彿")] + [ExporterHeader("*椤圭洰缂栧彿", Format = "", Width = 25, IsBold = true)] + public string ProjectCode { get; set; } + + /// <summary> + /// 椤圭洰鍚嶇О + /// </summary> + [ImporterHeader(Name = "*椤圭洰鍚嶇О")] + [ExporterHeader("*椤圭洰鍚嶇О", Format = "", Width = 25, IsBold = true)] + public string ProjectName { get; set; } + + /// <summary> + /// 鍐冲畾鏃ユ湡 + /// </summary> + [ImporterHeader(Name = "*鍐冲畾鏃ユ湡")] + [ExporterHeader("*鍐冲畾鏃ユ湡", Format = "", Width = 25, IsBold = true)] + public DateTime DecisionDate { get; set; } + + /// <summary> + /// 閲囪喘浜� + /// </summary> + [ImporterHeader(Name = "*閲囪喘浜�")] + [ExporterHeader("*閲囪喘浜�", Format = "", Width = 25, IsBold = true)] + public string Purchaser { get; set; } + + /// <summary> + /// 閲囪喘浠g悊鏈烘瀯 + /// </summary> + [ImporterHeader(Name = "*閲囪喘浠g悊鏈烘瀯")] + [ExporterHeader("*閲囪喘浠g悊鏈烘瀯", Format = "", Width = 25, IsBold = true)] + public string ProcurementAgency { get; set; } + + /// <summary> + /// 鎶曡瘔浜� + /// </summary> + [ImporterHeader(Name = "鎶曡瘔浜�")] + [ExporterHeader("鎶曡瘔浜�", Format = "", Width = 25, IsBold = true)] + public string? Complainant { get; set; } + + /// <summary> + /// 閲囪喘鐩戠潱閮ㄩ棬 + /// </summary> + [ImporterHeader(Name = "閲囪喘鐩戠潱閮ㄩ棬")] + [ExporterHeader("閲囪喘鐩戠潱閮ㄩ棬", Format = "", Width = 25, IsBold = true)] + public string? ProcurementSupervisionDepartment { get; set; } + + /// <summary> + /// 绾夸笂鍦板潃 + /// </summary> + [ImporterHeader(Name = "绾夸笂鍦板潃")] + [ExporterHeader("绾夸笂鍦板潃", Format = "", Width = 25, IsBold = true)] + public string? Url { get; set; } + +} + + +/// <summary> +/// 闈炴斂搴滆鍗曞鍔犺緭鍏ュ弬鏁� +/// </summary> +public class FabuTenderOrderInput +{ + + /// <summary> + /// 涓婚敭Id + /// </summary> + [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")] + public Guid Id { get; set; } + + + + + + + /// <summary> + /// 鎶曟爣鎶ュ悕寮�濮嬫椂闂� + /// </summary> + [Required(ErrorMessage = "鎶曟爣鎶ュ悕寮�濮嬫椂闂翠笉鑳戒负绌�")] + public DateTime ToubiaoStartDate { get; set; } + + + /// <summary> + /// 鎶曟爣鎶ュ悕缁撴潫鏃堕棿 + /// </summary> + [Required(ErrorMessage = "鎶曟爣鎶ュ悕缁撴潫鏃堕棿涓嶈兘涓虹┖")] + public DateTime ToubiaoEndDate { get; set; } + + /// <summary> + /// 寮�鏍囨椂闂� + /// </summary> + [Required(ErrorMessage = "寮�鏍囨椂闂翠笉鑳戒负绌�")] + public DateTime KaibiaoDate { get; set; } + + ///// <summary> + ///// 鍙戝竷鏃堕棿 + ///// </summary> + //[SugarColumn(IsNullable = true, ColumnDescription = "鍙戝竷鏃堕棿")] + //public DateTime? FabuDate { get; set; } + + /// <summary> + /// 鎷涙爣鏂囦欢 + /// </summary> + [MaxLength(512, ErrorMessage = "鎷涙爣鏂囦欢瀛楃闀垮害涓嶈兘瓒呰繃512")] + [Required(ErrorMessage = "鎷涙爣鏂囦欢涓嶈兘涓虹┖")] + public string Zhaobiaowenjian { get; set; } + + /// <summary> + /// 闄勪欢 + /// </summary> + [MaxLength(512, ErrorMessage = "闄勪欢瀛楃闀垮害涓嶈兘瓒呰繃512")] + public string Fujian { get; set; } + + /// <summary> + /// 寮�鏍囧湴鐐� + /// </summary> + [MaxLength(250, ErrorMessage = "寮�鏍囧湴鐐瑰瓧绗﹂暱搴︿笉鑳借秴杩�250")] + [Required(ErrorMessage = "寮�鏍囧湴鐐逛笉鑳戒负绌�")] + public string Kaibiaodidian { get; set; } + + + +} + + + +/// <summary> +/// 闈炴斂搴滆鍗曞彉鏇村叕鍛� +/// </summary> +public class ChangeTenderOrderInput +{ + + /// <summary> + /// 鎷涙爣涓婚敭Id + /// </summary> + [Required(ErrorMessage = "鎷涙爣涓婚敭Id涓嶈兘涓虹┖")] + public Guid TenderId { get; set; } + + + /// <summary> + /// 鍙樻洿鍚嶇О + /// </summary> + [Required(ErrorMessage = "鍙樻洿鍚嶇ОId涓嶈兘涓虹┖")] + public string ProjectName { get; set; } + + + + /// <summary> + /// 鎶曟爣鎶ュ悕寮�濮嬫椂闂� + /// </summary> + [Required(ErrorMessage = "鎶曟爣鎶ュ悕寮�濮嬫椂闂翠笉鑳戒负绌�")] + public DateTime ToubiaoStartDate { get; set; } + + + /// <summary> + /// 鎶曟爣鎶ュ悕缁撴潫鏃堕棿 + /// </summary> + [Required(ErrorMessage = "鎶曟爣鎶ュ悕缁撴潫鏃堕棿涓嶈兘涓虹┖")] + public DateTime ToubiaoEndDate { get; set; } + + /// <summary> + /// 寮�鏍囨椂闂� + /// </summary> + [Required(ErrorMessage = "寮�鏍囨椂闂翠笉鑳戒负绌�")] + public DateTime KaibiaoDate { get; set; } + + ///// <summary> + ///// 鍙戝竷鏃堕棿 + ///// </summary> + //[SugarColumn(IsNullable = true, ColumnDescription = "鍙戝竷鏃堕棿")] + //public DateTime? FabuDate { get; set; } + + /// <summary> + /// 鎷涙爣鏂囦欢 + /// </summary> + [MaxLength(512, ErrorMessage = "鎷涙爣鏂囦欢瀛楃闀垮害涓嶈兘瓒呰繃512")] + [Required(ErrorMessage = "鎷涙爣鏂囦欢涓嶈兘涓虹┖")] + public string Biangengwenjian { get; set; } + + + /// <summary> + /// 寮�鏍囧湴鐐� + /// </summary> + [MaxLength(250, ErrorMessage = "寮�鏍囧湴鐐瑰瓧绗﹂暱搴︿笉鑳借秴杩�250")] + [Required(ErrorMessage = "寮�鏍囧湴鐐逛笉鑳戒负绌�")] + public string Kaibiaodidian { get; set; } + + + +} + + + +/// <summary> +/// 宸ラ摱涓婃敹钘忚緭鍏� +/// </summary> +public class SuplierTendOrderInput +{ + /// <summary> + /// 鎷涙爣Id + /// </summary> + [Required(ErrorMessage = "鎷涙爣Id涓嶈兘涓虹┖")] + public Guid TenderOrderId { get; set; } + + /// <summary> + /// 鏄惁鏀惰棌 + /// </summary> + [Required(ErrorMessage = "鏄惁鏀惰棌涓嶈兘涓虹┖")] + public bool isColection { get; set; } + +} + + +/// <summary> +/// 渚涘簲鍟嗕笂浼犳嫑鏍囨枃浠� +/// </summary> +public class SuplierToubiaoInput +{ + /// <summary> + /// 鎷涙爣Id + /// </summary> + [Required(ErrorMessage = "鎷涙爣Id涓嶈兘涓虹┖")] + public Guid TenderOrderId { get; set; } + + + /// <summary> + /// 鎶曟爣鏂囦欢 + /// </summary> + [Required(ErrorMessage = "鎶曟爣鏂囦欢涓嶈兘涓虹┖")] + public string Touboaowenjian { get; set; } + +} + + + +/// <summary> +/// 浠g悊鍟嗗彂甯冧腑鏍囨枃浠� +/// </summary> +public class OrderZhongbiaoInput +{ + /// <summary> + /// 鎷涙爣Id + /// </summary> + [Required(ErrorMessage = "鎷涙爣Id涓嶈兘涓虹┖")] + public Guid TenderOrderId { get; set; } + + + /// <summary> + /// 涓爣鏂囦欢 + /// </summary> + [Required(ErrorMessage = "涓爣鏂囦欢涓嶈兘涓虹┖")] + public string Zhongbiaowenjian { get; set; } + + + /// <summary> + /// 涓爣渚涘簲鍟唅d + /// </summary> + [Required(ErrorMessage = "涓爣渚涘簲鍟唅d涓嶈兘涓虹┖")] + public long SupplierUserId { get; set; } + + /// <summary> + /// 涓爣渚涘簲鍟哊ame + /// </summary> + [Required(ErrorMessage = "涓爣渚涘簲鍟哊ame涓嶈兘涓虹┖")] + public string SupplierUserName { get; set; } + + /// <summary> + /// 涓爣tittle + /// </summary> + [Required(ErrorMessage = "涓爣tittle涓嶈兘涓虹┖")] + public string ZhongbiaoTittle { get; set; } + +} + +/// <summary> +/// 渚涘簲鍟嗘敮浠樻姤鍚嶈垂 +/// </summary> +public class SuplierBaomingfeiInput +{ + /// <summary> + /// 鎷涙爣Id + /// </summary> + [Required(ErrorMessage = "鎷涙爣Id涓嶈兘涓虹┖")] + public Guid TenderOrderId { get; set; } + + + +} + + + + +/// <summary> +/// 闈炴斂搴滆鍗曞垎椤垫煡璇㈣緭鍏ュ弬鏁� +/// </summary> +public class PageSuplierTendOrderInput : BasePageInput +{ + + + + /// <summary> + /// 椤圭洰鍚嶇О + /// </summary> + public string ProjectName { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鍚嶇О + /// </summary> + public string Dailijigoumingcheng { get; set; } + + + + + + +} + + +// <summary> +/// 渚涘簲鍟嗗弬涓庣殑椤圭洰鏌ヨ +/// </summary> +public class PageSupplierOrderInput : BasePageInput +{ + + + + /// <summary> + /// 椤圭洰鍚嶇О + /// </summary> + public string ProjectName { get; set; } + + + + /// <summary> + /// 閲囪喘浜哄悕绉� + /// </summary> + public string Caigourenmingcheng { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鍚嶇О + /// </summary> + public string Dailijigoumingcheng { get; set; } + + /// <summary> + /// 鏄惁璐ㄧ枒鎶曡瘔 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "鏄惁璐ㄧ枒鎶曡瘔")] + public bool? ZhiyiTousu { get; set; } + + + /// <summary> + /// 鏄惁涓爣 + /// </summary> + [SugarColumn(IsNullable = true, ColumnDescription = "鏄惁涓爣")] + public bool? IsSelected { get; set; } + + + + + + +} + + + + +/// <summary> +/// 棣栭〉鍏憡淇℃伅 +/// </summary> +public class PageShouyeTendOrderInput : BasePageInput +{ + + + + /// <summary> + /// 椤圭洰鍚嶇О + /// </summary> + public string ProjectName { get; set; } + + /// <summary> + /// 鏂板鏃ユ湡鑼冨洿 + /// </summary> + public DateTime?[] CreateDateRange { get; set; } + + + + + + +} + + +/// <summary> +/// 闈炴斂搴滆鍗曢椤垫煡璇� +/// </summary> +public class SHouyeNeirongfabuInput +{ + /// <summary> + /// 鍐呭绫诲瀷 + /// </summary> + public int? Leirongneixing { get; set; } + + /// <summary> + /// 鏄惁棣栭〉鏄剧ず + /// </summary> + public bool? IsShouyexianshi { get; set; } + +} + + + +/// <summary> +/// 闈炴斂搴滆鍗曢椤电炕椤垫煡璇㈡煡璇� +/// </summary> +public class PageShouyeNeirongfabuInput : BasePageInput +{ + /// <summary> + /// 鍐呭绫诲瀷 + /// </summary> + public int? Leirongneixing { get; set; } + + /// <summary> + /// 鏄惁棣栭〉鏄剧ず + /// </summary> + public bool? IsShouyexianshi { get; set; } + + + + /// <summary> + /// 鍐呭鏍囬 + /// </summary> + public string NeirongTittle { get; set; } + + + /// <summary> + /// 鏂板鏃ユ湡鑼冨洿 + /// </summary> + public DateTime?[] CreateDateRange { get; set; } + +} + + + diff --git a/Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/Dto/TenderOrderOutput.cs b/Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/Dto/TenderOrderOutput.cs new file mode 100644 index 0000000..19c5544 --- /dev/null +++ b/Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/Dto/TenderOrderOutput.cs @@ -0,0 +1,590 @@ +锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆� +// +// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆� +// +// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛� +using Admin.NET.Core; +using FZCZTB.NET.MD; +using Magicodes.ExporterAndImporter.Core; +using SqlSugar; +using System.ComponentModel.DataAnnotations; +using static FZCZTB.TSCL.Application.ChangeTenderOrderOut; +namespace FZCZTB.TSCL.Application; + +/// <summary> +/// 鏀垮簻閲囪喘鎶曡瘔鏁版嵁澶勭悊杈撳嚭鍙傛暟 +/// </summary> +public class TenderOrderOutput +{ + /// <summary> + /// 鎶曡瘔ID锛屼富閿� + /// </summary> + public Guid Id { get; set; } + + /// <summary> + /// 椤圭洰鍚嶇О + /// </summary> + public string ProjectName { get; set; } + + /// <summary> + /// 椤圭洰缂栧彿 + /// </summary> + public string ProjectCode { get; set; } + + /// <summary> + /// 琛屼笟鍝佺洰 + /// </summary> + public string Hangyepinmu { get; set; } + + /// <summary> + /// 琛屼笟鍝佺洰鍚嶇О + /// </summary> + public string HangyepinmuName { get; set; } + + /// <summary> + /// 閲囪喘鏂瑰紡 + /// </summary> + public string Caigoufangshi { get; set; } + /// <summary> + /// 閲囪喘鏂瑰紡鍚嶇О + /// </summary> + public string CaigoufangshiName { get; set; } + + /// <summary> + /// 閲囪喘閬囩畻 + /// </summary> + public decimal? Caigouyusuan { get; set; } + + /// <summary> + /// 瀹氭爣瑙勫垯 + /// </summary> + public string Dingbiaoguize { get; set; } + + /// <summary> + /// 瀹氭爣瑙勫垯鍚嶇О + /// </summary> + public string DingbiaoguizeName { get; set; } + + /// <summary> + /// 鎶ュ悕璐� + /// </summary> + public decimal? Baomingfei { get; set; } + + /// <summary> + /// 鎶曟爣淇濊瘉閲� + /// </summary> + public decimal? Toubiaobaozhengjin { get; set; } + + + /// <summary> + /// 鑱斿悎浣撴姇鏍� + /// </summary> + public string Lianhetitoubiao { get; set; } + /// <summary> + /// 鑱斿悎浣撴姇鏍囧悕绉� + /// </summary> + public string LianhetitoubiaoName { get; set; } + + /// <summary> + /// 寮�鏍囨柟寮� + /// </summary> + public string Kaibiaofangshi { get; set; } + /// <summary> + /// 寮�鏍囨柟寮忓悕绉� + /// </summary> + public string KaibiaofangshiName { get; set; } + + /// <summary> + /// 鏄惁鍒嗗寘 + /// </summary> + public string Shifoufenbao { get; set; } + /// <summary> + /// 鏄惁鍒嗗寘鍚嶇О + /// </summary> + public string ShifoufenbaoName { get; set; } + + /// <summary> + /// 鏄惁鎺ㄩ�佸浼� + /// </summary> + public string Shifoutuisongxuanchuan { get; set; } + /// <summary> + /// 鏄惁鎺ㄩ�佸浼犲悕绉� + /// </summary> + public string ShifoutuisongxuanchuanName { get; set; } + + /// <summary> + /// 閲囪喘浜哄悕绉� + /// </summary> + public string Caigourenmingcheng { get; set; } + + /// <summary> + /// 琛屾斂鍖哄煙 + /// </summary> + public string Xingzhengquyu { get; set; } + + /// <summary> + /// 琛屾斂鍖哄煙鍚嶇О + /// </summary> + public string XingzhengquyuName { get; set; } + + /// <summary> + /// 鏈烘瀯浠g爜 + /// </summary> + public string Jigoudaima { get; set; } + + /// <summary> + /// 浠g爜绫诲瀷 + /// </summary> + public string Daimaleixing { get; set; } + + /// <summary> + /// 浠g爜绫诲瀷鍚嶇О + /// </summary> + public string DaimaleixingName { get; set; } + + /// <summary> + /// 鑱旂郴浜� + /// </summary> + public string Lianxiren { get; set; } + + /// <summary> + /// 鑱旂郴鐢佃瘽 + public string Lianxidianhua { get; set; } + + /// <summary> + /// 閫氫俊鍦板潃 + /// </summary> + public string Tongxindizhi { get; set; } + + /// <summary> + /// 鐢靛瓙閭欢 + /// </summary> + public string Dianziyoujian { get; set; } + + /// <summary> + /// 椤圭洰缁忓姙浜� + /// </summary> + public string Xiangmujingbanren { get; set; } + + /// <summary> + /// 鑱屽姟 + /// </summary> + public string Zhiwu { get; set; } + + /// <summary> + /// 缁忓姙浜虹數璇� + /// </summary> + public string Jingbanrendianhua { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鍚嶇О + /// </summary> + public string Dailijigoumingcheng { get; set; } + + + /// <summary> + /// 浠g悊鏈烘瀯鑱旂郴浜� + /// </summary> + public string DailiLianxiren { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鑱旂郴鐢佃瘽 + /// </summary> + public string DailiLianxidianhua { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯鐢靛瓙閭欢 + /// </summary> + public string DailiDianziyoujian { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯閫氫俊鍦板潃 + /// </summary> + public string DailiTongxindizhi { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯椤圭洰缁忕悊 + /// </summary> + public string DailiXiangmujingli { get; set; } + + /// <summary> + /// 浠g悊鏈烘瀯椤圭洰缁忕悊鑱旂郴鐢佃瘽 + /// </summary> + public string DailijingliLianxidianhua { get; set; } + + + + /// <summary> + /// 璐ㄧ枒鏈夋棤 + /// </summary> + public bool? Zhiyi { get; set; } + + + /// <summary> + /// 鎶曡瘔鏈夋棤 + /// </summary> + public bool? Tousu { get; set; } + + + /// <summary> + /// 鏄惁涓爣 + /// </summary> + public bool? IsSelected { get; set; } + + /// <summary> + /// 鏄惁涓爣 + /// </summary> + public string IsSelectedName { get; set; } + + + + /// <summary> + /// 璁㈠崟鐘舵�� + /// </summary> + public int? OrderStatus { get; set; } + + /// <summary> + /// 璁㈠崟鐘舵�� + /// </summary> + public string OrderStatusName { get; set; } + + + + /// <summary> + /// 鎶曟爣鎶ュ悕寮�濮嬫椂闂� + /// </summary> + public DateTime ToubiaoStartDate { get; set; } + + + /// <summary> + /// 鎶曟爣鎶ュ悕缁撴潫鏃堕棿 + /// </summary> + public DateTime ToubiaoEndDate { get; set; } + + /// <summary> + /// 寮�鏍囨椂闂� + /// </summary> + public DateTime KaibiaoDate { get; set; } + + /// <summary> + /// 鍙戝竷鏃堕棿 + /// </summary> + public DateTime? FabuDate { get; set; } + + /// <summary> + /// 鎷涙爣鏂囦欢 + /// </summary> + public string Zhaobiaowenjian { get; set; } + + /// <summary> + /// 闄勪欢 + /// </summary> + public string Fujian { get; set; } + + /// <summary> + /// 寮�鏍囧湴鐐� + /// </summary> + public string Kaibiaodidian { get; set; } + + + /// <summary> + /// 涓爣渚涘簲鍟咺d + /// </summary> + public long? ZhongbiaoId { get; set; } + + /// <summary> + /// 涓爣渚涘簲鍟嗗鍚� + /// </summary> + public string ZhongbiaoName { get; set; } + + /// <summary> + /// 涓撳Id + /// </summary> + public string ZhuanjiaId { get; set; } + + /// <summary> + /// 涓撳濮撳悕 + /// </summary> + public string ZhuanjiaName { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + public DateTime? CreateTime { get; set; } + + /// <summary> + /// 鏇存柊鏃堕棿 + /// </summary> + public DateTime? UpdateTime { get; set; } + + /// <summary> + /// 鍒涘缓鑰匢d + /// </summary> + public long? CreateUserId { get; set; } + + /// <summary> + /// 鍒涘缓鑰呭鍚� + /// </summary> + public string? CreateUserName { get; set; } + + /// <summary> + /// 淇敼鑰匢d + /// </summary> + public long? UpdateUserId { get; set; } + + /// <summary> + /// 淇敼鑰呭鍚� + /// </summary> + public string? UpdateUserName { get; set; } + + + /// <summary> + /// 涓爣鏂囦欢 + /// </summary> + public string Zhongbiaowenjian { get; set; } + + /// <summary> + /// 涓爣鏃堕棿 + /// </summary> + public DateTime? ZhongbiaoDate { get; set; } + + /// <summary> + /// 涓爣tittle + /// </summary> + public string ZhongbiaoTittle { get; set; } + + + /// <summary> + /// 鍙樻洿鍏憡 + /// </summary> + public ChangeOrder? changeOrder { get; set; } + + /// <summary> + /// 鎶曟爣鎯呭喌 + /// </summary> + public List<TenderOrderBiddingOutput>? tenderOrderBiddings { get; set; } + +} + + + + +public class RegionOutput +{ + /// <summary> + /// Id + /// </summary> + public long Id { get; set; } + + /// <summary> + /// 鐖惰妭鐐笽d + /// </summary> + public long Pid { get; set; } + + /// <summary> + /// 鍚嶇О + /// </summary> + public string Name { get; set; } + + /// <summary> + /// 缂栫爜 + /// </summary> + public string Code { get; set; } + + /// <summary> + /// 绛夌骇 + /// </summary> + public int Level { get; set; } + + /// <summary> + /// 缂栫爜 + /// </summary> + public List<RegionOutput> Regions { get; set; } + +} + +/// <summary> +/// 鏀垮簻閲囪喘鎶曡瘔鏁版嵁澶勭悊鏁版嵁瀵煎叆妯℃澘瀹炰綋 +/// </summary> +public class ExportTenderOrderOutput : ImportTenderOrderInput +{ + [ImporterHeader(IsIgnore = true)] + [ExporterHeader(IsIgnore = true)] + public override string Error { get; set; } + + +} + + + +/// <summary> +/// 闈炴斂搴滆鍗曞彉鏇村叕鍛� +/// </summary> +public class ChangeTenderOrderOut +{ + + /// <summary> + /// 鍙樻洿涓婚敭Id + /// </summary> + public Guid Id { get; set; } + + /// <summary> + /// 鎷涙爣涓婚敭Id + /// </summary> + public Guid TenderId { get; set; } + + + /// <summary> + /// 鍙樻洿鍚嶇О + /// </summary> + public string ProjectName { get; set; } + + + + /// <summary> + /// 鎶曟爣鎶ュ悕寮�濮嬫椂闂� + /// </summary> + public DateTime ToubiaoStartDate { get; set; } + + + /// <summary> + /// 鎶曟爣鎶ュ悕缁撴潫鏃堕棿 + /// </summary> + public DateTime ToubiaoEndDate { get; set; } + + /// <summary> + /// 寮�鏍囨椂闂� + /// </summary> + public DateTime KaibiaoDate { get; set; } + + ///// <summary> + ///// 鍙戝竷鏃堕棿 + ///// </summary> + //[SugarColumn(IsNullable = true, ColumnDescription = "鍙戝竷鏃堕棿")] + //public DateTime? FabuDate { get; set; } + + /// <summary> + /// 鍙樻洿鏂囦欢 + /// </summary> + public string Biangengwenjian { get; set; } + + + /// <summary> + /// 寮�鏍囧湴鐐� + /// </summary> + public string Kaibiaodidian { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + public DateTime? CreateTime { get; set; } + + + + /// <summary> + /// 鏀垮簻閲囪喘鎶曡瘔鏁版嵁澶勭悊杈撳嚭鍙傛暟 + /// </summary> + public class TenderOrderBiddingOutput + { + + /// <summary> + /// 鎶曟爣ID锛屼富閿� + /// </summary> + public Guid Id { get; set; } + + /// <summary> + /// 鎷涙爣ID + /// </summary> + public Guid TenderId { get; set; } + + + /// <summary> + /// 鎶曟爣鏂囦欢 + public string Touboaowenjian { get; set; } + + + /// <summary> + /// 鏄惁涓爣 + /// </summary> + public bool? IsSelected { get; set; } + /// <summary> + /// 鏄惁涓爣name + /// </summary> + public string IsSelectedName { get; set; } + + /// <summary> + /// 涓爣鏃堕棿 + /// </summary> + public DateTime? SelectedTime { get; set; } + + + /// <summary> + /// 鏄惁鏀粯 + /// </summary> + public bool? IsTransfer { get; set; } + /// <summary> + /// 鏄惁鏀粯name + /// </summary> + public string IsTransferName { get; set; } + + /// <summary> + /// 鏀粯鏃堕棿 + /// </summary> + public DateTime? TransferTime { get; set; } + + + /// <summary> + /// 鏀粯缂栧彿 + /// </summary> + public string TransferNo { get; set; } + + /// <summary> + ///鏀粯閲戦 + /// </summary> + public decimal? Zhifujine { get; set; } + + /// <summary> + /// 鏀粯杩斿洖鏍囧彿 + /// </summary> + public string TradeNo { get; set; } + + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + public DateTime? CreateTime { get; set; } + + /// <summary> + /// 鏇存柊鏃堕棿 + /// </summary> + public DateTime? UpdateTime { get; set; } + + /// <summary> + /// 鍒涘缓鑰匢d + /// </summary> + public long? CreateUserId { get; set; } + + /// <summary> + /// 鍒涘缓鑰呭鍚� + /// </summary> + public string? CreateUserName { get; set; } + + /// <summary> + /// 鍘傚晢鍚嶅瓧 + /// </summary> + public string? ChangshangName { get; set; } + + /// <summary> + /// 淇敼鑰匢d + /// </summary> + public long? UpdateUserId { get; set; } + + /// <summary> + /// 淇敼鑰呭鍚� + /// </summary> + public string? UpdateUserName { get; set; } + + } + + +} diff --git a/Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/TenderOrderService.cs b/Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/TenderOrderService.cs new file mode 100644 index 0000000..806d874 --- /dev/null +++ b/Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/TenderOrderService.cs @@ -0,0 +1,858 @@ +锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆� +// +// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆� +// +// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛� + +using Admin.NET.Core.Service; +using Microsoft.AspNetCore.Http; + +using Furion.DatabaseAccessor; +using Furion.FriendlyException; +using Mapster; +using SqlSugar; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations; +using Microsoft.AspNetCore.Mvc; +using Admin.NET.Application; +using Admin.NET.Core; +using FZCZTB.NET.MD; +using Furion.DynamicApiController; +using Furion.DependencyInjection; +using System.Collections.Generic; +using System.Linq; +using NewLife.Xml; +using AngleSharp.Dom; +using DocumentFormat.OpenXml.Office2010.ExcelAc; +using Furion; +using System.Security.Claims; +using Microsoft.AspNetCore.Authorization; +using RazorEngine.Compilation.ImpromptuInterface; +using MimeKit; +using static FZCZTB.TSCL.Application.ChangeTenderOrderOut; +namespace FZCZTB.TSCL.Application; + +/// <summary> +/// 闈炴斂搴滄嫑鏍囦唬鐞嗚鍗曞鐞嗘湇鍔� 馃З +/// </summary> +[ApiDescriptionSettings(ApplicationConst.GroupNameDD, Order = 100)] +public class TenderOrderService : IDynamicApiController, ITransient +{ + private readonly SqlSugarRepository<TenderOrder> _TenderOrderRep; + private readonly ISqlSugarClient _sqlSugarClient; + private readonly SqlSugarRepository<SysDictData> _sysDictDataRep; + private readonly SysCacheService _sysCacheService; + private readonly SqlSugarRepository<SysRegion> _sysRegionRep; + private readonly SqlSugarRepository<ChangeOrder> _ChangeOrderRep; + private readonly SqlSugarRepository<TenderOrderBidding> _TenderOrderBiddingRep; + + public TenderOrderService(SqlSugarRepository<TenderOrder> TenderOrderRep, ISqlSugarClient sqlSugarClient, + SqlSugarRepository<SysDictData> sysDictDataRep, + SysCacheService sysCacheService, + SqlSugarRepository<SysRegion> sysRegionRep, + SqlSugarRepository<ChangeOrder> changeOrderRep + , SqlSugarRepository<TenderOrderBidding> TenderOrderBiddingRep) + { + _TenderOrderRep = TenderOrderRep; + _sqlSugarClient = sqlSugarClient; + _sysDictDataRep = sysDictDataRep; + _sysCacheService = sysCacheService; + _sysRegionRep = sysRegionRep; + _ChangeOrderRep = changeOrderRep; + _TenderOrderBiddingRep = TenderOrderBiddingRep; + } + + + + /// <summary> + /// 鑾峰彇琛屾斂鍖哄煙鍒楄〃 馃敄 + /// </summary> + /// <returns></returns> + [DisplayName("鑾峰彇琛屾斂鍖哄煙鍒楄〃")] + [ApiDescriptionSettings(Name = "GetRegionList"), HttpGet] + [AllowAnonymous] + public async Task<List<RegionOutput>> GetRegionList() + { + var sysRegions = await _sysRegionRep.AsQueryable().WhereIF(!string.IsNullOrWhiteSpace(""), u => u.Level != 4).Select<RegionOutput>().ToListAsync(); + var regions = sysRegions.Where(x => x.Level == 1).ToList(); + var regionOutputs = sysRegions.Where(x => x.Level == 2).ToList(); + var regionOutputs1 = sysRegions.Where(x => x.Level == 3).ToList(); + + foreach (var region in regions) + { + var regionOutputs2 = regionOutputs.Where(x => x.Pid == region.Id).ToList(); + foreach (var regionOutput in regionOutputs2) + { + var regionOutputs3 = regionOutputs1.Where(x => x.Pid == regionOutput.Id ).ToList(); + regionOutput.Regions = regionOutputs3; + } + region.Regions = regionOutputs2; + } + + return regions; + } + + + /// <summary> + /// 鑾峰彇寮�鏍囨柟寮忛泦鍚� 馃敄 + /// </summary> + /// <returns></returns> + [DisplayName("鑾峰彇寮�鏍囨柟寮忛泦鍚�")] + [ApiDescriptionSettings(Name = "GetKaibiaofangshiList"), HttpGet] + [AllowAnonymous] + public async Task<List<SysDictData>> GetKaibiaofangshiList() + { + return await GetDataListByCode("Kaibiaofangshi"); + } + + + /// <summary> + /// 鑾峰彇鏄惁鏋氫妇闆嗗悎 馃敄 + /// </summary> + /// <returns></returns> + [DisplayName("鑾峰彇鏄惁鏋氫妇闆嗗悎")] + [ApiDescriptionSettings(Name = "GetYesNoEnumList"), HttpGet] + [AllowAnonymous] + public async Task<List<SysDictData>> GetYesNoEnumList() + { + return await GetDataListByCode("YesNoEnum"); + } + + + /// <summary> + /// 鑾峰彇澶嶅悎浣撴姇鏍囬泦鍚� 馃敄 + /// </summary> + /// <returns></returns> + [DisplayName("鑾峰彇澶嶅悎浣撴姇鏍囬泦鍚�")] + [ApiDescriptionSettings(Name = "GetFuhetitoubiaoList"), HttpGet] + [AllowAnonymous] + public async Task<List<SysDictData>> GetFuhetitoubiaoList() + { + return await GetDataListByCode("Fuhetitoubiao"); + } + + + /// <summary> + /// 鑾峰彇瀹氭爣瑙勫垯闆嗗悎 馃敄 + /// </summary> + /// <returns></returns> + [DisplayName("鑾峰彇瀹氭爣瑙勫垯闆嗗悎")] + [ApiDescriptionSettings(Name = "GetDingbiaoguizeList"), HttpGet] + [AllowAnonymous] + public async Task<List<SysDictData>> GetDingbiaoguizeList() + { + return await GetDataListByCode("Dingbiaoguize"); + } + + + /// <summary> + /// 鑾峰彇浠g爜绫诲瀷闆嗗悎 馃敄 + /// </summary> + /// <returns></returns> + [DisplayName("鑾峰彇浠g爜绫诲瀷闆嗗悎")] + [ApiDescriptionSettings(Name = "GetDaimaleixingList"), HttpGet] + [AllowAnonymous] + public async Task<List<SysDictData>> GetDaimaleixingList() + { + return await GetDataListByCode("Daimaleixing"); + } + + + /// <summary> + /// 鑾峰彇閲囪喘鏂瑰紡闆嗗悎 馃敄 + /// </summary> + /// <returns></returns> + [DisplayName("鑾峰彇閲囪喘鏂瑰紡闆嗗悎")] + [ApiDescriptionSettings(Name = "GetCaigoufangshiList"), HttpGet] + [AllowAnonymous] + public async Task<List<SysDictData>> GetCaigoufangshiList() + { + return await GetDataListByCode("Caigoufangshi"); + } + + + /// <summary> + /// 鑾峰彇琛屼笟鍝佺洰闆嗗悎 馃敄 + /// </summary> + /// <returns></returns> + [DisplayName("鑾峰彇琛屼笟鍝佺洰闆嗗悎")] + [ApiDescriptionSettings(Name = "GetHangyepingmuList"), HttpGet] + [AllowAnonymous] + public async Task<List<SysDictData>> GetHangyepingmuList() + { + return await GetDataListByCode("Hangyepingmu"); + } + + + /// <summary> + /// 鑾峰彇椤圭洰杩涘害闆嗗悎 馃敄 + /// </summary> + /// <returns></returns> + [DisplayName("鑾峰彇椤圭洰杩涘害闆嗗悎")] + [ApiDescriptionSettings(Name = "GetOrderStatusList"), HttpGet] + [AllowAnonymous] + public async Task<List<SysDictData>> GetOrderStatusList() + { + return await GetDataListByCode("OrderStatus"); + } + + /// <summary> + /// 鑾峰彇瀛楀吀鍊奸泦鍚� 馃敄 + /// </summary> + /// <param name="typeId"></param> + /// <param name="code"></param> + /// <returns></returns> + [NonAction] + public async Task<List<SysDictData>> GetDataListByCode(string code) + { + if (string.IsNullOrWhiteSpace(code)) + throw Oops.Oh(ErrorCodeEnum.D3011); + + var dictType = await _sysDictDataRep.Change<SysDictType>().AsQueryable() + .Where(u => u.Status == StatusEnum.Enable) + .WhereIF(!string.IsNullOrWhiteSpace(code), u => u.Code == code) + .FirstAsync(); + if (dictType == null) return null; + + + + var dictDataList = await _sysDictDataRep.AsQueryable() + .Where(u => u.DictTypeId == dictType.Id) + .Where(u => u.Status == StatusEnum.Enable) + .OrderBy(u => new { u.OrderNo, u.Value, u.Code }) + .ToListAsync(); + return dictDataList; + } + + + + + + /// <summary> + /// 鎷涙爣浠g悊鍒嗛〉鏌ヨ闈炴斂搴滆鍗曞鐞� 馃敄 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("鎷涙爣浠g悊鍒嗛〉鏌ヨ闈炴斂搴滆鍗曞鐞�")] + [ApiDescriptionSettings(Name = "Page"), HttpPost] + public async Task<SqlSugarPagedList<TenderOrderOutput>> Page(PageTenderOrderInput input) + { + long userId = 0; + long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId); + + var query = _TenderOrderRep.AsQueryable() + .Where(x => x.CreateUserId == userId) + .WhereIF(!string.IsNullOrWhiteSpace(input.Xingzhengquyu), u => u.Xingzhengquyu.Contains(input.Xingzhengquyu.Trim())) + .WhereIF(!string.IsNullOrWhiteSpace(input.Hangyepinmu), u => u.Hangyepinmu == input.Hangyepinmu.Trim()) + .WhereIF( input.OrderStatus.HasValue, u => u.OrderStatus == input.OrderStatus) + .WhereIF(input.Zhiyi.HasValue, u => u.Zhiyi == input.Zhiyi) + .WhereIF(input.Tousu.HasValue, u => u.Tousu == input.Tousu) + .WhereIF(!string.IsNullOrWhiteSpace(input.ProjectName), u => u.ProjectName.Contains(input.ProjectName.Trim())) + .WhereIF(!string.IsNullOrWhiteSpace(input.Dailijigoumingcheng), u => u.Dailijigoumingcheng.Contains(input.Dailijigoumingcheng.Trim())) + .WhereIF(!string.IsNullOrWhiteSpace(input.ZhongbiaoName), u => u.ZhongbiaoName.Contains(input.ZhongbiaoName.Trim())) + .WhereIF(!string.IsNullOrWhiteSpace(input.ZhuanjiaName), u => u.ZhuanjiaName.Contains(input.ZhuanjiaName.Trim())) + .WhereIF(input.CreateDateRange != null && input.CreateDateRange.Length == 2, u => u.CreateTime >= input.CreateDateRange[0] && u.CreateTime <= input.CreateDateRange[1]) + .Select<TenderOrderOutput>(); + return await query.OrderBuilder(input,"", "CreateTime",true).ToPagedListAsync(input.Page, input.PageSize); + } + + /// <summary> + /// 鑾峰彇闈炴斂搴滆鍗曞鐞嗚鎯� 鈩癸笍 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("鑾峰彇闈炴斂搴滆鍗曞鐞嗚鎯�")] + [ApiDescriptionSettings(Name = "Detail"), HttpGet] + public async Task<TenderOrderOutput> Detail([FromQuery] QueryByIdTenderOrderInput input) + { + var Kaibiaofangshi = await GetDataListByCode("Kaibiaofangshi"); + var Caigoufangshi = await GetDataListByCode("Caigoufangshi"); + var Hangyepinmu = await GetDataListByCode("Hangyepingmu"); + var Fuhetitoubiao = await GetDataListByCode("Fuhetitoubiao"); + var Dingbiaoguize = await GetDataListByCode("Dingbiaoguize"); + var Daimaleixing = await GetDataListByCode("Daimaleixing"); + + var YesNoEnum = await GetDataListByCode("YesNoEnum"); + + + + + + + var OrderStatus = await GetDataListByCode("OrderStatus"); + var tenderOrderOutput = await _TenderOrderRep.AsQueryable().Where(x => x.Id == input.Id).Select<TenderOrderOutput>().FirstAsync(); + if (tenderOrderOutput != null) + { + if (!string.IsNullOrEmpty(tenderOrderOutput.Kaibiaofangshi)) + { + tenderOrderOutput.KaibiaofangshiName = Kaibiaofangshi.Where(x => x.Value == tenderOrderOutput.Kaibiaofangshi).Select(x=>x.Label).FirstOrDefault()??""; + } + if (!string.IsNullOrEmpty(tenderOrderOutput.Caigoufangshi)) + { + tenderOrderOutput.CaigoufangshiName = Caigoufangshi.Where(x => x.Value == tenderOrderOutput.Caigoufangshi).Select(x => x.Label).FirstOrDefault() ?? ""; + } + if (!string.IsNullOrEmpty(tenderOrderOutput.Hangyepinmu)) + { + tenderOrderOutput.HangyepinmuName = Hangyepinmu.Where(x => x.Value == tenderOrderOutput.Hangyepinmu).Select(x => x.Label).FirstOrDefault() ?? ""; + } + if (!string.IsNullOrEmpty(tenderOrderOutput.Lianhetitoubiao)) + { + tenderOrderOutput.LianhetitoubiaoName = Fuhetitoubiao.Where(x => x.Value == tenderOrderOutput.Lianhetitoubiao).Select(x => x.Label).FirstOrDefault() ?? ""; + } + if (!string.IsNullOrEmpty(tenderOrderOutput.Dingbiaoguize)) + { + tenderOrderOutput.DingbiaoguizeName = Dingbiaoguize.Where(x => x.Value == tenderOrderOutput.Dingbiaoguize).Select(x => x.Label).FirstOrDefault() ?? ""; + } + if (!string.IsNullOrEmpty(tenderOrderOutput.Daimaleixing)) + { + tenderOrderOutput.DaimaleixingName = Daimaleixing.Where(x => x.Value == tenderOrderOutput.Daimaleixing).Select(x => x.Label).FirstOrDefault() ?? ""; + } + + if (!string.IsNullOrEmpty(tenderOrderOutput.Shifoufenbao)) + { + tenderOrderOutput.ShifoufenbaoName = YesNoEnum.Where(x => x.Value == tenderOrderOutput.Shifoufenbao).Select(x => x.Label).FirstOrDefault() ?? ""; + } + if (!string.IsNullOrEmpty(tenderOrderOutput.Shifoutuisongxuanchuan)) + { + tenderOrderOutput.ShifoutuisongxuanchuanName = YesNoEnum.Where(x => x.Value == tenderOrderOutput.Shifoutuisongxuanchuan).Select(x => x.Label).FirstOrDefault() ?? ""; + } + if (tenderOrderOutput.OrderStatus.HasValue) + { + tenderOrderOutput.OrderStatusName = OrderStatus.Where(x => x.Value == tenderOrderOutput.OrderStatus.Value.ToString()).Select(x => x.Label).FirstOrDefault() ?? ""; + } + + } + + var changeOrder = await _ChangeOrderRep.AsQueryable().Where(x => x.TenderId == input.Id).FirstAsync(); + tenderOrderOutput.changeOrder = changeOrder; + + + var tenderOrderBiddings = await _sqlSugarClient.Queryable<TenderOrderBidding>() + .Where(x => x.TenderId == input.Id) + .Where(x=>x.IsTransfer == true) + .Select<TenderOrderBiddingOutput>().ToListAsync(); + + if (tenderOrderBiddings != null) + { + foreach (var tenderOrderBiddingOutput in tenderOrderBiddings) + { + if (tenderOrderBiddingOutput.IsSelected.HasValue && tenderOrderBiddingOutput.IsSelected.Value) + { + tenderOrderBiddingOutput.IsSelectedName = "鏄�"; + } + else + { + tenderOrderBiddingOutput.IsSelectedName = "鍚�"; + } + + if (tenderOrderBiddingOutput.IsTransfer.HasValue && tenderOrderBiddingOutput.IsTransfer.Value) + { + tenderOrderBiddingOutput.IsTransferName = "鏄�"; + } + else + { + tenderOrderBiddingOutput.IsTransferName = "鍚�"; + } + } + } + tenderOrderOutput.tenderOrderBiddings = tenderOrderBiddings; + + + + return tenderOrderOutput; + } + + /// <summary> + /// 閲囪喘浠g悊浜哄鍔犻潪鏀垮簻璁㈠崟澶勭悊 鉃� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("閲囪喘浠g悊浜哄鍔犻潪鏀垮簻璁㈠崟澶勭悊")] + [ApiDescriptionSettings(Name = "Add"), HttpPost] + public async Task<bool> Add(AddTenderOrderInput input) + { + var entity = input.Adapt<TenderOrder>(); + entity.Id = Guid.NewGuid(); + long userId = 0; + long? usertrueId = null; + if (long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId)) + { + usertrueId = userId; + } + var RealName = App.User?.FindFirstValue(ClaimConst.RealName); + entity.CreateTime = DateTime.Now; + entity.UpdateTime = DateTime.Now; + entity.CreateUserId = usertrueId; + entity.CreateUserName = RealName; + entity.UpdateUserId = usertrueId; + entity.UpdateUserName = RealName; + entity.OrderStatus = 1; + entity.Tousu = false; + entity.Zhiyi = false; + + return await _TenderOrderRep.InsertAsync(entity); + } + + /// <summary> + /// 閲囪喘浠g悊浜烘洿鏂伴潪鏀垮簻璁㈠崟澶勭悊 鉁忥笍 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("閲囪喘浠g悊浜烘洿鏂伴潪鏀垮簻璁㈠崟澶勭悊")] + [ApiDescriptionSettings(Name = "Update"), HttpPost] + public async Task Update(UpdateTenderOrderInput input) + { + var entity = input.Adapt<TenderOrder>(); + long userId = 0; + long? usertrueId = null; + if (long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId)) + { + usertrueId = userId; + } + var tenderOrder = _TenderOrderRep.AsQueryable().Where(x => x.Id == input.Id).First(); + if(tenderOrder == null) + { + throw Oops.Oh("璁㈠崟涓嶅瓨鍦紒"); + } + if(tenderOrder.OrderStatus != 1) + { + throw Oops.Oh("鍙湁澶勪簬淇濆瓨鐘舵�佺殑璁㈠崟鎵嶈兘淇敼锛�"); + } + var RealName = App.User?.FindFirstValue(ClaimConst.RealName); + entity.UpdateTime = DateTime.Now; + entity.UpdateUserId = usertrueId; + entity.UpdateUserName = RealName; + await _sqlSugarClient.Updateable(entity).UpdateColumns(x=> new { x.ProjectName, x.ProjectCode, x.Hangyepinmu, x.Caigoufangshi, x.Caigouyusuan, x.Dingbiaoguize, x.Baomingfei, x.Toubiaobaozhengjin, x.Lianhetitoubiao, x.Kaibiaofangshi, x.Shifoufenbao, x.Shifoutuisongxuanchuan, x.Caigourenmingcheng, x.Xingzhengquyu, x.XingzhengquyuName, x.Jigoudaima, x.Daimaleixing, x.Lianxiren, x.Lianxidianhua, x.Tongxindizhi, x.Dianziyoujian, x.Xiangmujingbanren, x.Zhiwu, x.Jingbanrendianhua, x.Dailijigoumingcheng, x.DailiLianxiren, x.DailiLianxidianhua, x.DailiDianziyoujian, x.DailiTongxindizhi, x.DailiXiangmujingli, x.DailijingliLianxidianhua, x.UpdateTime, x.UpdateUserId, x.UpdateUserName }).ExecuteCommandAsync(); + //await _TenderOrderRep.UpdateAsync(entity); + } + + + + /// <summary> + /// 閲囪喘浠g悊浜烘洿鏂伴潪鏀垮簻璁㈠崟璐ㄧ枒 鉁忥笍 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("閲囪喘浠g悊浜烘洿鏂伴潪鏀垮簻璁㈠崟璐ㄧ枒")] + [ApiDescriptionSettings(Name = "UpdateZhiyi"), HttpPost] + public async Task UpdateZhiyi(UpdateZhiyiByIdTenderOrderInput input) + { + + long userId = 0; + long? usertrueId = null; + if (long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId)) + { + usertrueId = userId; + } + var RealName = App.User?.FindFirstValue(ClaimConst.RealName); + + var tenderOrder = _TenderOrderRep.AsQueryable().Where(x => x.Id == input.Id).First(); + if (tenderOrder == null) + { + throw Oops.Oh("璁㈠崟涓嶅瓨鍦紒"); + } + tenderOrder.Zhiyi = input.Zhiyi; + tenderOrder.UpdateTime = DateTime.Now; + tenderOrder.UpdateUserId = usertrueId; + tenderOrder.UpdateUserName = RealName; + await _TenderOrderRep.UpdateAsync(tenderOrder); + } + + + + /// <summary> + /// 閲囪喘浠g悊浜烘洿鏂伴潪鏀垮簻璁㈠崟鎶曡瘔 鉁忥笍 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("閲囪喘浠g悊浜烘洿鏂伴潪鏀垮簻璁㈠崟鎶曡瘔")] + [ApiDescriptionSettings(Name = "UpdateTousu"), HttpPost] + public async Task UpdateTousu(UpdateZhiyiByIdTenderOrderInput input) + { + + long userId = 0; + long? usertrueId = null; + if (long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId)) + { + usertrueId = userId; + } + var RealName = App.User?.FindFirstValue(ClaimConst.RealName); + + var tenderOrder = _TenderOrderRep.AsQueryable().Where(x => x.Id == input.Id).First(); + if (tenderOrder == null) + { + throw Oops.Oh("璁㈠崟涓嶅瓨鍦紒"); + } + tenderOrder.Tousu = input.Zhiyi; + tenderOrder.UpdateTime = DateTime.Now; + tenderOrder.UpdateUserId = usertrueId; + tenderOrder.UpdateUserName = RealName; + await _TenderOrderRep.UpdateAsync(tenderOrder); + } + + + + /// <summary> + /// 閲囪喘浠g悊浜哄垹闄ら潪鏀垮簻璁㈠崟澶勭悊 鉂� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("閲囪喘浠g悊浜哄垹闄ら潪鏀垮簻璁㈠崟澶勭悊")] + [ApiDescriptionSettings(Name = "Delete"), HttpPost] + public async Task Delete(DeleteTenderOrderInput input) + { + //var entity = await _TenderOrderRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002); + var entity = await _sqlSugarClient.Queryable<TenderOrder>().Where(x=>x.Id== input.Id).FirstAsync() ?? throw Oops.Oh(ErrorCodeEnum.D1002); + //await _TenderOrderRep.FakeDeleteAsync(entity); //鍋囧垹闄� + await _TenderOrderRep.DeleteAsync(entity); //鐪熷垹闄� + } + + /// <summary> + /// 閲囪喘浠g悊浜烘壒閲忓垹闄ら潪鏀垮簻璁㈠崟澶勭悊 鉂� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("閲囪喘浠g悊浜烘壒閲忓垹闄ら潪鏀垮簻璁㈠崟澶勭悊")] + [ApiDescriptionSettings(Name = "BatchDelete"), HttpPost] + public async Task<bool > BatchDelete([Required(ErrorMessage = "涓婚敭鍒楄〃涓嶈兘涓虹┖")]List<DeleteTenderOrderInput> input) + { + var exp = Expressionable.Create<TenderOrder>(); + foreach (var row in input) exp = exp.Or(it => it.Id == row.Id); + var list = await _TenderOrderRep.AsQueryable().Where(exp.ToExpression()).ToListAsync(); + + // return await _TenderOrderRep.FakeDeleteAsync(list); //鍋囧垹闄� + return await _TenderOrderRep.DeleteAsync(list) ; //鐪熷垹闄� + } + + /// <summary> + /// 瀵煎嚭闈炴斂搴滆鍗曞鐞嗚褰� 馃敄 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("瀵煎嚭闈炴斂搴滆鍗曞鐞嗚褰�")] + [ApiDescriptionSettings(Name = "Export"), HttpPost, NonUnify] + public async Task<IActionResult> Export(PageTenderOrderInput input) + { + var list = (await Page(input)).Items?.Adapt<List<ExportTenderOrderOutput>>() ?? new(); + //if (input.SelectKeyList?.Count > 0) list = list.Where(x => input.SelectKeyList.Contains(x.Id)).ToList(); + return ExcelHelper.ExportTemplate(list, "闈炴斂搴滆鍗曞鐞嗗鍑鸿褰�"); + } + + /// <summary> + /// 涓嬭浇闈炴斂搴滆鍗曞鐞嗘暟鎹鍏ユā鏉� 猬囷笍 + /// </summary> + /// <returns></returns> + [DisplayName("涓嬭浇闈炴斂搴滆鍗曞鐞嗘暟鎹鍏ユā鏉�")] + [ApiDescriptionSettings(Name = "Import"), HttpGet, NonUnify] + public IActionResult DownloadTemplate() + { + return ExcelHelper.ExportTemplate(new List<ExportTenderOrderOutput>(), "闈炴斂搴滆鍗曞鐞嗗鍏ユā鏉�"); + } + + private static readonly object _TenderOrderImportLock = new object(); + /// <summary> + /// 瀵煎叆闈炴斂搴滆鍗曞鐞嗚褰� 馃捑 + /// </summary> + /// <returns></returns> + //[DisplayName("瀵煎叆闈炴斂搴滆鍗曞鐞嗚褰�")] + //[ApiDescriptionSettings(Name = "Import"), HttpPost, NonUnify, UnitOfWork] + //public IActionResult ImportData([Required] IFormFile file) + //{ + // lock (_TenderOrderImportLock) + // { + // var stream = ExcelHelper.ImportData<ImportTenderOrderInput, TenderOrder>(file, (list, markerErrorAction) => + // { + // _sqlSugarClient.Utilities.PageEach(list, 2048, pageItems => + // { + + // // 鏍¢獙骞惰繃婊ゅ繀濉熀鏈被鍨嬩负null鐨勫瓧娈� + // var rows = pageItems.Where(x => { + // return true; + // }).Adapt<List<TenderOrder>>(); + + // var storageable = _TenderOrderRep.Context.Storageable(rows) + // .SplitError(it => string.IsNullOrWhiteSpace(it.Item.ProjectCode), "椤圭洰缂栧彿涓嶈兘涓虹┖") + // .SplitError(it => it.Item.ProjectCode?.Length > 50, "椤圭洰缂栧彿闀垮害涓嶈兘瓒呰繃50涓瓧绗�") + // .SplitError(it => string.IsNullOrWhiteSpace(it.Item.ProjectName), "椤圭洰鍚嶇О涓嶈兘涓虹┖") + // .SplitError(it => it.Item.ProjectName?.Length > 200, "椤圭洰鍚嶇О闀垮害涓嶈兘瓒呰繃200涓瓧绗�") + // .SplitError(it => string.IsNullOrWhiteSpace(it.Item.Purchaser), "閲囪喘浜轰笉鑳戒负绌�") + // .SplitError(it => it.Item.Purchaser?.Length > 100, "閲囪喘浜洪暱搴︿笉鑳借秴杩�100涓瓧绗�") + // .SplitError(it => string.IsNullOrWhiteSpace(it.Item.ProcurementAgency), "閲囪喘浠g悊鏈烘瀯涓嶈兘涓虹┖") + // .SplitError(it => it.Item.ProcurementAgency?.Length > 100, "閲囪喘浠g悊鏈烘瀯闀垮害涓嶈兘瓒呰繃100涓瓧绗�") + // .SplitError(it => it.Item.Complainant?.Length > 100, "鎶曡瘔浜洪暱搴︿笉鑳借秴杩�100涓瓧绗�") + // .SplitError(it => it.Item.ProcurementSupervisionDepartment?.Length > 100, "閲囪喘鐩戠潱閮ㄩ棬闀垮害涓嶈兘瓒呰繃100涓瓧绗�") + // .SplitError(it => it.Item.Url?.Length > 255, "绾夸笂鍦板潃闀垮害涓嶈兘瓒呰繃255涓瓧绗�") + // .SplitInsert(_ => true) + // .ToStorage(); + + // storageable.AsInsertable.ExecuteCommand();// 涓嶅瓨鍦ㄦ彃鍏� + // storageable.AsUpdateable.ExecuteCommand();// 瀛樺湪鏇存柊 + + // // 鏍囪閿欒淇℃伅 + // markerErrorAction.Invoke(storageable, pageItems, rows); + // }); + // }); + + // return stream; + // } + //} + + + /// <summary> + /// 閲囪喘浠g悊浜哄彂甯冩嫑鏍� 鉁忥笍 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("閲囪喘浠g悊浜哄彂甯冩嫑鏍�")] + [ApiDescriptionSettings(Name = "Fabuzhaobiao"), HttpPost] + public async Task Fabuzhaobiao(FabuTenderOrderInput input) + { + var entity = input.Adapt<TenderOrder>(); + long userId = 0; + long? usertrueId = null; + if (long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId)) + { + usertrueId = userId; + } + var tenderOrder = _TenderOrderRep.AsQueryable().Where(x => x.Id == input.Id).First(); + if (tenderOrder == null) + { + throw Oops.Oh("璁㈠崟涓嶅瓨鍦紒"); + } + if (tenderOrder.OrderStatus != 1) + { + throw Oops.Oh("鍙湁澶勪簬淇濆瓨鐘舵�佺殑璁㈠崟鎵嶈兘鍙戝竷锛�"); + } + var RealName = App.User?.FindFirstValue(ClaimConst.RealName); + entity.UpdateTime = DateTime.Now; + entity.UpdateUserId = usertrueId; + entity.UpdateUserName = RealName; + entity.FabuDate = entity.UpdateTime; + entity.OrderStatus = 2; + await _sqlSugarClient.Updateable(entity).UpdateColumns(x => new { x.ToubiaoStartDate, x.ToubiaoEndDate, x.KaibiaoDate, x.FabuDate, x.Zhaobiaowenjian, x.Fujian, x.Kaibiaodidian, x.UpdateTime, x.UpdateUserId, x.UpdateUserName,x.OrderStatus }).ExecuteCommandAsync(); + //await _TenderOrderRep.UpdateAsync(entity); + } + + + + + /// <summary> + /// 閲囪喘浠g悊浜烘洿鏂伴潪鏀垮簻璁㈠崟鏍囬 鉁忥笍 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("閲囪喘浠g悊浜烘洿鏂伴潪鏀垮簻璁㈠崟鏍囬")] + [ApiDescriptionSettings(Name = "UpdateTittle"), HttpPost] + public async Task UpdateTittle(UpdateTittleByIdTenderOrderInput input) + { + + long userId = 0; + long? usertrueId = null; + if (long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId)) + { + usertrueId = userId; + } + var RealName = App.User?.FindFirstValue(ClaimConst.RealName); + + var tenderOrder = _TenderOrderRep.AsQueryable().Where(x => x.Id == input.Id).First(); + if (tenderOrder == null) + { + throw Oops.Oh("璁㈠崟涓嶅瓨鍦紒"); + } + tenderOrder.ProjectName = input.ProjectName.Trim(); + tenderOrder.UpdateTime = DateTime.Now; + tenderOrder.UpdateUserId = usertrueId; + tenderOrder.UpdateUserName = RealName; + await _TenderOrderRep.UpdateAsync(tenderOrder); + } + + + + /// <summary> + /// 閲囪喘浠g悊浜哄彂甯冨彉鏇村叕鍛� 鉁忥笍 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("閲囪喘浠g悊浜哄彂甯冨彉鏇村叕鍛�")] + [ApiDescriptionSettings(Name = "Changezhaobiao"), HttpPost] + public async Task Changezhaobiao(ChangeTenderOrderInput input) + { + var entity = input.Adapt<TenderOrder>(); + long userId = 0; + long? usertrueId = null; + if (long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId)) + { + usertrueId = userId; + } + var tenderOrder = _TenderOrderRep.AsQueryable().Where(x => x.Id == input.TenderId).First(); + if (tenderOrder == null) + { + throw Oops.Oh("璁㈠崟涓嶅瓨鍦紒"); + } + if (tenderOrder.OrderStatus != 2) + { + throw Oops.Oh("鍙湁澶勪簬鍙戝竷鐘舵�佺殑璁㈠崟鎵嶈兘鍙樻洿鍏憡锛�"); + } + var changeOrder = await _ChangeOrderRep.AsQueryable().Where(x => x.TenderId == input.TenderId).FirstAsync(); + if(changeOrder != null) + { + throw Oops.Oh("宸茬粡涓婁紶杩囧彉鏇村叕鍛婏紒"); + } + + changeOrder = new ChangeOrder(); + + var RealName = App.User?.FindFirstValue(ClaimConst.RealName); + changeOrder.Id = Guid.NewGuid(); + changeOrder.TenderId = input.TenderId; + changeOrder.ProjectName = input.ProjectName; + changeOrder.Biangengwenjian = input.Biangengwenjian; + changeOrder.CreateTime = DateTime.Now; + changeOrder.CreateUserId = usertrueId; + changeOrder.CreateUserName = RealName; + changeOrder.UpdateTime = DateTime.Now; + changeOrder.UpdateUserId = usertrueId; + changeOrder.UpdateUserName = RealName; + changeOrder.ToubiaoStartDate = input.ToubiaoStartDate; + changeOrder.ToubiaoEndDate = input.ToubiaoEndDate; + changeOrder.KaibiaoDate = input.KaibiaoDate; + changeOrder.Kaibiaodidian = input.Kaibiaodidian; + await _ChangeOrderRep.InsertAsync(changeOrder); + + entity.Id = input.TenderId; + entity.ToubiaoStartDate = input.ToubiaoStartDate; + entity.ToubiaoEndDate = input.ToubiaoEndDate; + entity.KaibiaoDate = input.KaibiaoDate; + entity.Kaibiaodidian = input.Kaibiaodidian; + entity.UpdateTime = DateTime.Now; + entity.UpdateUserId = usertrueId; + entity.UpdateUserName = RealName; + await _sqlSugarClient.Updateable(entity).UpdateColumns(x => new { x.ToubiaoStartDate, x.ToubiaoEndDate, x.KaibiaoDate , x.Kaibiaodidian, x.UpdateTime, x.UpdateUserId, x.UpdateUserName }).ExecuteCommandAsync(); + //await _TenderOrderRep.UpdateAsync(entity); + } + + + + + /// <summary> + /// 鑾峰彇鍙樻洿鍏憡璇︽儏 鈩癸笍 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("鑾峰彇鍙樻洿鍏憡璇︽儏")] + [ApiDescriptionSettings(Name = "ChangeDetail"), HttpGet] + public async Task<ChangeTenderOrderOut> ChangeDetail([FromQuery] QueryByIdTenderOrderInput input) + { + + + + + + + + //var tenderOrderOutput = await _TenderOrderRep.AsQueryable().Where(x => x.Id == input.Id).Select<TenderOrderOutput>().FirstAsync(); + + + var changeOrder = await _ChangeOrderRep.AsQueryable().Where(x => x.TenderId == input.Id).Select<ChangeTenderOrderOut>().FirstAsync(); + //changeOrder.ToubiaoStartDate = tenderOrderOutput.ToubiaoStartDate; + //changeOrder.ToubiaoEndDate = tenderOrderOutput.ToubiaoEndDate; + //changeOrder.KaibiaoDate = tenderOrderOutput.KaibiaoDate; + //changeOrder.Kaibiaodidian = tenderOrderOutput.Kaibiaodidian; + + + + return changeOrder; + } + + + + + /// <summary> + /// 閲囪喘浠g悊浜哄垹闄ゅ彉鏇村叕鍛� 鉂� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("閲囪喘浠g悊浜哄垹闄ゅ彉鏇村叕鍛�")] + [ApiDescriptionSettings(Name = "CHangeDelete"), HttpPost] + public async Task CHangeDelete(DeleteTenderOrderInput input) + { + //var entity = await _TenderOrderRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002); + var entity = await _sqlSugarClient.Queryable<ChangeOrder>().Where(x => x.Id == input.Id).FirstAsync() ?? throw Oops.Oh(ErrorCodeEnum.D1002); + //await _TenderOrderRep.FakeDeleteAsync(entity); //鍋囧垹闄� + await _ChangeOrderRep.DeleteAsync(entity); //鐪熷垹闄� + } + + + + /// <summary> + /// 浠g悊鍟嗗彂甯冧腑鏍囨枃浠� 鉃� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [DisplayName("浠g悊鍟嗗彂甯冧腑鏍囨枃浠�")] + [ApiDescriptionSettings(Name = "AddZhongbiao"), HttpPost] + public async Task<bool> AddZhongbiao(OrderZhongbiaoInput input) + { + + + long userId = 0; + long? usertrueId = null; + if (long.TryParse(App.User?.FindFirst(ClaimConst.UserId)?.Value, out userId)) + { + usertrueId = userId; + } + var RealName = App.User?.FindFirstValue(ClaimConst.RealName); + + + + var tenderOrder = await _TenderOrderRep.AsQueryable().Where(x => x.Id == input.TenderOrderId).FirstAsync(); + if (tenderOrder == null) + { + throw Oops.Oh("涓嶅瓨鍦ㄧ殑鎷涙爣锛�"); + } + if (tenderOrder.OrderStatus >=3 ) + { + throw Oops.Oh("宸茬粡涓爣鐨勯」鐩笉鑳藉啀娆′腑鏍囷紒"); + } + + + var tenderOrderBidding = await _TenderOrderBiddingRep.AsQueryable().Where(x => x.TenderId == input.TenderOrderId).Where(x => x.CreateUserId == input.SupplierUserId).FirstAsync(); + if (tenderOrderBidding == null) + { + throw Oops.Oh("涓嶅瓨鍦ㄧ殑鎶曟爣锛�"); + } + if (tenderOrderBidding.IsTransfer != true ) + { + throw Oops.Oh("娌℃湁鏀粯鎶ュ悕璐广�備笉鑳戒腑鏍囷紒"); + } + if (string.IsNullOrEmpty(tenderOrderBidding.Touboaowenjian) ) + { + throw Oops.Oh("娌℃湁鎶曟爣鏂囦欢銆備笉鑳戒腑鏍囷紒"); + } + + tenderOrder.ZhongbiaoId = input.SupplierUserId; + tenderOrder.ZhongbiaoName = input.SupplierUserName; + tenderOrder.Zhongbiaowenjian = input.Zhongbiaowenjian; + tenderOrder.ZhongbiaoDate = DateTime.Now; + tenderOrder.UpdateTime = DateTime.Now; + tenderOrder.UpdateUserId = usertrueId; + tenderOrder.UpdateUserName = RealName; + tenderOrder.OrderStatus = 3; + tenderOrder.ZhongbiaoTittle = input.ZhongbiaoTittle; + await _TenderOrderRep.UpdateAsync(tenderOrder); + + + tenderOrderBidding.IsSelected = true; + tenderOrderBidding.SelectedTime = tenderOrder.ZhongbiaoDate; + tenderOrderBidding.UpdateTime = DateTime.Now; + tenderOrderBidding.UpdateUserId = usertrueId; + tenderOrderBidding.UpdateUserName = RealName; + + + + + + return await _TenderOrderBiddingRep.UpdateAsync(tenderOrderBidding); + } + + +} -- Gitblit v1.9.1