From 32259dd7c936012325afba0e9120b7111726189d Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期一, 14 七月 2025 12:05:09 +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                                |    1 
 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                               |    5 
 Admin.NET/FZFCGDD.ORDER.Application/Service/TenderOrder/Dto/TenderOrderInput.cs         | 1155 ++++++++++++++
 Admin.NET/FZCZTB.NET.MD/TenderOrder.cs                                                  |  326 +++
 Admin.NET/FZFCGDD.ORDER.Application/Service/SuplierTendOrder/SuplierTendOrderService.cs |  392 ++++
 18 files changed, 4,912 insertions(+), 0 deletions(-)

diff --git a/Admin.NET/Admin.NET.Application/Configuration/Swagger.json b/Admin.NET/Admin.NET.Application/Configuration/Swagger.json
index cf54d66..4a90cee 100644
--- a/Admin.NET/Admin.NET.Application/Configuration/Swagger.json
+++ b/Admin.NET/Admin.NET.Application/Configuration/Swagger.json
@@ -24,6 +24,13 @@
         "Description": "闈炴斂搴滈噰璐氦鏄撳钩鍙�",
         "Version": "1.0.0",
         "Order": 10000
+      },
+      {
+        "Group": "FZFCGDD",
+        "Title": "闈炴斂搴滈噰璐鍗�",
+        "Description": "闈炴斂搴滈噰璐鍗�",
+        "Version": "1.0.0",
+        "Order": 10001
       }
     ],
     "DefaultGroupName": "Default", // 榛樿鍒嗙粍鍚�
diff --git a/Admin.NET/Admin.NET.Application/Const/ApplicationConst.cs b/Admin.NET/Admin.NET.Application/Const/ApplicationConst.cs
index 3121eab..bbc3140 100644
--- a/Admin.NET/Admin.NET.Application/Const/ApplicationConst.cs
+++ b/Admin.NET/Admin.NET.Application/Const/ApplicationConst.cs
@@ -15,4 +15,9 @@
     /// API鍒嗙粍鍚嶇О
     /// </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 c5397c8..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
@@ -63,6 +63,7 @@
   <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/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