From 3373a075081a707b094c6225759a776d18ee1e53 Mon Sep 17 00:00:00 2001
From: 移动系统liao <liaoxujun@qq.com>
Date: 星期三, 04 六月 2025 15:14:10 +0800
Subject: [PATCH] no message

---
 Admin.NET/FZCZTB.TSCL.Application/Service/ProcurementComplaint/Dto/ProcurementComplaintOutput.cs |    2 
 Admin.NET/FZCZTB.NET.MD/ProcurementComplaint.cs                                                  |   69 ++++++++++++++++
 Admin.NET/FZCZTB.NET.MD/FZCZTB.NET.MD.csproj                                                     |    1 
 Admin.NET/FZCZTB.TSCL.Application/FZCZTB.TSCL.Application.csproj                                 |    1 
 Admin.NET/Admin.NET.Application/Configuration/Swagger.json                                       |   13 ++
 Admin.NET/Admin.NET.Application/Const/ApplicationConst.cs                                        |    2 
 Admin.NET/FZCZTB.TSCL.Application/Service/ProcurementComplaint/Dto/ProcurementComplaintInput.cs  |   14 ++
 Admin.NET/FZCZTB.TSCL.Application/Service/ProcurementComplaint/ProcurementComplaintService.cs    |   97 ++++++++++++++----------
 8 files changed, 149 insertions(+), 50 deletions(-)

diff --git a/Admin.NET/Admin.NET.Application/Configuration/Swagger.json b/Admin.NET/Admin.NET.Application/Configuration/Swagger.json
index 6d636b7..cf54d66 100644
--- a/Admin.NET/Admin.NET.Application/Configuration/Swagger.json
+++ b/Admin.NET/Admin.NET.Application/Configuration/Swagger.json
@@ -6,17 +6,24 @@
     "GroupOpenApiInfos": [
       {
         "Group": "Default",
-        "Title": "Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�",
-        "Description": "璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��",
+        "Title": "绯荤粺",
+        "Description": "",
         "Version": "1.0.0",
         "Order": 1000
       },
       {
         "Group": "All Groups",
         "Title": "鎵�鏈夋帴鍙�",
-        "Description": "璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��",
+        "Description": "",
         "Version": "1.0.0",
         "Order": 0
+      },
+      {
+        "Group": "FZCCGPT",
+        "Title": "闈炴斂搴滈噰璐氦鏄撳钩鍙�",
+        "Description": "闈炴斂搴滈噰璐氦鏄撳钩鍙�",
+        "Version": "1.0.0",
+        "Order": 10000
       }
     ],
     "DefaultGroupName": "Default", // 榛樿鍒嗙粍鍚�
diff --git a/Admin.NET/Admin.NET.Application/Const/ApplicationConst.cs b/Admin.NET/Admin.NET.Application/Const/ApplicationConst.cs
index 70ee2b6..3121eab 100644
--- a/Admin.NET/Admin.NET.Application/Const/ApplicationConst.cs
+++ b/Admin.NET/Admin.NET.Application/Const/ApplicationConst.cs
@@ -14,5 +14,5 @@
     /// <summary>
     /// API鍒嗙粍鍚嶇О
     /// </summary>
-    public const string GroupName = "xxx涓氬姟搴旂敤";
+    public const string GroupName = "FZCCGPT";
 }
\ No newline at end of file
diff --git a/Admin.NET/FZCZTB.NET.MD/FZCZTB.NET.MD.csproj b/Admin.NET/FZCZTB.NET.MD/FZCZTB.NET.MD.csproj
index 6347951..9e7fdd3 100644
--- a/Admin.NET/FZCZTB.NET.MD/FZCZTB.NET.MD.csproj
+++ b/Admin.NET/FZCZTB.NET.MD/FZCZTB.NET.MD.csproj
@@ -4,6 +4,7 @@
     <TargetFramework>net8.0</TargetFramework>
     <ImplicitUsings>enable</ImplicitUsings>
     <Nullable>enable</Nullable>
+    <GenerateDocumentationFile>True</GenerateDocumentationFile>
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/Admin.NET/FZCZTB.NET.MD/ProcurementComplaint.cs b/Admin.NET/FZCZTB.NET.MD/ProcurementComplaint.cs
index 3d4d86e..c566b19 100644
--- a/Admin.NET/FZCZTB.NET.MD/ProcurementComplaint.cs
+++ b/Admin.NET/FZCZTB.NET.MD/ProcurementComplaint.cs
@@ -2,6 +2,7 @@
 using SqlSugar;
 using System;
 using System.Collections.Generic;
+using System.ComponentModel;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
@@ -12,7 +13,7 @@
     /// 鎶曡瘔璐ㄧ枒缁撴灉
     /// </summary>
     [SugarTable("FB_ProcurementComplaints")]
-    public  partial class ProcurementComplaint: EntityBase
+    public  partial class ProcurementComplaint: basemodelNoId
     {
         /// <summary>
         /// 鎶曡瘔ID锛屼富閿�
@@ -75,7 +76,7 @@
         /// <summary>
         /// 鎶曡瘔浜嬮」
         /// </summary>
-        [Navigate(NavigateType.OneToMany,nameof(ProcurementComplaintItems.ComplaintId))]
+        [Navigate(NavigateType.OneToMany,nameof(ProcurementComplaintItems.ComplaintId), nameof(ProcurementComplaint.Id))]
         public  List<ProcurementComplaintItems>? Complaints { get; set; }
     }
 
@@ -114,6 +115,12 @@
         /// </summary>
         [SugarColumn(Length = 1000,IsNullable = true, ColumnDescription = "澶勭悊缁撴灉")]
         public string? HandlingResult { get; set; }
+
+        /// <summary>
+        /// 鎺掑簭
+        /// </summary>
+        [SugarColumn( IsNullable = true, ColumnDescription = "澶勭悊缁撴灉")]
+        public int sort { get; set; } = 0;
     }
 
        public enum PComplaintStatus
@@ -121,26 +128,84 @@
         /// <summary>
         /// 鍏朵粬
         /// </summary>
+        [Description("鍏跺畠"), Theme("info")]
         Other = 0,
         /// <summary>
         /// 鎴愮珛
         /// </summary>
+        [Description("鎴愮珛")]
         Valid = 1,
 
         /// <summary>
         /// 椹冲洖
         /// </summary>
+        [Description("椹冲洖")]
         Rejected = 2,
 
         /// <summary>
         /// 閮ㄥ垎鎴愮珛
         /// </summary>
+        [Description("閮ㄥ垎鎴愮珛")]
         PartiallyValid = 3
 
      
     }
 
+    public class basemodelNoId
+    {
+        
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍒涘缓鏃堕棿", IsNullable = true, IsOnlyIgnoreUpdate = true)]
+        public virtual DateTime CreateTime { get; set; }
 
+        /// <summary>
+        /// 鏇存柊鏃堕棿
+        /// </summary>
+        [SugarColumn(ColumnDescription = "鏇存柊鏃堕棿")]
+        public virtual DateTime? UpdateTime { get; set; }
+
+        /// <summary>
+        /// 鍒涘缓鑰匢d
+        /// </summary>
+        [OwnerUser]
+        [SugarColumn(ColumnDescription = "鍒涘缓鑰匢d", IsOnlyIgnoreUpdate = true)]
+        public virtual long? CreateUserId { get; set; }
+
+        ///// <summary>
+        ///// 鍒涘缓鑰�
+        ///// </summary>
+        //[Newtonsoft.Json.JsonIgnore]
+        //[System.Text.Json.Serialization.JsonIgnore]
+        //[Navigate(NavigateType.OneToOne, nameof(CreateUserId))]
+        //public virtual SysUser CreateUser { get; set; }
+
+        /// <summary>
+        /// 鍒涘缓鑰呭鍚�
+        /// </summary>
+        [SugarColumn(ColumnDescription = "鍒涘缓鑰呭鍚�", Length = 64, IsOnlyIgnoreUpdate = true)]
+        public virtual string? CreateUserName { get; set; }
+
+        /// <summary>
+        /// 淇敼鑰匢d
+        /// </summary>
+        [SugarColumn(ColumnDescription = "淇敼鑰匢d")]
+        public virtual long? UpdateUserId { get; set; }
+
+        ///// <summary>
+        ///// 淇敼鑰�
+        ///// </summary>
+        //[Newtonsoft.Json.JsonIgnore]
+        //[System.Text.Json.Serialization.JsonIgnore]
+        //[Navigate(NavigateType.OneToOne, nameof(UpdateUserId))]
+        //public virtual SysUser UpdateUser { get; set; }
+
+        /// <summary>
+        /// 淇敼鑰呭鍚�
+        /// </summary>
+        [SugarColumn(ColumnDescription = "淇敼鑰呭鍚�", Length = 64)]
+        public virtual string? UpdateUserName { get; set; }
+    }
 
     }
 
diff --git a/Admin.NET/FZCZTB.TSCL.Application/FZCZTB.TSCL.Application.csproj b/Admin.NET/FZCZTB.TSCL.Application/FZCZTB.TSCL.Application.csproj
index 0d2279b..0b5a247 100644
--- a/Admin.NET/FZCZTB.TSCL.Application/FZCZTB.TSCL.Application.csproj
+++ b/Admin.NET/FZCZTB.TSCL.Application/FZCZTB.TSCL.Application.csproj
@@ -4,6 +4,7 @@
     <TargetFramework>net8.0</TargetFramework>
     <ImplicitUsings>enable</ImplicitUsings>
     <Nullable>enable</Nullable>
+    <GenerateDocumentationFile>True</GenerateDocumentationFile>
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/Admin.NET/FZCZTB.TSCL.Application/Service/ProcurementComplaint/Dto/ProcurementComplaintInput.cs b/Admin.NET/FZCZTB.TSCL.Application/Service/ProcurementComplaint/Dto/ProcurementComplaintInput.cs
index 547c953..750251b 100644
--- a/Admin.NET/FZCZTB.TSCL.Application/Service/ProcurementComplaint/Dto/ProcurementComplaintInput.cs
+++ b/Admin.NET/FZCZTB.TSCL.Application/Service/ProcurementComplaint/Dto/ProcurementComplaintInput.cs
@@ -113,11 +113,15 @@
     /// 绾夸笂鍦板潃
     /// </summary>
     public string? Url { get; set; }
-    
+    /// <summary>
+    /// 澶勭悊浜嬮」
+    /// </summary>
+    public List<ProcurementComplaintItems>? Complaints { get; set; }
+
     /// <summary>
     /// 閫変腑涓婚敭鍒楄〃
     /// </summary>
-     public List<Guid> SelectKeyList { get; set; }
+    public List<Guid> SelectKeyList { get; set; }
 }
 
 /// <summary>
@@ -258,7 +262,11 @@
     /// </summary>    
     [MaxLength(255, ErrorMessage = "绾夸笂鍦板潃瀛楃闀垮害涓嶈兘瓒呰繃255")]
     public string? Url { get; set; }
-    
+    /// <summary>
+    /// 浜嬮」
+    /// </summary>
+    public List<ProcurementComplaintItems>? Complaints { get; set; }
+
 }
 
 /// <summary>
diff --git a/Admin.NET/FZCZTB.TSCL.Application/Service/ProcurementComplaint/Dto/ProcurementComplaintOutput.cs b/Admin.NET/FZCZTB.TSCL.Application/Service/ProcurementComplaint/Dto/ProcurementComplaintOutput.cs
index 86a7e3f..956dbe8 100644
--- a/Admin.NET/FZCZTB.TSCL.Application/Service/ProcurementComplaint/Dto/ProcurementComplaintOutput.cs
+++ b/Admin.NET/FZCZTB.TSCL.Application/Service/ProcurementComplaint/Dto/ProcurementComplaintOutput.cs
@@ -85,6 +85,8 @@
     /// 淇敼鑰呭鍚�
     /// </summary>
     public string? UpdateUserName { get; set; }    
+
+    
     
 }
 
diff --git a/Admin.NET/FZCZTB.TSCL.Application/Service/ProcurementComplaint/ProcurementComplaintService.cs b/Admin.NET/FZCZTB.TSCL.Application/Service/ProcurementComplaint/ProcurementComplaintService.cs
index ba9bcc3..a9dec84 100644
--- a/Admin.NET/FZCZTB.TSCL.Application/Service/ProcurementComplaint/ProcurementComplaintService.cs
+++ b/Admin.NET/FZCZTB.TSCL.Application/Service/ProcurementComplaint/ProcurementComplaintService.cs
@@ -50,8 +50,8 @@
     public async Task<SqlSugarPagedList<ProcurementComplaintOutput>> Page(PageProcurementComplaintInput input)
     {
         input.Keyword = input.Keyword?.Trim();
-        var query = _procurementComplaintRep.AsQueryable()
-            .WhereIF(!string.IsNullOrWhiteSpace(input.Keyword), u => u.ProjectCode.Contains(input.Keyword) || u.ProjectName.Contains(input.Keyword) || u.Purchaser.Contains(input.Keyword) || u.ProcurementAgency.Contains(input.Keyword) || u.Complainant.Contains(input.Keyword) || u.ProcurementSupervisionDepartment.Contains(input.Keyword) || u.Url.Contains(input.Keyword))
+        var query = _procurementComplaintRep.AsQueryable().Includes(x=>x.Complaints)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Keyword), u => u.Complaints.Any(uu=>uu.ItemDescription.Contains(input.Keyword)))
             .WhereIF(!string.IsNullOrWhiteSpace(input.ProjectCode), u => u.ProjectCode.Contains(input.ProjectCode.Trim()))
             .WhereIF(!string.IsNullOrWhiteSpace(input.ProjectName), u => u.ProjectName.Contains(input.ProjectName.Trim()))
             .WhereIF(!string.IsNullOrWhiteSpace(input.Purchaser), u => u.Purchaser.Contains(input.Purchaser.Trim()))
@@ -73,7 +73,8 @@
     [ApiDescriptionSettings(Name = "Detail"), HttpGet]
     public async Task<ProcurementComplaint> Detail([FromQuery] QueryByIdProcurementComplaintInput input)
     {
-        return await _procurementComplaintRep.GetFirstAsync(u => u.Id == input.Id);
+     
+        return await _procurementComplaintRep.AsQueryable().Where(x=>x.Id==input.Id).Includes(x=>x.Complaints.OrderBy(xx=>xx.sort).ToList()).FirstAsync();
     }
 
     /// <summary>
@@ -87,6 +88,13 @@
     {
         var entity = input.Adapt<ProcurementComplaint>();
         entity.Id = Guid.NewGuid();
+        int index = 0;
+        if (entity.Complaints != null)
+            foreach (var item in entity.Complaints)
+        {
+            item.Id = Guid.NewGuid();
+                item.sort = index++;
+            }
 
         return await _sqlSugarClient.InsertNav(entity).Include(x=>x.Complaints).ExecuteCommandAsync();
     }
@@ -101,7 +109,14 @@
     public async Task Update(UpdateProcurementComplaintInput input)
     {
         var entity = input.Adapt<ProcurementComplaint>();
-        await _procurementComplaintRep.AsUpdateable(entity)
+        int index = 0;
+        if(entity.Complaints!=null)
+        foreach (var item in entity.Complaints)
+        {
+            item.Id = Guid.NewGuid();
+            item.sort=    index++;
+        }
+        await _procurementComplaintRep.AsSugarClient().UpdateNav(entity).Include(x=>x.Complaints)
         .ExecuteCommandAsync();
     }
 
@@ -167,46 +182,46 @@
     /// 瀵煎叆鏀垮簻閲囪喘鎶曡瘔鏁版嵁澶勭悊璁板綍 馃捑
     /// </summary>
     /// <returns></returns>
-    [DisplayName("瀵煎叆鏀垮簻閲囪喘鎶曡瘔鏁版嵁澶勭悊璁板綍")]
-    [ApiDescriptionSettings(Name = "Import"), HttpPost, NonUnify, UnitOfWork]
-    public IActionResult ImportData([Required] IFormFile file)
-    {
-        lock (_procurementComplaintImportLock)
-        {
-            var stream = ExcelHelper.ImportData<ImportProcurementComplaintInput, ProcurementComplaint>(file, (list, markerErrorAction) =>
-            {
-                _sqlSugarClient.Utilities.PageEach(list, 2048, pageItems =>
-                {
+    //[DisplayName("瀵煎叆鏀垮簻閲囪喘鎶曡瘔鏁版嵁澶勭悊璁板綍")]
+    //[ApiDescriptionSettings(Name = "Import"), HttpPost, NonUnify, UnitOfWork]
+    //public IActionResult ImportData([Required] IFormFile file)
+    //{
+    //    lock (_procurementComplaintImportLock)
+    //    {
+    //        var stream = ExcelHelper.ImportData<ImportProcurementComplaintInput, ProcurementComplaint>(file, (list, markerErrorAction) =>
+    //        {
+    //            _sqlSugarClient.Utilities.PageEach(list, 2048, pageItems =>
+    //            {
                     
-                    // 鏍¢獙骞惰繃婊ゅ繀濉熀鏈被鍨嬩负null鐨勫瓧娈�
-                    var rows = pageItems.Where(x => {
-                        return true;
-                    }).Adapt<List<ProcurementComplaint>>();
+    //                // 鏍¢獙骞惰繃婊ゅ繀濉熀鏈被鍨嬩负null鐨勫瓧娈�
+    //                var rows = pageItems.Where(x => {
+    //                    return true;
+    //                }).Adapt<List<ProcurementComplaint>>();
                     
-                    var storageable = _procurementComplaintRep.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();
+    //                var storageable = _procurementComplaintRep.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();// 瀛樺湪鏇存柊
+    //                storageable.AsInsertable.ExecuteCommand();// 涓嶅瓨鍦ㄦ彃鍏�
+    //                storageable.AsUpdateable.ExecuteCommand();// 瀛樺湪鏇存柊
                     
-                    // 鏍囪閿欒淇℃伅
-                    markerErrorAction.Invoke(storageable, pageItems, rows);
-                });
-            });
+    //                // 鏍囪閿欒淇℃伅
+    //                markerErrorAction.Invoke(storageable, pageItems, rows);
+    //            });
+    //        });
             
-            return stream;
-        }
-    }
+    //        return stream;
+    //    }
+    //}
 }

--
Gitblit v1.9.1