From ca12247dbc0728c7900db4188565d4c4f7d907c4 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期二, 29 八月 2023 09:25:54 +0800
Subject: [PATCH] Merge branch 'master' of http://47.108.235.38:8080/r/DocumentService

---
 DocumentServiceAPI.Model/cyDocumentModel/Doc_Info.cs                              |   90 -
 ZcPayCore/Model/OderInfo.cs                                                       |   55 
 DocumentServiceAPI.Application/DocManage/Dtos/Classification_Submit_Dto.cs        |    1 
 DocumentServiceAPI.Application/DocManage/Services/DocumentManageService.cs        |    6 
 DocumentServiceAPI.Web.Entry/DocumentServiceAPI.Web.Entry.csproj.user             |    2 
 .gitignore                                                                        |    3 
 DocumentServiceAPI.Web.Entry/Properties/PublishProfiles/FolderProfile.pubxml.user |    2 
 DocumentServiceAPI.Application/DocManage/Dtos/Document_List_Dto.cs                |   57 
 DocumentServiceAPI.Model/UserInfoModel/TenantInfo.cs                              |    7 
 DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs              |  395 ++++-
 DocumentServiceAPI.Application/DocManage/Dtos/Document_Lock_Dto.cs                |   48 
 DocumentServiceApi.InitQMessage/INITQMessageDefine.cs                             |   24 
 DocumentServiceAPI.Application/DocManage/Dtos/Project_List_Dto.cs                 |   34 
 DocumentServiceAPI.Application/applicationsettings.json                           |   15 
 DocumentServiceAPI.Model/cyDocumentModel/Doc_File_Info.cs                         |   97 +
 DocumentServiceAPI.Application/UserAndLogin/Services/TokenService.cs              |   66 
 DocumentServiceAPI.Model/Permissions/TenantPermissions.cs                         |   46 
 DocumentServiceApi.InitQMessage/MessageReceive.cs                                 |  181 ++
 资料管理.sql                                                                          |  108 +
 DocumentServiceAPI.Web.Entry/AuthorizeHandler.cs                                  |    4 
 DocumentServiceAPI.Application/DocManage/DocClassificationManageAppService.cs     |   11 
 DocumentServiceAPI.Application/DocManage/Dtos/FileInfo_List_Dto.cs                |   42 
 DocumentServiceAPI.Application/UserAndLogin/ViewMode/UserInfo.cs                  |    6 
 DocumentServiceAPI.Web.Entry/appsettings.json                                     |    5 
 DocumentServiceAPI.Application/UserAndLogin/LogInController.cs                    |  271 ++-
 ZcPayCore/ZcPayCore.csproj                                                        |   20 
 DocumentServiceAPI.Application/DocManage/Services/ProjectManageService.cs         |   12 
 DocumentServiceAPI.sln                                                            |   12 
 /dev/null                                                                         | 1863 ----------------------------
 DocumentServiceAPI.Application/DocManage/Services/DocAchievementService.cs        |    9 
 DocumentServiceApi.InitQMessage/DocumentServiceApi.InitQMessage.csproj            |   18 
 DocumentServiceAPI.Model/Oder/Oder.cs                                             |   50 
 DocumentServiceAPI.Application/DocManage/Dtos/Achievement_Submit_Dto.cs           |   81 +
 DocumentServiceAPI.Model/cyDocumentModel/Doc_Achievement.cs                       |   80 +
 DocumentServiceApi.InitQMessage/TenantOderInfo.cs                                 |   60 
 DocumentServiceAPI.Utility/PageBaseSearch.cs                                      |    8 
 DocumentServiceApi.InitQMessage/INITQSetups.cs                                    |   48 
 DocumentServiceAPI.Web.Entry/Properties/launchSettings.json                       |    4 
 38 files changed, 1,667 insertions(+), 2,174 deletions(-)

diff --git a/.gitignore b/.gitignore
index 34fae7d..de1d1ce 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,3 +29,6 @@
 /DocumentFile.Service/obj
 /DocumentServiceAPI.Services/bin
 /DocumentServiceAPI.Services/obj
+ZcPayCore/obj/
+DocumentServiceApi.InitQMessage/obj/
+DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml
diff --git a/DocumentServiceAPI.Application/DocManage/DocClassificationManageAppService.cs b/DocumentServiceAPI.Application/DocManage/DocClassificationManageAppService.cs
index de9221f..447649c 100644
--- a/DocumentServiceAPI.Application/DocManage/DocClassificationManageAppService.cs
+++ b/DocumentServiceAPI.Application/DocManage/DocClassificationManageAppService.cs
@@ -38,15 +38,15 @@
             PageModel pg = new PageModel();
             pg.PageSize = page.PageSize;
             pg.PageIndex = page.PageIndex;
-
+            
             PageResult<Doc_Classification> result = new PageResult<Doc_Classification>();
             if (page.Status.HasValue)
             {
-                result.Items = await _classificationService.GetPageListAsync(c => c.status ==page.Status && c.parent_code == page.Code, pg);
+                result.Items = await _classificationService.GetPageListAsync(c => c.status ==page.Status && c.parent_code == page.Code,pg,c=>c.sort_id,OrderByType.Asc);
             }
             else
             {
-                result.Items = await _classificationService.GetPageListAsync(c => c.parent_code == page.Code, pg);
+                result.Items = await _classificationService.GetPageListAsync(c => c.parent_code == page.Code, pg, c => c.sort_id, OrderByType.Asc);
             }
             result.TotalCount = pg.TotalCount;
             result.PageIndex = pg.PageIndex;
@@ -62,7 +62,7 @@
         public async Task<IActionResult> PostItemList(DocClassificationSearch page)
         {
             var data = await _classificationService.GetListAsync(c => c.status == 1 && c.parent_code == page.Code);
-            return new JsonResult(data);
+            return new JsonResult(data.OrderBy(c=>c.sort_id).ToList());
         }
 
         /// <summary>
@@ -78,7 +78,7 @@
             doc.doc_classification_code = "";
             doc.is_system = false;
             doc.parent_code = info.code;
-            doc.sort_id = 99;
+            doc.sort_id = info.sort;
             doc.status = info.status;
             doc.tenant_code = info.tenant_id;
             
@@ -100,6 +100,7 @@
                 model.add_time = DateTime.Now;
                 model.doc_classification = info.name;
                 model.status = info.status;
+                model.sort_id = info.sort;
 
                 msg = await _classificationService.UpdateAsync(model);
             }
diff --git a/DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs b/DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs
index fd87b88..7a19cf5 100644
--- a/DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs
+++ b/DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs
@@ -1,8 +1,12 @@
 锘縰sing DocumentServiceAPI.Application.DocManage.Dtos;
 using DocumentServiceAPI.Application.DocManage.Services;
+using DocumentServiceAPI.Application.ProjectInfo.Services;
 using DocumentServiceAPI.Application.System.Services;
 using DocumentServiceAPI.Model.cyDocumentModel;
+using DocumentServiceAPI.Services.IService;
 using DocumentServiceAPI.Utility;
+using Microsoft.AspNetCore.Mvc.RazorPages;
+using Microsoft.Extensions.Caching.Memory;
 using System.Linq.Expressions;
 
 namespace DocumentServiceAPI.Application.DocManage
@@ -16,15 +20,89 @@
         private readonly DocumentManageService _docManageService;
         private readonly OrganizationService _organizationService;
         private readonly FileManageService _fileManageService;
+        private readonly ProjectManageService _projectService;
+        private readonly DocAchievementService _achievementService;
+        private readonly IRedisCacheService _redisCache;
 
-
-
-        public DocumentManageAppService(DocClassificationService classService, DocumentManageService docService, OrganizationService orgService,FileManageService fileManageService)
+        public DocumentManageAppService(DocClassificationService classService, DocumentManageService docService, OrganizationService orgService,
+            FileManageService fileManageService, ProjectManageService projectService, DocAchievementService achievementService, IRedisCacheService redisCase)
         {
             _classificationService = classService;
             _docManageService = docService;
             _organizationService = orgService;
             _fileManageService = fileManageService;
+            _projectService = projectService;
+            _achievementService = achievementService;
+
+            _redisCache = redisCase;
+        }
+
+        /// <summary>
+        /// 缂栬緫鏂囨。鏃惰缃枃妗i攣瀹氱姸鎬�
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns>
+        ///  true:璁剧疆閿佸畾鎴愬姛
+        ///  false:閿佸畾澶辫触锛屾枃妗e凡琚攣瀹�
+        /// </returns>
+        public bool SetDocLockStatus(DocLock_Submit_Dto model)
+        {
+            bool msg = true;
+            string key = model.tenant_id.ToString().PadLeft(4,'0') + "_" + model.id.ToString().PadLeft(8,'0');
+            if (_redisCache.Get<Document_Lock_Dto>(key) != null)
+            {
+                msg = false;
+            }
+            else
+            {
+                Document_Lock_Dto lk = new Document_Lock_Dto();
+                lk.doc_id = model.id;
+                lk.lock_time = DateTime.Now;
+                lk.lock_user = model.username;
+                lk.lock_user_id = model.userid;
+                lk.status = 0;
+                lk.tenant_id = model.tenant_id;
+                
+                var db= _redisCache.Add<Document_Lock_Dto>(key,lk ,-1);
+            }
+            return msg;
+        }
+
+        /// <summary>
+        /// 鏌ヨ椤圭洰淇℃伅
+        /// </summary>
+        /// <param name="search"></param>
+        /// <returns></returns>
+        public async Task<IActionResult> PostProjectItemList(ProjectItemSearch search)
+        {
+            var data = await _projectService.GetListAsync();//.GetListAsync(c => c.TenantID == search.tenant_id);
+            if (data != null)
+            {
+                var list = data.Select(c => new ProjectItem_List_Dto()
+                {
+                     pro_id=c.ProjectId,
+                      pro_name=c.ProjectName
+                }).OrderBy(c => c.pro_name).ToList();
+                return new JsonResult(list);
+            }
+
+            return null;
+        }
+
+        /// <summary>
+        /// 鏍规嵁鏂囨。绫诲瀷鏌ヨ鏂囨。鍒楄〃
+        /// </summary>
+        /// <param name="search"></param>
+        /// <returns></returns>
+        public async Task<IActionResult> PostDocumentItemList(DocumentSearch search)
+        {
+            var data = await _docManageService.GetListAsync(c => c.is_del == false && c.doc_code == search.Code && c.tenant_code == search.TenantID);
+            if (search.class_id > 0)
+            {
+                data = data.Where(c => c.classification_id == search.class_id).ToList();
+            }
+
+            return new JsonResult(data.Select(c => new { name= c.doc_name, c.id }).ToList());
         }
 
         /// <summary>
@@ -35,7 +113,22 @@
         public async Task<bool> CheckNameDuplicate(Document_Submit_Dto model)
         {
             var msg = false;
-            var ck =await _docManageService.GetFirstAsync(c=>c.doc_name==model.name && c.doc_code==model.code && c.classification_id==model.class_id && c.id!=model.id);
+            Expression<Func<Doc_Info, bool>> expression = t => true;
+            expression = expression.And(c => c.tenant_code == model.tenant_id && c.doc_name == model.name && c.doc_code == model.code );
+            if (model.class_id.HasValue && model.class_id!=0)
+            {
+                expression = expression.And(t => t.classification_id == model.class_id);
+            }
+            if (model.project_id.HasValue && model.project_id != 0)
+            {
+                expression = expression.And(t => t.project_id == model.project_id);
+            }
+
+            if (model.id > 0)
+            {
+                expression = expression.And(t => t.id != model.id);
+            }
+            var ck =await _docManageService.GetFirstAsync(expression);
             if (ck != null)
             {
                 msg = true;
@@ -56,7 +149,7 @@
             {
                 Expression<Func<Doc_Info, bool>> expression = t => true;
 
-                expression = expression.And(t => t.doc_code == page.Code && t.is_del==false);
+                expression = expression.And(t =>t.tenant_code==page.TenantID && t.doc_code == page.Code && t.is_del==false);
                 if (page.ClassCode.HasValue)
                 {
                     expression = expression.And(t => t.classification_id == page.ClassCode);
@@ -77,7 +170,9 @@
                 var data = await _docManageService.Context.Queryable<Doc_Info>()
                         .Includes(c => c.DocClassification)
                         .Includes(c=>c.DocOrganization)
+                        .Includes(c=>c.DocProject)
                         .Where(expression)
+                        .OrderByDescending(c=>c.id)
                         .ToPageListAsync(page.PageIndex, page.PageSize, total);
 
                 if (data != null && total > 0)
@@ -90,9 +185,9 @@
                         doc_name = c.doc_name,
                         id = c.id,
                         org_id = c.org_id,
-                        org_name = c.DocOrganization.UnitName,
+                        org_name = c.DocOrganization?.UnitName,
                         project_id = c.project_id,
-                        project_name = "",
+                        project_name = c.DocProject?.ProjectName,                        
                         status = c.status
                     }).ToList();
 
@@ -107,6 +202,24 @@
             }
             
             return new JsonResult(result);
+        }
+
+        /// <summary>
+        /// 鏍规嵁鏂囨。鍙锋煡璇�
+        /// </summary>
+        /// <param name="search"></param>
+        /// <returns></returns>
+        public async Task<IActionResult> PostDocumentInfo(DocumentSearch search)
+        {
+            var data = await _docManageService.GetFirstAsync(c => c.is_del == false && c.id == search.ID && c.tenant_code==search.TenantID);
+            if (data != null)
+            {
+                var list = await _fileManageService.GetListAsync(c =>c.status==1 && c.doc_id == search.ID);
+                Document_Info_Dto info = new Document_Info_Dto(data, list.Select(c => new FileInfo_List_Dto(c)).OrderBy(c => c.sort).ToList());
+                return new JsonResult(info);
+            }
+
+            return null;
         }
 
         /// <summary>
@@ -131,9 +244,9 @@
             var id =await _docManageService.InsertReturnIdentityAsync(doc);
             if (id > 0)
             {
-                if(info.files!=null&& info.files.Count > 0)
+                if(info.newfiles!=null&& info.newfiles.Count > 0)
                 {
-                    foreach (var item in info.files)
+                    foreach (var item in info.newfiles)
                     {
                         File_Info file = new File_Info();
                         file.doc_id = id;                        
@@ -148,6 +261,7 @@
                         file.uptime = DateTime.Now;
                         file.up_userid = item.up_userid;
                         file.up_username = item.up_username;
+                        file.sort = item.sort;
                         await _fileManageService.InsertAsync(file);
                     }
                 }
@@ -156,45 +270,90 @@
             return msg;
         }
 
-
-
-
-
-        /// <summary>
-        /// 鏍规嵁绫诲瀷鏌ヨ鏁版嵁
-        /// </summary>
-        /// <param name="page"></param>
-        /// <returns></returns>
-        public async Task<IActionResult> PostItemList(DocClassificationSearch page)
-        {
-            var data = await _classificationService.GetListAsync(c => c.status == 1 && c.parent_code == page.Code);
-            return new JsonResult(data);
-        }
-
-
         /// <summary>
         /// 淇敼鏁版嵁
         /// </summary>
         /// <param name="info"></param>
         /// <returns></returns>
-        public async Task<IActionResult> PostEdtInfo(Classification_Submit_Dto info)
+        public async Task<bool> PostEdtDocumentInfo(Document_Submit_Dto info)
         {
-            var msg = false;
-            var model = await _classificationService.GetByIdAsync(info.id);
-            if (model != null)
-            {
-                model.add_time = DateTime.Now;
-                model.doc_classification = info.name;
-                model.status = info.status;
+            bool msg = false;
 
-                msg = await _classificationService.UpdateAsync(model);
+            var doc= _docManageService.GetById(info.id);
+            if (info.tenant_id == doc.tenant_code && doc.is_del==false)
+            {
+                doc.add_time = DateTime.Now;
+                doc.classification_id = info.class_id;                
+                doc.doc_name = info.name;
+                doc.org_id = info.org_id;
+                doc.status = info.status;
+
+                if (await _docManageService.UpdateAsync(doc))
+                {
+                    //鏂版彁浜ょ殑鏂囦欢
+                    if (info.newfiles != null && info.newfiles.Count > 0)
+                    {
+                        foreach (var item in info.newfiles)
+                        {
+                            File_Info file = new File_Info();
+                            file.doc_id = doc.id;
+                            file.filenewname = item.filenewname.Length > 40 ? item.filenewname.Substring(item.filenewname.Length - 40) : item.filenewname;
+                            file.fileoldname = item.fileoldname.Length > 40 ? item.fileoldname.Substring(item.fileoldname.Length - 40) : item.fileoldname;
+                            file.filepath = item.filepath;
+                            file.fileservername = item.fileservername;
+                            file.filesize = item.filesize;
+                            file.filetype = item.filetype;
+                            file.status = 1;
+                            file.suffix = item.suffix;
+                            file.uptime = DateTime.Now;
+                            file.up_userid = item.up_userid;
+                            file.up_username = item.up_username;
+                            file.sort = item.sort;
+                            await _fileManageService.InsertAsync(file);
+                        }
+                    }
+
+                    //淇敼璧勬簮鍚嶇О鐨勬枃浠�
+                    if (info.editfiles != null && info.editfiles.Count > 0)
+                    {
+                        foreach (var item in info.editfiles)
+                        {
+                            var file= _fileManageService.GetById(item.id);
+                            if (file != null && file.doc_id==doc.id)
+                            {
+                                file.fileoldname = file.filenewname;
+                                file.filenewname = item.filenewname.Length > 40 ? item.filenewname.Substring(item.filenewname.Length - 40) : item.filenewname;                                
+                                file.uptime = DateTime.Now;
+                                file.sort = item.sort;
+                                await _fileManageService.UpdateAsync(file);
+                            }                            
+                        }
+                    }
+
+                    //鍒犻櫎璧勬簮
+                    if (info.delfiles != null && info.delfiles.Count > 0)
+                    {
+                        foreach (var item in info.delfiles)
+                        {
+                            var file = _fileManageService.GetById(item);
+                            if (file != null && file.doc_id == doc.id)
+                            {
+                                file.status = 0;
+                                file.uptime = DateTime.Now;
+                                await _fileManageService.UpdateAsync(file);
+                            }                            
+                        }
+                    }
+
+                    msg = true;
+                }
             }
             
-            return new JsonResult(msg);
+            return msg;
         }
 
         /// <summary>
-        /// 鍒犻櫎鏁版嵁
+        /// 鍒犻櫎鏂囨。鏁版嵁
         /// </summary>
         /// <param name="doc"></param>
         /// <returns></returns>
@@ -214,69 +373,131 @@
             return new JsonResult(msg);
         }
 
+        #region 鏂囨。鐨勬枃浠�
 
+        /// <summary>
+        /// 鏍规嵁鏂囨。鍙锋煡璇㈡枃浠舵暟鎹�
+        /// </summary>
+        /// <param name="id"></param>
+        /// <returns></returns>
+        public async Task<IActionResult> GetDocumentFilesList(int id)
+        {
+            var data = await _fileManageService.GetListAsync(c => c.status == 1 && c.doc_id == id);
+            var list = data.Select(c => new FileInfo_List_Dto(c)).OrderBy(c => c.sort).ToList();
+
+            return new JsonResult(list);
+        }
+
+        #endregion
+
+        #region 涓氱哗绠$悊
+
+        /// <summary>
+        /// 鏍规嵁鍒嗛〉鏉′欢鏌ヨ鍒嗛〉鏁版嵁
+        /// </summary>
+        /// <param name="page"></param>
+        /// <returns></returns>
+        public async Task<IActionResult> PostAchievementListPage(DocumentPageSearch page)
+        {
+            PageResult<Achievement_List_Dto> result = new PageResult<Achievement_List_Dto>();
+
+            try
+            {
+                Expression<Func<Doc_Achievement, bool>> expression = t => true;
+
+                expression = expression.And(t => t.tenant_code == page.TenantID && t.status == 1);
+                if (page.ClassCode.HasValue)
+                {
+                    expression = expression.And(t => t.classification_id == page.ClassCode);
+                }
+                if (!string.IsNullOrEmpty(page.Name))
+                {
+                    expression = expression.And(t => t.achievement_name.Contains(page.Name));
+                }
+                
+                RefAsync<int> total = 0;
+                var data = await _achievementService.Context.Queryable<Doc_Achievement>()
+                        .Includes(c => c.DocClassification)
+                        .Includes(c => c.DocProject)
+                        .Where(expression)
+                        .OrderByDescending(c => c.id)
+                        .ToPageListAsync(page.PageIndex, page.PageSize, total);
+
+                if (data != null && total > 0)
+                {
+                    result.Items = data.Select(c => new Achievement_List_Dto()
+                    {
+                        add_time = c.add_time,
+                        class_id=c.classification_id,
+                        class_name = c.DocClassification?.doc_classification,
+                        id = c.id,
+                        project_id = c.project_id,
+                        project_name = c.DocProject?.ProjectName,
+                         fkpz=c.fkpz_url,
+                          hjzs=c.hjzs_url,
+                           ht=c.ht_url,
+                            yhpj=c.yhpj_url,
+                             ysbg=c.ysbg_url,
+                              zbtzs=c.zbtzs_url,
+                        status = c.status
+                    }).ToList();
+
+                }
+                result.PageIndex = page.PageIndex;
+                result.PageSize = page.PageSize;
+                result.TotalCount = total;
+            }
+            catch (Exception er)
+            {
+                Log.Error(er.Message, er);
+            }
+
+            return new JsonResult(result);
+        }
+
+        /// <summary>
+        /// 妫�鏌ラ噸澶�
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        public async Task<bool> CheckDocAchievementDuplicate(Document_Submit_Dto model)
+        {
+            var msg = false;
+            var ck = await _achievementService.GetFirstAsync(c=>c.status==1 && c.tenant_code==model.tenant_id 
+            && c.project_id==model.project_id && c.classification_id==c.classification_id);
+            if (ck != null)
+            {
+                msg = true;
+            }
+            return msg;
+        }
 
         /// <summary>
         /// 娣诲姞鏁版嵁
         /// </summary>
         /// <param name="info"></param>
         /// <returns></returns>
-        public async Task<IActionResult> PostAddFilesInfo(Classification_Submit_Dto info)
+        public async Task<bool> PostAddDocAchievement(Achievement_Submit_Dto info)
         {
-            Doc_Classification doc = new Doc_Classification();
+            Doc_Achievement doc = new Doc_Achievement();
             doc.add_time = DateTime.Now;
-            doc.doc_classification = info.name;
-            doc.doc_classification_code = "";
-            doc.is_system = false;
-            doc.parent_code = info.code;
-            doc.sort_id = 99;
-            doc.status = info.status;
+            doc.classification_id = info.class_id;
+            doc.project_id = info.project_id;
+            doc.achievement_name = info.name;
+
+            doc.fkpz_url = info.fkpz;
+            doc.hjzs_url = info.hjzs;
+            doc.ht_url = info.ht;            
+            doc.yhpj_url = info.yhpj;
+            doc.ysbg_url = info.ysbg;
+            doc.zbtzs_url = info.zbtzs;
+
+            doc.status = 1;
             doc.tenant_code = info.tenant_id;
 
-            var msg = await _classificationService.InsertAsync(doc);
-            return new JsonResult(msg);
+            return await _achievementService.InsertAsync(doc);
         }
 
-        /// <summary>
-        /// 淇敼鏁版嵁
-        /// </summary>
-        /// <param name="info"></param>
-        /// <returns></returns>
-        public async Task<IActionResult> PostEdtFileInfo(Classification_Submit_Dto info)
-        {
-            var msg = false;
-            var model = await _classificationService.GetByIdAsync(info.id);
-            if (model != null)
-            {
-                model.add_time = DateTime.Now;
-                model.doc_classification = info.name;
-                model.status = info.status;
-
-                msg = await _classificationService.UpdateAsync(model);
-            }
-
-            return new JsonResult(msg);
-        }
-
-        /// <summary>
-        /// 鍒犻櫎鏁版嵁
-        /// </summary>
-        /// <param name="doc"></param>
-        /// <returns></returns>
-        public async Task<IActionResult> PostDelFileInfo(Document_Submit_Dto doc)
-        {
-            bool msg = false;
-            //鍋囧垹闄�
-            var model = await _docManageService.GetByIdAsync(doc.id);
-            if (model != null)
-            {
-                if (model.tenant_code == doc.tenant_id && !model.is_del)
-                {
-                    model.is_del = true;
-                    msg = await _docManageService.UpdateAsync(model);
-                }
-            }
-            return new JsonResult(msg);
-        }
+        #endregion
     }
 }
diff --git a/DocumentServiceAPI.Application/DocManage/Dtos/Achievement_Submit_Dto.cs b/DocumentServiceAPI.Application/DocManage/Dtos/Achievement_Submit_Dto.cs
new file mode 100644
index 0000000..8e955cd
--- /dev/null
+++ b/DocumentServiceAPI.Application/DocManage/Dtos/Achievement_Submit_Dto.cs
@@ -0,0 +1,81 @@
+锘縩amespace DocumentServiceAPI.Application.DocManage.Dtos
+{
+    /// <summary>
+    /// 涓氱哗璧勬枡鎻愪氦
+    /// </summary>
+    public class Achievement_Submit_Dto
+    {
+        public int id { get; set; }
+
+        /// <summary>
+        /// 鍒嗙被id
+        /// </summary>
+        public int class_id { get; set; }
+        public string name { get; set; }
+
+        public int tenant_id { get; set; }
+
+        /// <summary>
+        /// 椤圭洰鍚嶇О
+        /// </summary>
+        public int project_id { get; set; }
+
+        public string zbtzs { get; set; }
+
+        public string ht { get; set; }
+
+        public string ysbg { get; set; }
+
+        public string fkpz { get; set; }
+
+        public string yhpj { get; set; }
+
+        public string hjzs { get; set; }
+    }
+
+    public class Achievement_List_Dto
+    {
+        /// <summary>
+        /// 娣诲姞/鏇存柊鏃堕棿
+        /// </summary>           
+        public DateTime add_time { get; set; }
+
+        /// <summary>
+        /// 鐘舵��
+        /// </summary>           
+        public int status { get; set; }
+
+        public int id { get; set; }
+
+        /// <summary>
+        /// 褰掑睘鍒嗙被锛堝瓙绫诲瀷锛�
+        /// </summary>           
+        public int? class_id { get; set; }
+
+        public string class_name { get; set; }
+
+        /// <summary>
+        /// 鍚嶇О
+        /// </summary>           
+        public string doc_name { get; set; }
+
+        /// <summary>
+        /// 椤圭洰id
+        /// </summary>
+        public int? project_id { get; set; }
+
+        public string project_name { get; set; }
+
+        public string zbtzs { get; set; }
+
+        public string ht { get; set; }
+
+        public string ysbg { get; set; }
+
+        public string fkpz { get; set; }
+
+        public string yhpj { get; set; }
+
+        public string hjzs { get; set; }
+    }
+}
diff --git a/DocumentServiceAPI.Application/DocManage/Dtos/Classification_Submit_Dto.cs b/DocumentServiceAPI.Application/DocManage/Dtos/Classification_Submit_Dto.cs
index 28b486c..878be55 100644
--- a/DocumentServiceAPI.Application/DocManage/Dtos/Classification_Submit_Dto.cs
+++ b/DocumentServiceAPI.Application/DocManage/Dtos/Classification_Submit_Dto.cs
@@ -13,6 +13,7 @@
         /// </summary>           
         public string code { get; set; }
 
+        public int sort { get; set; }
         public int status { get; set; }
     }
 }
diff --git a/DocumentServiceAPI.Application/DocManage/Dtos/Document_List_Dto.cs b/DocumentServiceAPI.Application/DocManage/Dtos/Document_List_Dto.cs
index 4d84e43..ad86c15 100644
--- a/DocumentServiceAPI.Application/DocManage/Dtos/Document_List_Dto.cs
+++ b/DocumentServiceAPI.Application/DocManage/Dtos/Document_List_Dto.cs
@@ -63,7 +63,7 @@
         /// <summary>
         /// 鍒嗙被id
         /// </summary>
-        public int class_id { get; set; }
+        public int? class_id { get; set; }
         public string name { get; set; }
 
         /// <summary>
@@ -74,11 +74,61 @@
         /// <summary>
         /// 鎶曟爣鍗曚綅
         /// </summary>
+        public int? org_id { get; set; }
+
+        /// <summary>
+        /// 椤圭洰鍚嶇О
+        /// </summary>
+        public int? project_id { get; set; }
+
+        public int status { get; set; }
+
+        public List<DocumentFile_Submit_Dto> newfiles { get; set; }
+
+        public List<DocumentFile_Submit_Dto> editfiles { get; set; }
+
+        public List<int> delfiles { get; set; }
+    }
+
+    /// <summary>
+    /// 鏌ヨ鏂囨。淇℃伅
+    /// </summary>
+    public class Document_Info_Dto
+    {
+        public Document_Info_Dto() { }
+
+        public Document_Info_Dto(Doc_Info doc,List<FileInfo_List_Dto> filelist) 
+        {
+            this.id = doc.id;
+            if (doc.classification_id.HasValue)
+            {
+                this.class_id = doc.classification_id.Value;
+            }
+            this.name = doc.doc_name;
+            if (doc.org_id.HasValue)
+            {
+                this.org_id = doc.org_id.Value;
+            }
+            this.status = doc.status;
+            this.files = filelist;
+        }
+
+        public int id { get; set; }
+
+        /// <summary>
+        /// 鍒嗙被id
+        /// </summary>
+        public int class_id { get; set; }
+        public string name { get; set; }
+
+        /// <summary>
+        /// 鎶曟爣鍗曚綅
+        /// </summary>
         public int org_id { get; set; }
 
         public int status { get; set; }
 
-        public List<DocumentFile_Submit_Dto> files { get; set; }
+        public List<FileInfo_List_Dto> files { get; set; }
     }
 
     /// <summary>
@@ -86,6 +136,7 @@
     /// </summary>
     public class DocumentFile_Submit_Dto
     {
+        public int id { get; set; }
         /// <summary>
         /// 鍘熸枃浠跺悕绉�
         /// </summary>           
@@ -133,5 +184,7 @@
 
         public string filepath { get; set; }
 
+        public int sort { get; set; }
+
     }
 }
diff --git a/DocumentServiceAPI.Application/DocManage/Dtos/Document_Lock_Dto.cs b/DocumentServiceAPI.Application/DocManage/Dtos/Document_Lock_Dto.cs
new file mode 100644
index 0000000..ea141f5
--- /dev/null
+++ b/DocumentServiceAPI.Application/DocManage/Dtos/Document_Lock_Dto.cs
@@ -0,0 +1,48 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DocumentServiceAPI.Application.DocManage.Dtos
+{
+    public class Document_Lock_Dto
+    {
+        /// <summary>
+        /// 鏂囨。id
+        /// </summary>
+        public int doc_id { get; set; }
+
+        public int lock_user_id { get; set; }
+
+        public string lock_user { get; set; }
+
+        public DateTime lock_time { get; set; }
+
+        public DateTime? release_time { get; set; }
+        public int tenant_id { get; set; }
+
+        public int status { get; set; }
+    }
+
+    /// <summary>
+    /// 鎻愪氦淇℃伅
+    /// </summary>
+    public class DocLock_Submit_Dto
+    {
+        public int id { get; set; }
+
+        /// <summary>
+        /// 浜哄憳
+        /// </summary>           
+        public int userid { get; set; }
+
+        /// <summary>
+        /// 浜哄憳
+        /// </summary>           
+        public string username { get; set; }
+
+        public int tenant_id { get; set; }
+
+    }
+}
diff --git a/DocumentServiceAPI.Application/DocManage/Dtos/FileInfo_List_Dto.cs b/DocumentServiceAPI.Application/DocManage/Dtos/FileInfo_List_Dto.cs
new file mode 100644
index 0000000..e4b3614
--- /dev/null
+++ b/DocumentServiceAPI.Application/DocManage/Dtos/FileInfo_List_Dto.cs
@@ -0,0 +1,42 @@
+锘縰sing DocumentServiceAPI.Model.cyDocumentModel;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DocumentServiceAPI.Application.DocManage.Dtos
+{
+    public class FileInfo_List_Dto
+    {
+        public FileInfo_List_Dto()
+        {
+        }
+
+        public FileInfo_List_Dto(File_Info file)
+        {
+            this.id = file.id;
+            this.fileOldName = file.fileoldname;
+            this.fileNewName = file.filenewname;
+            this.filePath = file.filepath;
+            this.isChange = false;
+            this.filesize = file.filesize;
+            this.sort = file.sort;
+            this.suffix = file.suffix;
+        }
+
+        public int id { get; set; }
+        public string fileOldName { get; set; }
+        public string fileNewName { get; set; }
+        public string filePath { get; set; }
+        public bool isChange { get; set; }
+
+        public long filesize { get; set; }
+        public int sort { get; set; }
+
+        /// <summary>
+        /// 鎵╁睍鍚�
+        /// </summary>
+        public string suffix { get; set; }
+    }
+}
diff --git a/DocumentServiceAPI.Application/DocManage/Dtos/Project_List_Dto.cs b/DocumentServiceAPI.Application/DocManage/Dtos/Project_List_Dto.cs
new file mode 100644
index 0000000..f04b696
--- /dev/null
+++ b/DocumentServiceAPI.Application/DocManage/Dtos/Project_List_Dto.cs
@@ -0,0 +1,34 @@
+锘縩amespace DocumentServiceAPI.Application.DocManage.Dtos
+{
+    /// <summary>
+    /// 椤圭洰鍒楄〃淇℃伅
+    /// </summary>
+    public class ProjectItem_List_Dto
+    {
+        /// <summary>
+        /// 椤圭洰id
+        /// </summary>
+        public int pro_id { get; set; }
+
+        /// <summary>
+        /// 椤圭洰鍚嶇О
+        /// </summary>
+        public string pro_name { get; set; }
+    }
+
+    /// <summary>
+    /// 椤圭洰鏌ヨ鏉′欢
+    /// </summary>
+    public class ProjectItemSearch
+    {
+        /// <summary>
+        /// 绉熸埛
+        /// </summary>
+        public int tenant_id { get; set; }
+
+        /// <summary>
+        /// 鍗曚綅
+        /// </summary>
+        public int org_id { get; set; }
+    }
+}
diff --git a/DocumentServiceAPI.Application/DocManage/Services/DocAchievementService.cs b/DocumentServiceAPI.Application/DocManage/Services/DocAchievementService.cs
new file mode 100644
index 0000000..ef557fa
--- /dev/null
+++ b/DocumentServiceAPI.Application/DocManage/Services/DocAchievementService.cs
@@ -0,0 +1,9 @@
+锘縰sing DocumentServiceAPI.Core;
+using DocumentServiceAPI.Model.cyDocumentModel;
+
+namespace DocumentServiceAPI.Application.DocManage.Services
+{
+    public class DocAchievementService : BaseRepository<Doc_Achievement>, ITransient
+    {
+    }
+}
diff --git a/DocumentServiceAPI.Application/DocManage/Services/DocumentManageService.cs b/DocumentServiceAPI.Application/DocManage/Services/DocumentManageService.cs
index e7cacd4..22fc21f 100644
--- a/DocumentServiceAPI.Application/DocManage/Services/DocumentManageService.cs
+++ b/DocumentServiceAPI.Application/DocManage/Services/DocumentManageService.cs
@@ -37,11 +37,17 @@
 
     public class DocumentSearch : BaseSearch
     {
+
         /// <summary>
         /// 鍒嗙被浠g爜
         /// </summary>
         public string Code { get; set; }
 
+        /// <summary>
+        /// 浜岀骇鍒嗙被
+        /// </summary>
+        public int class_id { get; set; }
+
     }
 
     /// <summary>
diff --git a/DocumentServiceAPI.Application/DocManage/Services/ProjectManageService.cs b/DocumentServiceAPI.Application/DocManage/Services/ProjectManageService.cs
new file mode 100644
index 0000000..5c7cea3
--- /dev/null
+++ b/DocumentServiceAPI.Application/DocManage/Services/ProjectManageService.cs
@@ -0,0 +1,12 @@
+锘縰sing DocumentServiceAPI.Core;
+using DocumentServiceAPI.Model.cyDocumentModel;
+
+namespace DocumentServiceAPI.Application.DocManage.Services
+{
+    /// <summary>
+    /// 椤圭洰鏌ヨ绫�
+    /// </summary>
+    public class ProjectManageService : BaseRepository<Document_ProjectInfo>, ITransient
+    {
+    }
+}
diff --git a/DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml b/DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml
deleted file mode 100644
index be1cf10..0000000
--- a/DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml
+++ /dev/null
@@ -1,1863 +0,0 @@
-<?xml version="1.0"?>
-<doc>
-    <assembly>
-        <name>DocumentServiceAPI.Application</name>
-    </assembly>
-    <members>
-        <member name="T:DocumentServiceAPI.Application.DocManage.DocClassificationManageAppService">
-            <summary>
-            璧勬枡鍒嗙被绠$悊
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.DocManage.DocClassificationManageAppService.GetInfo(System.Int32)">
-            <summary>
-            鏍规嵁ID鏌ヨ瀵硅薄
-            </summary>
-            <param name="id"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.DocManage.DocClassificationManageAppService.PostListPage(DocumentServiceAPI.Application.DocManage.Services.DocClassificationPageSearch)">
-            <summary>
-            鏍规嵁鍒嗛〉鏉′欢鏌ヨ鍒嗛〉鏁版嵁
-            </summary>
-            <param name="page"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.DocManage.DocClassificationManageAppService.PostItemList(DocumentServiceAPI.Application.DocManage.Services.DocClassificationSearch)">
-            <summary>
-            鏍规嵁绫诲瀷鏌ヨ鏁版嵁
-            </summary>
-            <param name="page"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.DocManage.DocClassificationManageAppService.PostAddInfo(DocumentServiceAPI.Application.DocManage.Dtos.Classification_Submit_Dto)">
-            <summary>
-            娣诲姞鏁版嵁
-            </summary>
-            <param name="info"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.DocManage.DocClassificationManageAppService.PostEdtInfo(DocumentServiceAPI.Application.DocManage.Dtos.Classification_Submit_Dto)">
-            <summary>
-            淇敼鏁版嵁
-            </summary>
-            <param name="info"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.DocManage.DocClassificationManageAppService.PostDelInfo(System.Int32)">
-            <summary>
-            鍒犻櫎鏁版嵁
-            </summary>
-            <param name="id"></param>
-            <returns></returns>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.DocManage.DocumentManageAppService">
-            <summary>
-            璧勬枡绠$悊
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.CheckNameDuplicate(DocumentServiceAPI.Application.DocManage.Dtos.Document_Submit_Dto)">
-            <summary>
-            妫�鏌ュ悕绉伴噸澶�
-            </summary>
-            <param name="model"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.PostListPage(DocumentServiceAPI.Application.DocManage.Services.DocumentPageSearch)">
-            <summary>
-            鏍规嵁鍒嗛〉鏉′欢鏌ヨ鍒嗛〉鏁版嵁
-            </summary>
-            <param name="page"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.PostAddDocumentInfo(DocumentServiceAPI.Application.DocManage.Dtos.Document_Submit_Dto)">
-            <summary>
-            娣诲姞鏁版嵁
-            </summary>
-            <param name="info"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.PostItemList(DocumentServiceAPI.Application.DocManage.Services.DocClassificationSearch)">
-            <summary>
-            鏍规嵁绫诲瀷鏌ヨ鏁版嵁
-            </summary>
-            <param name="page"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.PostEdtInfo(DocumentServiceAPI.Application.DocManage.Dtos.Classification_Submit_Dto)">
-            <summary>
-            淇敼鏁版嵁
-            </summary>
-            <param name="info"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.PostDelInfo(DocumentServiceAPI.Application.DocManage.Dtos.Document_Submit_Dto)">
-            <summary>
-            鍒犻櫎鏁版嵁
-            </summary>
-            <param name="doc"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.PostAddFilesInfo(DocumentServiceAPI.Application.DocManage.Dtos.Classification_Submit_Dto)">
-            <summary>
-            娣诲姞鏁版嵁
-            </summary>
-            <param name="info"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.PostEdtFileInfo(DocumentServiceAPI.Application.DocManage.Dtos.Classification_Submit_Dto)">
-            <summary>
-            淇敼鏁版嵁
-            </summary>
-            <param name="info"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.PostDelFileInfo(DocumentServiceAPI.Application.DocManage.Dtos.Document_Submit_Dto)">
-            <summary>
-            鍒犻櫎鏁版嵁
-            </summary>
-            <param name="doc"></param>
-            <returns></returns>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Classification_Submit_Dto.code">
-            <summary>
-            鐖剁骇缂栫爜
-            </summary>           
-        </member>
-        <member name="T:DocumentServiceAPI.Application.DocManage.Dtos.Document_List_Dto">
-            <summary>
-            鏂囨。淇℃伅
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Document_List_Dto.add_time">
-            <summary>
-            娣诲姞/鏇存柊鏃堕棿
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Document_List_Dto.status">
-            <summary>
-            鐘舵��
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Document_List_Dto.class_id">
-            <summary>
-            褰掑睘鍒嗙被锛堝瓙绫诲瀷锛�
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Document_List_Dto.doc_name">
-            <summary>
-            鍚嶇О
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Document_List_Dto.org_id">
-            <summary>
-            鍗曚綅ID
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Document_List_Dto.project_id">
-            <summary>
-            椤圭洰id
-            </summary>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.DocManage.Dtos.Document_Submit_Dto">
-            <summary>
-            鎻愪氦鏂囨。淇℃伅
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Document_Submit_Dto.class_id">
-            <summary>
-            鍒嗙被id
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Document_Submit_Dto.code">
-            <summary>
-            鏂囨。缂栫爜
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Document_Submit_Dto.org_id">
-            <summary>
-            鎶曟爣鍗曚綅
-            </summary>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.DocManage.Dtos.DocumentFile_Submit_Dto">
-            <summary>
-            鎻愪氦鏂囦欢淇℃伅
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.DocumentFile_Submit_Dto.fileoldname">
-            <summary>
-            鍘熸枃浠跺悕绉�
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.DocumentFile_Submit_Dto.filenewname">
-            <summary>
-            鏂板悕绉�
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.DocumentFile_Submit_Dto.fileservername">
-            <summary>
-            淇濆瓨鏂囦欢鍚嶇О
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.DocumentFile_Submit_Dto.filesize">
-            <summary>
-            鏂囦欢澶у皬锛堝瓧鑺傦級
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.DocumentFile_Submit_Dto.suffix">
-            <summary>
-            鍚庣紑鍚�
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.DocumentFile_Submit_Dto.doc_id">
-            <summary>
-            鏂囨。ID
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.DocumentFile_Submit_Dto.filetype">
-            <summary>
-            鏂囦欢绫诲瀷
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.DocumentFile_Submit_Dto.up_userid">
-            <summary>
-            涓婁紶浜哄憳
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.DocumentFile_Submit_Dto.up_username">
-            <summary>
-            涓婁紶浜哄憳
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Services.DocClassificationPageSearch.Code">
-            <summary>
-            鍒嗙被浠g爜
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Services.DocClassificationPageSearch.Status">
-            <summary>
-            鐘舵��
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Services.DocClassificationSearch.Code">
-            <summary>
-            鍒嗙被浠g爜
-            </summary>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.DocManage.Services.DocClassificationService">
-            <summary>
-            鏂囨。鍒嗙被
-            </summary>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.DocManage.Services.DocumentPageSearch">
-            <summary>
-            鏂囨。鍒嗛〉鏌ヨ鏉′欢
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Services.DocumentPageSearch.Code">
-            <summary>
-            鍒嗙被浠g爜
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Services.DocumentPageSearch.ClassCode">
-            <summary>
-            绫诲埆ID
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Services.DocumentPageSearch.Name">
-            <summary>
-            鏂囨。鍚嶇О
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Services.DocumentPageSearch.OrganizationCode">
-            <summary>
-            鍗曚綅ID
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Services.DocumentPageSearch.Status">
-            <summary>
-            鐘舵��
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.DocManage.Services.DocumentSearch.Code">
-            <summary>
-            鍒嗙被浠g爜
-            </summary>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.DocManage.Services.DocumentManageService">
-            <summary>
-            鏂囨。绠$悊
-            </summary>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.DocManage.Services.FileManageService">
-            <summary>
-            鏂囦欢绠$悊
-            </summary>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController">
-            <summary>
-            鐧诲綍鎺у埗鍣�
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.InProjectInfo(DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO)">
-            <summary>
-            鍒涘缓椤圭洰
-            </summary>
-            <param name="dw"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetIsExistProject(System.String,System.String)">
-            <summary>
-            椤圭洰鏄惁瀛樺湪
-            </summary>
-            <param name="ProjectName"></param>
-            <param name="ProjectCode"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.ProjectInfoByUrl(DocumentServiceAPI.Model.cyDocumentModel.Document_ProjectInfo)">
-            <summary>
-            鏍规嵁url鑾峰彇缃戦〉鍐呭
-            </summary>
-            <param name="dp"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.postProjectInfoList(DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoPageSearch)">
-            <summary>
-            鑾峰彇椤圭洰鍒楄〃
-            </summary>
-            <param name="page"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.DelProjectInfoByIds(System.Collections.Generic.List{System.Int32})">
-            <summary>
-            鍒犻櫎椤圭洰鍒楄〃
-            </summary>
-            <param name="projectIdList"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetProjectInfo(System.Int32,System.Int32)">
-            <summary>
-            鑾峰彇椤圭洰璇︽儏
-            <param name="ID"></param>
-            <param name="TenantID"></param>
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetProjectExpand(System.Int32,System.Int32)">
-            <summary>
-            鑾峰彇椤圭洰ProjectExpand
-            <param name="ID"></param>
-             <param name="UnitId"></param>
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDocument_WinInfo(System.Int32,System.Int32)">
-            <summary>
-            鑾峰彇椤圭洰GetDocument_WinInfo
-            <param name="ID"></param>
-             <param name="UnitId"></param>
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDocument_AdviseInfo(System.Int32,System.Int32)">
-            <summary>
-            鑾峰彇椤圭洰GetDocument_AdviseInfo
-            <param name="ID"></param>
-             <param name="UnitId"></param>
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetProjectOppugnInfo(System.Int32,System.Int32)">
-            <summary>
-            鑾峰彇椤圭洰GetProjectOppugnInfo
-            <param name="ID"></param>
-             <param name="UnitId"></param>
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetProjectComplainInfo(System.Int32,System.Int32)">
-            <summary>
-            鑾峰彇椤圭洰GetProjectComplainInfo
-            <param name="ID"></param>
-             <param name="UnitId"></param>
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetProjectReviewInfo(System.Int32,System.Int32)">
-            <summary>
-            鑾峰彇椤圭洰GetProjectReviewInfo
-            <param name="ID"></param>
-             <param name="UnitId"></param>
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetProjectLitigationInfo(System.Int32,System.Int32)">
-            <summary>
-            鑾峰彇椤圭洰GetProjectLitigationInfo
-            <param name="ID"></param>
-             <param name="UnitId"></param>
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetOtherCompanyTenderInfoList(System.Int32,System.Int32)">
-            <summary>
-            鑾峰彇椤圭洰GetOtherCompanyTenderInfoList
-            <param name="ID"></param>
-            <param name="TenantID"></param>
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveProjectInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_ProjectInfo)">
-            <summary>
-            淇敼椤圭洰
-            </summary>
-            <param name="dp"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveDocumentWinInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_WinInfo)">
-            <summary>
-            淇敼椤圭洰SaveDocumentWinInfo
-            </summary>
-            <param name="dp"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveDocumentProjectExpand(DocumentServiceAPI.Model.cyDocumentModel.Document_ProjectExpand)">
-            <summary>
-            淇敼椤圭洰SaveDocumentProjectExpand
-            </summary>
-            <param name="dp"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetOtherCompanyTenderInfo(System.Int32,System.String)">
-            <summary>
-            鑾峰彇椤圭洰GetOtherCompanyTenderInfo
-            <param name="ID"></param>
-            <param name="companyName"></param>
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDelOtherCompanyTenderInfo(System.Int32)">
-            <summary>
-            鍒犻櫎椤圭洰DelOtherCompanyTenderInfo
-            </summary>
-            <param name="Id"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveOtherCompanyTenderInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_OtherCompanyTenderInfo)">
-            <summary>
-            淇敼椤圭洰SaveOtherCompanyTenderInfo
-            </summary>
-            <param name="dp"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetTenderUnit(System.Int32)">
-            <summary>
-            鑾峰彇椤圭洰GetTenderUnit
-            <param name="ID"></param>
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDocument_EmployeeInfoByName(System.String)">
-            <summary>
-            鑾峰彇鍗曚釜鍛樺伐锛屾牴鎹甧mployeeId
-            <param name="EmployeeName"></param>
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDocument_EmployeeInfoInfo(System.Int32)">
-            <summary>
-            鑾峰彇椤圭洰GetDocument_EmployeeInfoInfo
-            <param name="ID"></param>
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetAptitudeInfoByUnitId(System.Int32)">
-            <summary>
-            鑾峰彇椤圭洰GetAptitudeInfoByName
-            <param name="aptitudeName"></param>
-            <param name="UnitId"></param>
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDeleteDocumentModel(System.Int32,System.Int32)">
-            <summary>
-            鍒犻櫎椤圭洰GetDeleteDocumentModel
-            </summary>
-            <param name="projectId"></param>
-            <param name="unitId"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetProjectDocumentInfo(System.Int32,System.Int32)">
-            <summary>
-            鑾峰彇椤圭洰GetProjectDocumentInfo
-            <param name="projectId"></param>
-            <param name="unitId"></param>
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.postDocumentList(DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoPageSearch)">
-            <summary>
-            鑾峰彇鏍囦功鍒楄〃postDocumentList
-            </summary>
-            <param name="page"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveDocumentProjectDocumentInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_ProjectDocumentInfo)">
-            <summary>
-            淇敼椤圭洰SaveDocumentProjectDocumentInfo
-            </summary>
-            <param name="dp"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDelegatePersonInfo(System.Int32)">
-            <summary>
-            鑾峰彇椤圭洰GetDelegatePersonInfo
-            <param name="ID"></param>
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveDocumentProjectOppugnInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_ProjectOppugnInfo)">
-            <summary>
-            淇敼椤圭洰SaveDocumentProjectOppugnInfo
-            </summary>
-            <param name="dp"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetAllDelegatePerson">
-            <summary>
-            鑾峰彇椤圭洰GetAllDelegatePerson
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveDocumentProjectComplainInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_ProjectComplainInfo)">
-            <summary>
-            淇敼椤圭洰SaveDocumentProjectComplainInfo
-            </summary>
-            <param name="dp"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveDocumentProjectReviewInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_ProjectReviewInfo)">
-            <summary>
-            淇敼椤圭洰SaveDocumentProjectReviewInfo
-            </summary>
-            <param name="dp"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetPreUnit(System.String)">
-            <summary>
-            鏌ヨ椤圭洰GetPreUnit
-            </summary>
-            <param name="childName"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveDocumentProjectLitigationInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_ProjectLitigationInfo)">
-            <summary>
-            淇敼椤圭洰SaveDocumentProjectLitigationInfo
-            </summary>
-            <param name="dp"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveDocumentAdviseInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_AdviseInfo)">
-            <summary>
-            淇敼椤圭洰SaveDocumentAdviseInfo
-            </summary>
-            <param name="dp"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetTempletModel(System.Int32)">
-            <summary>
-            鑾峰彇椤圭洰GetTempletModel
-            <param name="templetId"></param>
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDocumentTempletList">
-            <summary>
-            鑾峰彇椤圭洰GetDocumentTempletList
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.postDocumentZhaobiaoFileList(DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoPageSearch)">
-            <summary>
-            鑾峰彇鎷涙爣鏂囦欢鍒楄〃postDocumentZhaobiaoFileList
-            </summary>
-            <param name="page"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveDocumentZhaobiaoFileInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_ZhaobiaoFile)">
-            <summary>
-            淇敼鎷涙爣鏂囦欢SaveDocumentZhaobiaoFileInfo
-            </summary>
-            <param name="dp"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDeleteDocumentZhaobiaoFile(System.Int32)">
-            <summary>
-            鍒犻櫎椤圭洰GetDeleteDocumentZhaobiaoFile
-            </summary>
-            <param name="ID"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDocumentZhaobiaoFileInfo(System.Int32)">
-            <summary>
-            鑾峰彇椤圭洰GetDocumentZhaobiaoFileInfo
-            <param name="ID"></param>
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.postDocumentTBXYFileList(DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoPageSearch)">
-            <summary>
-            鑾峰彇鍝嶅簲鏂囦欢鍒楄〃postDocumentTBXYFileList
-            </summary>
-            <param name="page"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveDocumentTBXYFileInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_TBXYFile)">
-            <summary>
-            淇敼鍝嶅簲鏂囦欢SaveDocumentTBXYFileInfo
-            </summary>
-            <param name="dp"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDeleteDocumentTBXYFile(System.Int32)">
-            <summary>
-            鍒犻櫎鍝嶅簲鏂囦欢GetDeleteDocumentTBXYFile
-            </summary>
-            <param name="ID"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDocumentTBXYFileInfo(System.Int32)">
-            <summary>
-            鑾峰彇鍝嶅簲鏂囦欢GetDocumentTBXYFileInfo
-            <param name="ID"></param>
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDocumentTBXYFileList(System.Int32,System.Int32)">
-            <summary>
-            鑾峰彇鍝嶅簲鏂囦欢GetDocumentTBXYFileInfo
-            <param name="ID"></param>
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.GetDocumentTBXYFileByFileName(System.Int32,System.Int32,System.String)">
-            <summary>
-            鑾峰彇鍝嶅簲鏂囦欢GetDocumentTBXYFileInfo
-            <param name="ID"></param>
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveDocInfo(DocumentServiceAPI.Model.cyDocumentModel.Doc_Info)">
-            <summary>
-            淇敼鍝嶅簲鏂囦欢SaveDocumentTBXYFileInfo
-            </summary>
-            <param name="dp"></param>
-            <returns>int</returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.ProjectInfoController.SaveFileInfo(DocumentServiceAPI.Model.cyDocumentModel.File_Info)">
-            <summary>
-            淇敼鍝嶅簲鏂囦欢SaveDocumentTBXYFileInfo
-            </summary>
-            <param name="dp"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.Services.ProjectInfoService.GetJwtInfo">
-            <summary>
-            鑾峰彇Jwt鐩稿叧淇℃伅
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.Services.SheZhiService.GetJwtInfo">
-            <summary>
-            鑾峰彇Jwt鐩稿叧淇℃伅
-            </summary>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.ProjectInfo.SheZhiController">
-            <summary>
-            鐧诲綍鎺у埗鍣�
-            </summary>
-        </member>
-        <!-- Badly formed XML comment ignored for member "M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.postDelegatePersonList(DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoPageSearch)" -->
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.GetDelDocumentDelegatePersonInfo(System.Int32)">
-            <summary>
-            鍒犻櫎椤圭洰GetDelDocumentDelegatePersonInfo
-            </summary>
-            <param name="Id"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.SaveDocumentDelegatePersonInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_DelegatePersonInfo)">
-            <summary>
-            淇敼椤圭洰SaveDocumentDelegatePersonInfo
-            </summary>
-            <param name="dp"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.GetDocumentDelegatePersonInfo(System.Int32)">
-            <summary>
-            鑾峰彇椤圭洰GetDocumentDelegatePersonInfo
-            <param name="ID"></param>
-            </summary>
-        </member>
-        <!-- Badly formed XML comment ignored for member "M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.postDocumentTenderUnitList(DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoPageSearch)" -->
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.SaveDocumentTenderUnitInfo(DocumentServiceAPI.Model.cyDocumentModel.Document_TenderUnit)">
-            <summary>
-            淇敼鍏徃SaveDocumentTenderUnitInfo
-            </summary>
-            <param name="dp"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.GetDocumentTenderUnitInfo(System.Int32)">
-            <summary>
-            鑾峰彇鍏徃GetDocumentTenderUnitInfo
-            <param name="ID"></param>
-            </summary>
-        </member>
-        <!-- Badly formed XML comment ignored for member "M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.postDocumentEmployeeInfoList(DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoPageSearch)" -->
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.GetDelDocumentEmployeeInfoInfo(System.Int32)">
-            <summary>
-            鍒犻櫎鍛樺伐GetDelDocumentEmployeeInfoInfo
-            </summary>
-            <param name="ID"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.SaveDocumentEmployeeInfoInfo(DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO)">
-            <summary>
-            淇敼鍛樺伐SaveDocumentEmployeeInfoInfo
-            </summary>
-            <param name="dp"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.GetDocumentEmployeeInfoInfo(System.Int32)">
-            <summary>
-            鑾峰彇鍛樺伐GetDocumentEmployeeInfoInfo
-            <param name="ID"></param>
-            </summary>
-        </member>
-        <!-- Badly formed XML comment ignored for member "M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.GetDocumentEmployeeInfoByName(System.String)" -->
-        <!-- Badly formed XML comment ignored for member "M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.GetDocumentEmployeeInfoByLoginName(System.String)" -->
-        <!-- Badly formed XML comment ignored for member "M:DocumentServiceAPI.Application.ProjectInfo.SheZhiController.postDocumentPerformanceInfoListByPaper(DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoPageSearch)" -->
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.EmployeeId">
-            <summary>
-            鍛樺伐ID
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.EmployeeName">
-            <summary>
-            鍛樺伐鍚嶇О
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.Job">
-            <summary>
-            宸ヤ綔鑱屼綅
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.Phone">
-            <summary>
-            鐢佃瘽
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.IsWork">
-            <summary>
-            鏄惁鍦ㄥ伐浣�
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.LeaveTime">
-            <summary>
-            绂诲紑鏃堕棿
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.CardPositive">
-            <summary>
-            璇佷欢姝i潰
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.CardPositiveVersionNo">
-            <summary>
-            璇佷欢姝i潰鐗堟湰鍙�
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.CardPositiveSize">
-            <summary>
-            璇佷欢姝i潰澶у皬
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.LastUpdateTime">
-            <summary>
-            鏈�鍚庢洿鏂版椂闂�
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.LastUpdateName">
-            <summary>
-            鏈�鍚庢洿鏂颁汉
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.UserName">
-            <summary>
-            鐢ㄦ埛鍚�
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.UserPassWord">
-            <summary>
-            鐢ㄦ埛瀵嗙爜
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.LoginTime">
-            <summary>
-            鐧诲綍鏃堕棿
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.IsLogin">
-            <summary>
-            鏄惁鐧诲綍
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.AdviseFlag">
-            <summary>
-            寤鸿鏍囧織
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentEmployeeInfoDTO.UserId">
-            <summary>
-            鐢ㄦ埛ID
-            </summary>           
-        </member>
-        <member name="T:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoPageSearch">
-            <summary>
-            椤圭洰鎼滅储 鍙傛暟
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.ProjectId">
-            <summary>
-            Desc:
-            Default:
-            Nullable:False
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.ProjectName">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.ProjectCode">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.ProjectStatus">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.Province">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.City">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.County">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.NoticeType">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.PurchaseMethod">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.ReleaseTime">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.OpinionEndTime">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.FeedbackUnit">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.ReportUnit">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.SignupStartTime">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.DocumentUpdateTime">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.SignupEndTime">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.SignupMethod">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.SignupFee">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.TenderDeposit">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.PayMethod">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.TenderTime">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.AgencyUnit">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.AgencyManager">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.AgencyPhone">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.AgencyAddress">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.AgencyZipCode">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.AgencyFax">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.PurchaseUnit">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.PurchaseManager">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.PurchasePhone">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.PurchaseAddress">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.PurchaseZipCode">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.PurchaseFax">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.IntendanceUnit">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.IntendancePerson">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.IntendancePhone">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.IntendanceAddress">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.IntendanceZipCode">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.IntendanceFax">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.Bidbond">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.IsTenderDepositRemind">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.PackageNum">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.CgwjTime">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.TenantID">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.ProjectUrl">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.GongGaoTime">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.ProvinceId">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.CityId">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.ProjectInfo.ViewMode.DocumentProjectInfoDTO.CountyId">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="T:DocumentServiceAPI.Application.Repository.EmployeeRepository">
-            <summary>
-            鍛樺伐璇诲彇 
-            </summary>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.Repository.ProjectInfoRepository">
-            <summary>
-            椤圭洰淇℃伅
-            </summary>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.Repository.WorkRemindRepository">
-            <summary>
-            鍛樺伐鎻愰啋 
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.System.OrganizationAppService.GetOrgItemList(System.Int32)">
-            <summary>
-            鏌ヨ鍏徃Item鏁版嵁
-            </summary>
-            <param name="code">绉熸埛id</param>
-            <returns></returns>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.System.Services.OrganizationService">
-            <summary>
-            鎶曟爣鍗曚綅鎿嶄綔绫�
-            </summary>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.SystemAppService">
-            <summary>
-            绯荤粺鏈嶅姟鎺ュ彛
-            </summary>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.UserAndLogin.LogInController">
-            <summary>
-            鐧诲綍鎺у埗鍣�
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.UserAndLogin.LogInController.LogoIn(DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN)">
-            <summary>
-            鐧诲綍 1 杈撳叆鍛樺伐璐︽埛鎴栬�呯鎴疯处鎴凤紝2 閫夋嫨绉熸埛璐︽埛锛�3 閫夋嫨鍏徃
-            </summary>
-            <returns>鐧诲綍淇℃伅</returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.UserAndLogin.LogInController.GetUnitList">
-            <summary>
-            鑾峰彇鍏徃鍒楄〃
-            </summary>
-            <returns>鐧诲綍淇℃伅</returns>      
-        </member>
-        <member name="M:DocumentServiceAPI.Application.UserAndLogin.LogInController.GetTenantInfoList">
-            <summary>
-            鑾峰彇鍏徃鍒楄〃
-            </summary>
-            <returns>鐧诲綍淇℃伅</returns>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.UserAndLogin.Services.TokenService">
-            <summary>
-            token鏈嶅姟绫�
-            </summary>
-        </member>
-        <member name="F:DocumentServiceAPI.Application.UserAndLogin.Services.TokenService.TokenKeys">
-            <summary>
-            Token鏄暐
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.TokenService.CreateToken(DocumentServiceAPI.Model.JwtInfo)">
-            <summary>
-            鏂板缓涓�涓猅Oken 
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.TokenService.CheckToken">
-            <summary>
-            鏍¢獙jwt淇℃伅鏄惁鏈夋晥锛屽垽鍐冲崟绔櫥褰曢獙璇�
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.TokenService.getTokenKey(DocumentServiceAPI.Model.JwtInfo)">
-            <summary>
-            鑾峰彇TokenKey
-            </summary>
-            <param name="jwt"></param>
-            <returns></returns>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.UserAndLogin.Services.UserService">
-            <summary>
-            鐧诲綍楠岃瘉鏈嶅姟
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.UserService.GetEmployeeInfo(System.Int32,System.Int32)">
-            <summary>
-            鍛樺伐璇︽儏
-            </summary>
-            <param name="ID"></param>
-            <param name="TenantID"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.UserService.GetJwtInfo">
-            <summary>
-            鑾峰彇Jwt鐩稿叧淇℃伅
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.UserService.GetUserUnitList(System.Int32)">
-            <summary>
-            鑾峰彇鍗曚綅鍒楄〃
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.UserService.GetUserTenderList(System.String)">
-            <summary>
-            鏍规嵁璐﹀彿鑾峰彇 Tender 鍒楄〃
-            </summary>
-            <param name="ItCode"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.UserService.CheckPsw(System.Int32,System.Nullable{System.Int32},System.String)">
-            <summary>
-            妫�鏌ュ瘑鐮佹槸鍚︾櫥褰�
-            </summary>
-            <param name="TenantID"> 绉熸埛ID</param>
-            <param name="employeeID">鍛樺伐ID</param>
-            <param name="PsW">瀵嗙爜</param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.UserService.GetUserInfo(System.Nullable{System.Int32},System.Nullable{System.Int32},System.Nullable{System.Int32})">
-            <summary>
-            鑾峰彇鐢ㄦ埛璇︽儏锛屽寘鎷憳宸ヤ俊鎭紝绉熸埛淇℃伅锛屽崟浣嶄俊鎭�
-            </summary>
-            <param name="TenantID"> 绉熸埛ID</param>
-            <param name="EmployeeID">鍛樺伐ID </param>
-            <param name="UnitID">鍗曚綅ID</param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.UserAndLogin.Services.UserService.postEmployeeList(DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeePageSearch)">
-            <summary>
-            鑾峰彇鍛樺伐鍒楄〃
-            </summary>
-            <param name="_businessService"></param>
-            <param name="page"></param>
-            <returns></returns>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.UserAndLogin.UserInfoController">
-            <summary>
-            鐧诲綍鎺у埗鍣�
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.UserAndLogin.UserInfoController.GetUserInfo">
-            <summary>
-            鑾峰彇鐢ㄦ埛璇︽儏
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.UserAndLogin.UserInfoController.postEmployeeList(DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeePageSearch)">
-            <summary>
-            鑾峰彇鍛樺伐鍒楄〃
-            </summary>
-            <param name="page"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.UserAndLogin.UserInfoController.CreateEmployee(DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM)">
-            <summary>
-            鍒涘缓鏂板憳宸�
-            </summary>
-            <param name="Parma"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.UserAndLogin.UserInfoController.UpDataEmployee(DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM)">
-            <summary>
-            鏇存柊鍛樺伐淇℃伅
-            </summary>
-            <param name="Parma"></param>
-            <returns></returns>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN">
-            <summary>
-            璐︽埛瀵嗙爜鐧诲綍
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.ITCode">
-            <summary>
-            鐧诲綍璐﹀彿
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.PassWord">
-            <summary>
-            瀵嗙爜
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.Key">
-            <summary>
-            楠岃瘉鐮乲ey
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.VerifyCoed">
-            <summary>
-            楠岃瘉鐮佷唬鐮�
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.TenantId">
-            <summary>
-            TenantITCode 绉熸埛ITCode
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.employeeID">
-            <summary>
-            鍛樺伐鐧诲綍 娉ㄦ剰 濡傛灉涓嶆槸棣栨鐧诲綍锛岃繖涓珯濂介渶瑕佹牴鎹墍閫夌殑绉熸埛鐧诲綍杩斿洖缁撴灉鏉ョ‘瀹氭槸鍚︽槸鐢ㄥ憳宸ヨ处鍙风櫥褰曪紝濡傛灉涓虹┖锛岄粯璁ゆ湭閫夋嫨绉熸埛璐﹀彿鐧诲綍
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.UnitID">
-            <summary>
-            鍗曚綅ID
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.LoginPsWordIN.Form">
-            <summary>
-            鏉ユ簮
-            </summary>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeTenantInfo">
-            <summary>
-            绉熸埛璇︽儏妯″瀷
-            </summary>
-        </member>
-        <member name="F:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeTenantInfo._employeeInfo">
-            <summary>
-            鍛樺伐Info
-            </summary>
-        </member>
-        <member name="F:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeTenantInfo._tenantInfo">
-            <summary>
-            绁濈 Info
-            </summary>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.UnitVM">
-            <summary>
-            鍗曚綅璇︽儏
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.UnitVM.UnitID">
-            <summary>
-            ID
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.UnitVM.UnitName">
-            <summary>
-            鍗曚綅鍚嶇О
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.UnitVM.Remark">
-            <summary>
-            鏍囨敞
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.UnitVM.UnitLogo">
-            <summary>
-            logo
-            </summary>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderVM">
-            <summary>
-             绉熸埛璇︽儏
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderVM.TenderId">
-            <summary>
-            ID
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderVM.ItCode">
-            <summary>
-            绉熸埛鍚�
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderVM.Name">
-            <summary>
-            鍚嶇О
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderVM.Description">
-            <summary>
-            鎻忚堪
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderVM.EmployeeID">
-            <summary>
-            鍛樺伐ID
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderVM.IsTender">
-            <summary>
-            鏄惁鏄富璐﹀彿
-            </summary>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.RetLoginVM">
-            <summary>
-            鐧诲綍杩斿洖
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.RetLoginVM.NeedNext">
-            <summary>
-             闇�瑕侀噸鏂扮櫥褰�
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.RetLoginVM.Units">
-            <summary>
-            鍏徃鍒楄〃
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.RetLoginVM.Tenants">
-            <summary>
-            绉熸埛鍒楄〃
-            </summary>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeePageSearch">
-            <summary>
-            鍛樺伐鎼滅储 鍙傛暟
-            </summary>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.UnitInfoVM">
-            <summary>
-            鍗曚綅璇︽儏
-            </summary>
-        </member>
-        <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderInfoVM">
-            <summary>
-            绉熸埛璇︽儏
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderInfoVM.Id">
-            <summary>
-            ID
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderInfoVM.ItCode">
-            <summary>
-            绉熸埛鍚�
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderInfoVM.Name">
-            <summary>
-            鍚嶇О
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderInfoVM.Description">
-            <summary>
-            鎻忚堪
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.TenderInfoVM.ReMark">
-            <summary>
-            鏍囨敞
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.EmployeeId">
-            <summary>
-            鍛樺伐ID
-            </summary>     
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.EmployeeName">
-            <summary>
-            鍛樺伐鍚嶇О
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.Job">
-            <summary>
-            宸ヤ綔鑱屼綅
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.Phone">
-            <summary>
-            鐢佃瘽
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.IsWork">
-            <summary>
-            鏄惁鍦ㄥ伐浣�
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.LeaveTime">
-            <summary>
-            绂诲紑鏃堕棿
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.CardPositive">
-            <summary>
-            璇佷欢姝i潰
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.CardPositiveVersionNo">
-            <summary>
-            璇佷欢姝i潰鐗堟湰鍙�
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.CardPositiveSize">
-            <summary>
-            璇佷欢姝i潰澶у皬
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.LastUpdateTime">
-            <summary>
-            鏈�鍚庢洿鏂版椂闂�
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.LastUpdateName">
-            <summary>
-            鏈�鍚庢洿鏂颁汉
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.UserName">
-            <summary>
-            鐢ㄦ埛鍚�
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.UserPassWord">
-            <summary>
-            鐢ㄦ埛瀵嗙爜
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.LoginTime">
-            <summary>
-            鐧诲綍鏃堕棿
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.IsLogin">
-            <summary>
-            鏄惁鐧诲綍
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.AdviseFlag">
-            <summary>
-            寤鸿鏍囧織
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.EmployeeInfoVM.UserId">
-            <summary>
-            鐢ㄦ埛ID
-            </summary>           
-        </member>
-        <member name="T:DocumentServiceAPI.Application.UserAndLogin.ViewMode.RetUserInfo">
-            <summary>
-            鐢ㄦ埛璇︽儏
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.RetUserInfo.UnitInfo">
-            <summary>
-            鍗曚綅淇℃伅
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.RetUserInfo.TenderInfo">
-            <summary>
-            绉熸埛淇℃伅
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.UserAndLogin.ViewMode.RetUserInfo.EmployeeInfo">
-            <summary>
-            鍛樺伐淇℃伅
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.WorkRemind.Services.WorkRemindService.GetWorkRemindInfo(System.Int32)">
-            <summary>
-            鎻愰啋璇︽儏
-            </summary>
-            <param name="ID"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.WorkRemind.Services.WorkRemindService.postWorkRemindList(DocumentServiceAPI.Application.WorkRemind.ViewMode.WorkRemindPageSearch)">
-            <summary>
-            鑾峰彇鎻愰啋鍒楄〃
-            </summary>
-            <param name="page"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.WorkRemind.Services.WorkRemindService.GetUEmployeeInfoList">
-            <summary>
-            鑾峰彇em鍒楄〃
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.WorkRemind.Services.WorkRemindService.GetJwtInfo">
-            <summary>
-            鑾峰彇Jwt鐩稿叧淇℃伅
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.WorkRemind.Services.WorkRemindService.GetDictionaryList">
-            <summary>
-            鏌ヨ鏁版嵁瀛楀吀
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.WorkRemind.Services.WorkRemindService.GetCitySiteList(System.Int32)">
-            <summary>
-            鏌ヨ鐪佸競
-            </summary>
-            <param name="CityLevel"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.WorkRemind.Services.WorkRemindService.GetEmployeeListByStatus(System.Int32,System.Int32)">
-            <summary>
-            鑾峰彇em鍒楄〃
-            </summary>
-            <param name="isWork"></param>
-            <param name="Role"></param>
-            <returns></returns>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.EmployeeId">
-            <summary>
-            鍛樺伐ID
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.EmployeeName">
-            <summary>
-            鍛樺伐鍚嶇О
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.Job">
-            <summary>
-            宸ヤ綔鑱屼綅
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.Phone">
-            <summary>
-            鐢佃瘽
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.IsWork">
-            <summary>
-            鏄惁鍦ㄥ伐浣�
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.LeaveTime">
-            <summary>
-            绂诲紑鏃堕棿
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.CardPositive">
-            <summary>
-            璇佷欢姝i潰
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.CardPositiveVersionNo">
-            <summary>
-            璇佷欢姝i潰鐗堟湰鍙�
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.CardPositiveSize">
-            <summary>
-            璇佷欢姝i潰澶у皬
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.LastUpdateTime">
-            <summary>
-            鏈�鍚庢洿鏂版椂闂�
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.LastUpdateName">
-            <summary>
-            鏈�鍚庢洿鏂颁汉
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.UserName">
-            <summary>
-            鐢ㄦ埛鍚�
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.UserPassWord">
-            <summary>
-            鐢ㄦ埛瀵嗙爜
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.LoginTime">
-            <summary>
-            鐧诲綍鏃堕棿
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.IsLogin">
-            <summary>
-            鏄惁鐧诲綍
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.AdviseFlag">
-            <summary>
-            寤鸿鏍囧織
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentEmployeeInfoDTO.UserId">
-            <summary>
-            鐢ㄦ埛ID
-            </summary>           
-        </member>
-        <member name="T:DocumentServiceAPI.Application.WorkRemind.ViewMode.WorkRemindPageSearch">
-            <summary>
-            鍛樺伐鎼滅储 鍙傛暟
-            </summary>
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentWorkRemindDTO.WorkRemindId">
-            <summary>
-            Desc:
-            Default:
-            Nullable:False
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentWorkRemindDTO.ProjectName">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentWorkRemindDTO.ProjectId">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentWorkRemindDTO.WorkRemindContent">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentWorkRemindDTO.WorkRemindTime">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentWorkRemindDTO.LastUpTime">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentWorkRemindDTO.ToEmployeeId">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="P:DocumentServiceAPI.Application.WorkRemind.ViewMode.DocumentWorkRemindDTO.CreatEmployeeId">
-            <summary>
-            Desc:
-            Default:
-            Nullable:True
-            </summary>           
-        </member>
-        <member name="T:DocumentServiceAPI.Application.WorkRemind.WorkRemindController">
-            <summary>
-            鐧诲綍鎺у埗鍣�
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.WorkRemind.WorkRemindController.GetWorkRemindInfo(System.Int32)">
-            <summary>
-            鑾峰彇鐢ㄦ埛璇︽儏
-            </summary>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.WorkRemind.WorkRemindController.postWorkRemindList(DocumentServiceAPI.Application.WorkRemind.ViewMode.WorkRemindPageSearch)">
-            <summary>
-            鑾峰彇鍛樺伐鍒楄〃
-            </summary>
-            <param name="page"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.WorkRemind.WorkRemindController.GetUEmployeeInfoList">
-            <summary>
-            鑾峰彇鍛樺伐鍒楄〃
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.WorkRemind.WorkRemindController.CreateWorkRemind(DocumentServiceAPI.Model.cyDocumentModel.Document_WorkRemind)">
-            <summary>
-            鍒涘缓鎻愰啋
-            </summary>
-            <param name="dw"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.WorkRemind.WorkRemindController.UpDataWorkRemind(DocumentServiceAPI.Model.cyDocumentModel.Document_WorkRemind)">
-            <summary>
-            鏇存柊鎻愰啋
-            </summary>
-            <param name="dw"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.WorkRemind.WorkRemindController.GetDelDataWorkRemind(System.Int32)">
-            <summary>
-            鍒犻櫎鎻愰啋
-            </summary>
-            <param name="ID"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.WorkRemind.WorkRemindController.GetDictionaryList">
-            <summary>
-            鑾峰彇鏁版嵁瀛楀吀
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.WorkRemind.WorkRemindController.GetCitySiteList(System.Int32)">
-            <summary>
-            鑾峰彇鐪佸競鍘�
-            </summary>
-            <param name="CityLevel"></param>
-            <returns></returns>
-        </member>
-        <member name="M:DocumentServiceAPI.Application.WorkRemind.WorkRemindController.GetEmployeeListByStatus(System.Int32,System.Int32)">
-            <summary>
-            鑾峰彇鍛樺伐鍒楄〃
-            </summary>
-            <param name="isWork"></param>
-            <param name="Role"></param>
-            <returns></returns>
-        </member>
-    </members>
-</doc>
diff --git a/DocumentServiceAPI.Application/UserAndLogin/LogInController.cs b/DocumentServiceAPI.Application/UserAndLogin/LogInController.cs
index 3478ee1..b9c52fd 100644
--- a/DocumentServiceAPI.Application/UserAndLogin/LogInController.cs
+++ b/DocumentServiceAPI.Application/UserAndLogin/LogInController.cs
@@ -1,11 +1,18 @@
 锘縰sing DocumentServiceAPI.Application.UserAndLogin.Services;
 using DocumentServiceAPI.Application.UserAndLogin.ViewMode;
+using DocumentServiceAPI.Model.cyDocumentModel;
+using DocumentServiceAPI.Model.UserInfoModel;
 using DocumentServiceAPI.Utility;
 using Furion.DynamicApiController;
 using Furion.JsonSerialization;
+using Microsoft.AspNetCore.Http;
+using Microsoft.IdentityModel.Tokens;
+using NetTaste;
+using Newtonsoft.Json.Linq;
 using Swashbuckle.AspNetCore.Annotations;
 using System;
 using System.Collections.Generic;
+using System.IdentityModel.Tokens.Jwt;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
@@ -28,155 +35,193 @@
          }
         /// <summary>
         /// 鐧诲綍 1 杈撳叆鍛樺伐璐︽埛鎴栬�呯鎴疯处鎴凤紝2 閫夋嫨绉熸埛璐︽埛锛�3 閫夋嫨鍏徃
+        /// 褰撳瘑鐮佷负绌烘椂锛屽甫鍏ョ敤鎴蜂腑蹇僼oken鍗冲彲瀹炵幇鐧诲綍
         /// </summary>
         /// <returns>鐧诲綍淇℃伅</returns>
         [HttpPost("LogoIn")]
-        public async Task<RetLoginVM> LogoIn (LoginPsWordIN Parma)
+        public async Task<RetLoginVM> LogoIn (  LoginPsWordIN Parma)
         {
-              bool needtoken=false;
-            if (Parma.TenantId==null)
+            //zctok鏍¢獙鎴愬姛鏄惁鏍囧織
+            bool IsTokenPass=false;
+     
+               if(string.IsNullOrEmpty(Parma.PassWord))
             {
-                //濡傛灉杩樻病纭畾绉熸埛ID 闇�瑕佸厛纭畾绉熸埛ID
-                List<TenderVM>Tender = await _userService.GetUserTenderList(Parma.ITCode);
-                
-                switch (Tender.Count)
+
+                var Request = App.HttpContext.Request;
+                string stoken = Request.Headers["Authorization"];
+                if (stoken == null)
+                    throw Oops.Oh("娌℃湁杈撳叆瀵嗙爜");
+                stoken = stoken.Replace("Bearer ", "");
+
+                var isvale = _tokenService.CheckJwt(stoken, out SecurityToken securityToken);
+                JwtSecurityToken jwtToken = securityToken as JwtSecurityToken;
+                string itcode = jwtToken.Claims.FirstOrDefault(claim => claim.Type == "sub")?.Value;
+                if (isvale == false)
+                    throw Oops.Oh("鐧诲綍淇℃伅鍑洪敊");
+                if(Parma.ITCode!= itcode)
+                    throw Oops.Oh("鐢ㄦ埛鍚嶉敊璇�");
+                IsTokenPass=true;
+
+            }
+
+                bool needtoken = false;
+                 
+                if (Parma.TenantId == null)
                 {
-                    case 0:
-                        throw Oops.Oh($"璐︽埛鎴栬�呭瘑鐮侀敊璇�");
-                    case 1:
-                         needtoken = await _userService.CheckPsw(Tender[0].TenderId, Tender[0].EmployeeID,Parma.PassWord);
-                       
-                        if(!needtoken)
+                    //濡傛灉杩樻病纭畾绉熸埛ID 闇�瑕佸厛纭畾绉熸埛ID
+                    List<TenderVM> Tender = await _userService.GetUserTenderList(Parma.ITCode);
+
+                    switch (Tender.Count)
+                    {
+                        case 0:
                             throw Oops.Oh($"璐︽埛鎴栬�呭瘑鐮侀敊璇�");
-
-                        Parma.TenantId = Tender[0].TenderId;
-                        Parma.employeeID = Tender[0].EmployeeID;
-                        if (Parma.UnitID == null)
+                        case 1:
+                        if (!IsTokenPass)
                         {
-                        
-                            List<UnitVM> Units = await _userService.GetUserUnitList(Parma.TenantId ?? 0);
-                            if (Units.Count == 0)
-                            {
-                                //娌℃湁鍏徃
-                                needtoken = true;
-                            }
-                            else if (Units.Count == 1)
-                            {
-                                Parma.UnitID = Units[0].UnitID;
-                                needtoken = true;
-                            }
-                            else
-                            {
-                                //鍏朵粬闇�瑕佺敤鎴烽�夋嫨绉熸埛
-                                return new RetLoginVM
-                                {
-                                    NeedNext = true,
-                                    Units = Units,
+                            needtoken = await _userService.CheckPsw(Tender[0].TenderId, Tender[0].EmployeeID, Parma.PassWord);
 
-                                };
-                            }
+                            if (!needtoken)
+                                throw Oops.Oh($"璐︽埛鎴栬�呭瘑鐮侀敊璇�");
                         }
-                    
-                        break;
-                      
-                    default:
+                       
+
+                            Parma.TenantId = Tender[0].TenderId;
+                            Parma.employeeID = Tender[0].EmployeeID;
+                            if (Parma.UnitID == null)
+                            {
+
+                                List<UnitVM> Units = await _userService.GetUserUnitList(Parma.TenantId ?? 0);
+                                if (Units.Count == 0)
+                                {
+                                    //娌℃湁鍏徃
+                                    needtoken = true;
+                                }
+                                else if (Units.Count == 1)
+                                {
+                                    Parma.UnitID = Units[0].UnitID;
+                                    needtoken = true;
+                                }
+                                else
+                                {
+                                    //鍏朵粬闇�瑕佺敤鎴烽�夋嫨绉熸埛
+                                    return new RetLoginVM
+                                    {
+                                        NeedNext = true,
+                                        Units = Units,
+
+                                    };
+                                }
+                            }
+
+                            break;
+
+                        default:
+                            //鍏朵粬闇�瑕佺敤鎴烽�夋嫨绉熸埛
+                            return new RetLoginVM
+                            {
+                                NeedNext = true,
+                                Tenants = Tender,
+
+                            };
+
+
+                    }
+
+
+
+
+
+                }
+                else if (Parma.UnitID == null)
+                {
+
+                    var Units = await _userService.GetUserUnitList(Parma.TenantId ?? 0);
+                    if (Units.Count == 0)
+                    {
+                        //娌℃湁鍏徃
+                        needtoken = true;
+                    }
+                    else if (Units.Count == 1) {
+                        Parma.UnitID = Units[0].UnitID;
+                        needtoken = true;
+                    }
+                    else
+                    {
                         //鍏朵粬闇�瑕佺敤鎴烽�夋嫨绉熸埛
                         return new RetLoginVM
                         {
                             NeedNext = true,
-                            Tenants = Tender,
+                            Units = Units,
 
                         };
+                    }
 
-                      
                 }
 
-
-
-
-              
-            }
-            else if(Parma.UnitID==null)
-            {
-
-                var Units = await _userService.GetUserUnitList(Parma.TenantId??0);
-                if(Units.Count==0)
+                if (needtoken || Parma.UnitID != null)
                 {
-                    //娌℃湁鍏徃
-                    needtoken = true;
-                }
-                else if (Units.Count==1) {
-                    Parma.UnitID= Units[0].UnitID;
-                    needtoken = true;
-                }
-                else
+
+                    TenderVM Tender = (await _userService.GetUserTenderList(Parma.ITCode)).Where(x => x.TenderId == Parma.TenantId && x.EmployeeID == Parma.employeeID).SingleOrDefault();
+                    if (Tender == null)
+                    {
+                        throw Oops.Oh($"璐︽埛瀵嗙爜鎴栬�呯鎴烽�夋嫨閿欒");
+                    }
+                if (!IsTokenPass)
                 {
-                    //鍏朵粬闇�瑕佺敤鎴烽�夋嫨绉熸埛
+                    needtoken = await _userService.CheckPsw(Tender.TenderId, Tender.EmployeeID, Parma.PassWord);
+
+                    if (!needtoken)
+                        throw Oops.Oh($"璐︽埛鎴栬�呭瘑鐮侀敊璇�");
+                }
+                    var token = _tokenService.CreateToken(new Model.JwtInfo
+                    {
+                        EID = Tender.EmployeeID,
+                        LogInSource = Parma.Form,
+                        TEID = Tender.TenderId,
+                        UID = Parma.UnitID,
+                    });
                     return new RetLoginVM
                     {
-                        NeedNext = true,
-                       Units = Units,
+                        NeedNext = false,
+                        Token = token,
 
                     };
                 }
+                throw Oops.Oh($"鍙傛暟閿欒");
+         
+            
+            
 
-            }
 
-            if(needtoken|| Parma.UnitID!=null)
+        }
+
+        /// <summary>
+        /// 鏄惁鏄敤鎴风鎴凤紝鎴栬�呮槸鍛樺伐
+        /// </summary>
+        /// <param name="ITCode">璐﹀彿</param>
+        /// <returns>  杩斿洖true 浠h〃鏄紝 false浠h〃涓嶆槸</returns>
+        [HttpGet("IDIsEmployee")]
+        public async Task<bool> IDIsEmployee(string ITCode, [FromServices] ISqlSugarClient db)
+        {
+          var ad=  ITCode.TryValidate(ValidationTypes.PhoneNumber);
+            if(!ad.IsValid)
             {
-                
-                TenderVM Tender = (await _userService.GetUserTenderList(Parma.ITCode)).Where(x=>x.TenderId==Parma.TenantId&&x.EmployeeID==Parma.employeeID).SingleOrDefault();
-                if(Tender==null)
-                {
-                    throw Oops.Oh($"璐︽埛瀵嗙爜鎴栬�呯鎴烽�夋嫨閿欒");
-                }
-                needtoken = await _userService.CheckPsw(Tender. TenderId, Tender.EmployeeID, Parma.PassWord);
-
-                if (!needtoken)
-                    throw Oops.Oh($"璐︽埛鎴栬�呭瘑鐮侀敊璇�");
-              var token=  _tokenService.CreateToken(new Model.JwtInfo
-                {
-                    EID = Tender.EmployeeID,
-                    LogInSource = Parma.Form,
-                    TEID = Tender.TenderId,
-                    UID = Parma.UnitID,
-                });
-                return new RetLoginVM
-                {
-                    NeedNext = false,
-                   Token = token,
-
-                };
+                throw Oops.Oh("璇疯緭鍏ユ纭殑璐﹀彿");
             }
-            throw Oops.Oh($"鍙傛暟閿欒");
-
+              
+          var count= await db.Queryable<TenantInfo>().Where(x=>x.ItCode==ITCode&&x.IsEn==true&&x.IsDel==false).WithCache(600).CountAsync();
+            if (count > 0)
+                return true;
+            count=await db.Queryable<Document_EmployeeInfo>().Where(x=>x.UserName==ITCode).WithCache(600).CountAsync();
+            if (count > 0)
+                return true;
+            return false;
 
         }
 
 
-        
 
-        /// <summary>
-        /// 鑾峰彇鍏徃鍒楄〃
-        /// </summary>
-        /// <returns>鐧诲綍淇℃伅</returns>      
-        public bool GetUnitList()
-        {
 
-            return true;
-        }
-        /// <summary>
-        /// 鑾峰彇鍏徃鍒楄〃
-        /// </summary>
-        /// <returns>鐧诲綍淇℃伅</returns>
-        public bool GetTenantInfoList()
-        {
 
-            return true;
-        }
-        public string Get()
-        {
-            return $"Hello {nameof(Furion)}";
-        }
     }
 }
diff --git a/DocumentServiceAPI.Application/UserAndLogin/Services/TokenService.cs b/DocumentServiceAPI.Application/UserAndLogin/Services/TokenService.cs
index 8988879..ce8b762 100644
--- a/DocumentServiceAPI.Application/UserAndLogin/Services/TokenService.cs
+++ b/DocumentServiceAPI.Application/UserAndLogin/Services/TokenService.cs
@@ -3,10 +3,13 @@
 using Furion.Authorization;
 using Furion.DistributedIDGenerator;
 using Furion.JsonSerialization;
+using Furion.Logging.Extensions;
+using Microsoft.IdentityModel.Tokens;
 using NetTaste;
 using SqlSugar.Extensions;
 using System;
 using System.Collections.Generic;
+using System.IdentityModel.Tokens.Jwt;
 using System.Linq;
 using System.Reflection;
 using System.Security.Claims;
@@ -18,7 +21,7 @@
     /// <summary>
     /// token鏈嶅姟绫�
     /// </summary>
-    public  class TokenService: IScoped
+    public class TokenService : IScoped
     {
         /// <summary>
         /// Token鏄暐
@@ -27,7 +30,7 @@
         private ISqlSugarClient _db;
         private UserService _UserService;
         private IRedisCacheService _RedisCase;
-        public TokenService(ISqlSugarClient db, UserService  UserInfoService, IRedisCacheService RedisCase ) {
+        public TokenService(ISqlSugarClient db, UserService UserInfoService, IRedisCacheService RedisCase) {
             _db = db;
             _UserService = UserInfoService;
             _RedisCase = RedisCase;
@@ -36,9 +39,9 @@
         /// 鏂板缓涓�涓猅Oken 
         /// </summary>
         /// <returns></returns>
-        public string  CreateToken(JwtInfo jwt)
+        public string CreateToken(JwtInfo jwt)
         {
-            string TokenKey=TokenKeys+ getTokenKey(jwt);
+            string TokenKey = TokenKeys + getTokenKey(jwt);
             IDictionary<string, object> propertyDictionary = new Dictionary<string, object>();
 
             PropertyInfo[] properties = jwt.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance);
@@ -51,14 +54,57 @@
                 propertyDictionary.Add(propertyName.ToLower(), propertyValue);
             }
             var ID = IDGen.NextID();
-             jwt.JID = ID;  
-         var token=   JWTEncryption.Encrypt(propertyDictionary, App.GetConfig<JWTSettingsOptions>("JWTSettings").ExpiredTime ?? 3600);          
-            if(jwt.LogInSource==LogInFrom.PC)
-            _RedisCase.Add<string>(TokenKey, ID.ToString(), expireSeconds: (int )(App.GetConfig<JWTSettingsOptions>("JWTSettings").ExpiredTime??3600));
+            jwt.JID = ID;
+            var token = JWTEncryption.Encrypt(propertyDictionary, App.GetConfig<JWTSettingsOptions>("JWTSettings").ExpiredTime ?? 3600);
+            if (jwt.LogInSource == LogInFrom.PC)
+                _RedisCase.Add<string>(TokenKey, ID.ToString(), expireSeconds: (int)(App.GetConfig<JWTSettingsOptions>("JWTSettings").ExpiredTime ?? 3600));
             return token;
         }
 
+        /// <summary>
+        /// 鏍¢獙token 鐨勬湁鏁堟��
+        /// </summary>
+        /// <param name="Token"> Token鏍¢獙</param>
+        /// <param name="validationParameters"></param>
+        /// <param name="securityToken"></param>
+        /// <returns></returns>
+        public bool  CheckJwt(string Token, out SecurityToken?  securityToken)
+        {
+            var configuration = App.Configuration;
+         //   var value = configuration["xxx:xxx"];
+     
+            string secretKey = configuration["ZCUserInfoJwtOP:SecurityKey"];
+            if (secretKey == null)
+            {
+                "娌℃湁閰嶇疆鐢ㄦ埛涓績鐨勫畨鍏ㄧ閽� ZCUserInfoJwtOP:SecurityKey 鎵句笉鍒�".LogInformation<TokenService>();
+              throw  Oops.Oh("閰嶇疆閿欒锛岃仈绯荤鐞嗗憳");
+            }
 
+            JwtSecurityTokenHandler tokenHandler = new JwtSecurityTokenHandler();
+            //JwtSecurityToken jwt = tokenHandler.ReadJwtToken(Token);
+
+            // 楠岃瘉 JWT 绛惧悕骞舵鏌ユ湁鏁堟湡
+            TokenValidationParameters validationParameters = new TokenValidationParameters
+            {
+                ValidateIssuerSigningKey = true,
+                IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(secretKey)),
+                ValidateIssuer = false,
+                ValidateAudience = false,
+                ClockSkew = TimeSpan.Zero // 绂佺敤鏃堕棿鍋忕Щ閲�
+            };
+            try
+            {
+                ClaimsPrincipal claimsPrincipal = tokenHandler.ValidateToken(Token, validationParameters, out SecurityToken validatedToken);
+               
+                securityToken = validatedToken;
+                return true;
+            }
+            catch (SecurityTokenException)
+            {
+                securityToken=null;
+                return false;
+            }
+        }
 
 
         /// <summary>
@@ -91,6 +137,10 @@
             string TokenKey = TokenKeys + jwt.EID?.ToString() + jwt.UID?.ToString()  + jwt.TEID?.ToString();
             return TokenKey;
         }
+
+
+
+        
     }
    
 }
diff --git a/DocumentServiceAPI.Application/UserAndLogin/ViewMode/UserInfo.cs b/DocumentServiceAPI.Application/UserAndLogin/ViewMode/UserInfo.cs
index 7494f98..2ec9abe 100644
--- a/DocumentServiceAPI.Application/UserAndLogin/ViewMode/UserInfo.cs
+++ b/DocumentServiceAPI.Application/UserAndLogin/ViewMode/UserInfo.cs
@@ -130,8 +130,10 @@
         /// </summary>           
         public string LastUpdateName { get; set; }
         /// <summary>
-        /// 鐢ㄦ埛鍚�
-        /// </summary>           
+        /// 鐢ㄦ埛鍚� 鎵嬫満鍙烽獙璇� 蹇呭~
+        /// </summary>  
+        [Required]
+        [RegularExpression("/^(?:(?:\\+|00)86)?1\\d{10}$/")]
         public string UserName { get; set; }
         /// <summary>
         /// 鐢ㄦ埛瀵嗙爜
diff --git a/DocumentServiceAPI.Application/applicationsettings.json b/DocumentServiceAPI.Application/applicationsettings.json
index 9ba3089..188c419 100644
--- a/DocumentServiceAPI.Application/applicationsettings.json
+++ b/DocumentServiceAPI.Application/applicationsettings.json
@@ -46,12 +46,25 @@
       "KeepVerb": true,//淇濇寔鐗堟湰鍙蜂竴鑷�
       "LowercaseRoute": false
     },
-  
+
   "CorsAccessorSettings": {
     "WithExposedHeaders": [
       "access-token",
       "x-access-token",
       "environment"
     ]
+  },
+  "ZCUserInfoJwtOP": { //zc鐢ㄦ埛涓績jwt閰嶇疆 鐢ㄤ簬瑙f瀽zc鐨則oken
+
+    "Issuer": "http://localhost",
+    "Audience": "http://localhost",
+    "Expires": 10800,
+    "weixinExpires": 1296000,
+    "SecurityKey": "superSecretKey@345",
+    "RefreshTokenExpires": 86400,
+    "LoginPath": "/_Framework/Redirect401"
+
   }
+
+
 }
\ No newline at end of file
diff --git a/DocumentServiceAPI.Model/Oder/Oder.cs b/DocumentServiceAPI.Model/Oder/Oder.cs
index 214e718..818f1a7 100644
--- a/DocumentServiceAPI.Model/Oder/Oder.cs
+++ b/DocumentServiceAPI.Model/Oder/Oder.cs
@@ -1,6 +1,8 @@
 锘縰sing DocumentServiceAPI.Enum;
+using SqlSugar;
 using System;
 using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
@@ -12,6 +14,54 @@
     /// </summary>
     public class Oder:BaseModel
     {
+        /// <summary>
+        /// OderID
+        /// </summary>
+        [SugarColumn( IsPrimaryKey =true,IsIdentity =true)]
+        public int Id { get; set; }
+        /// <summary>
+        /// 鏈堜唤
+        /// </summary>
+        [Display(Name = "鏈堜唤")]
+        public int? MonthCount { get; set; }
+
+        /// <summary>
+        /// 鍗曚綅涓暟
+        /// </summary>
+        [Display(Name = "鍗曚綅涓暟")]
+        public int? UnitCount { get; set; }
+
+        /// <summary>
+        /// 鍛樺伐
+        /// </summary>
+        [Display(Name = "鍛樺伐涓暟")]
+        public int? EmployeeCount { get; set; }
+        /// <summary>
+        /// 鍗曚环
+        /// </summary>
+        [Display(Name = "閲戦")]
+        public decimal Amount { get; set; }
+       /// <summary>
+       /// 鏀粯鏂瑰紡
+       /// </summary>
+        public string? PayType { get; set; }
+        /// <summary>
+        /// 鏀粯鏃堕棿
+        /// </summary>
+        public DateTime? PayTime { get; set; }
+        /// <summary>
+        /// 鎻忚堪
+        /// </summary>        
+        public string? Description { get; set; }
+
+        /// <summary>
+        /// 鎵嬫満鍙风爜
+        /// </summary>
+        public string ITCode { get; set; }
+        /// <summary>
+        /// 鏀块噰鐢ㄦ埛涓績ID
+        /// </summary>
+        public Guid? ZcUserID { get; set; }
 
 
     }
diff --git a/DocumentServiceAPI.Model/Permissions/TenantPermissions.cs b/DocumentServiceAPI.Model/Permissions/TenantPermissions.cs
index bdb4a9c..d5b331b 100644
--- a/DocumentServiceAPI.Model/Permissions/TenantPermissions.cs
+++ b/DocumentServiceAPI.Model/Permissions/TenantPermissions.cs
@@ -1,6 +1,8 @@
 锘縰sing DocumentServiceAPI.Enum;
+using SqlSugar;
 using System;
 using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
@@ -10,8 +12,50 @@
     /// <summary>
     /// 绉熸埛鏉冮檺
     /// </summary>
-    public class TenantPermissions
+    public class TenantPermissions: BaseModel
     {
+        /// <summary>
+        /// id
+        /// </summary>
+        [Display(Name = "id ")]
+        [SugarColumn(ColumnDescription = "id " ,IsPrimaryKey =true,IsIdentity =true)]
+        public int Id { get; set; }
 
+        /// <summary>
+        /// 绉熸埛ID
+        /// </summary>
+        [Display(Name = "绉熸埛ID ")]
+        [SugarColumn(ColumnDescription = "绉熸埛ID ")]
+        public int TenantId { get; set; }
+
+
+        /// <summary>
+        /// 鏈�澶т紒涓氫釜鏁�
+        /// </summary>
+        [Display(Name = "鏈�澶т紒涓氫釜鏁� ")]
+        [SugarColumn(ColumnDescription = "鏈�澶т紒涓氫釜鏁� ")]
+        public int UnitMaxCount { get; set; }
+
+        /// <summary>
+        /// 鏈�澶у憳宸ユ暟閲�
+        /// </summary>
+        [Display(Name = "鏈�澶у憳宸ユ暟閲� ")]
+        [SugarColumn(ColumnDescription = "鏈�澶у憳宸ユ暟閲� ")]
+        public int EmployeeMaxCount { get; set; }
+
+
+        /// <summary>
+        /// 鍒版湡鏃堕棿
+        /// </summary>
+        [Display(Name = "鍒版湡鏃堕棿 ")]
+        [SugarColumn(ColumnDescription = "鍒版湡鏃堕棿 ")]
+        public DateTime OverTime { get; set; }
+
+        /// <summary>
+        /// 鎻忚堪
+        /// </summary>
+        [Display(Name = "鎻忚堪 ")]
+        [SugarColumn(ColumnDescription = "鎻忚堪 ")]
+        public string? Description { get; set; }
     }
 }
diff --git a/DocumentServiceAPI.Model/UserInfoModel/TenantInfo.cs b/DocumentServiceAPI.Model/UserInfoModel/TenantInfo.cs
index 2773ab1..d84de91 100644
--- a/DocumentServiceAPI.Model/UserInfoModel/TenantInfo.cs
+++ b/DocumentServiceAPI.Model/UserInfoModel/TenantInfo.cs
@@ -68,7 +68,12 @@
         /// 瀵嗙爜
         /// </summary>
         [SugarColumn(Length =30)]
-        public string? PsW { get; set; }  
+        public string? PsW { get; set; }
+
+        /// <summary>
+        /// 鏀块噰鐢ㄦ埛涓績ID
+        /// </summary>
+        public Guid? ZcUserID { get; set; }
 
     }
 
diff --git a/DocumentServiceAPI.Model/cyDocumentModel/Doc_Achievement.cs b/DocumentServiceAPI.Model/cyDocumentModel/Doc_Achievement.cs
new file mode 100644
index 0000000..c749af9
--- /dev/null
+++ b/DocumentServiceAPI.Model/cyDocumentModel/Doc_Achievement.cs
@@ -0,0 +1,80 @@
+锘縰sing SqlSugar;
+
+namespace DocumentServiceAPI.Model.cyDocumentModel
+{
+    ///<summary>
+    ///涓氱哗绠$悊
+    ///</summary>
+    [SugarTable("t_doc_achievement")]
+    public class Doc_Achievement : Doc_Base
+    {
+        public Doc_Achievement()
+        {
+        }
+
+        /// <summary>
+        /// id
+        /// </summary>           
+        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
+        public int id { get; set; }              
+
+        /// <summary>
+        /// 褰掑睘鍒嗙被锛堝瓙绫诲瀷锛�
+        /// </summary>           
+        public int? classification_id { get; set; }
+
+        /// <summary>
+        /// 椤圭洰id
+        /// </summary>
+        public int? project_id { get; set; }
+
+        /// <summary>
+        /// 鍚嶇О
+        /// </summary>           
+        public string achievement_name { get; set; }
+
+        /// <summary>
+        /// 涓爣閫氱煡涔�
+        /// </summary>
+        public string zbtzs_url { get; set; }
+
+        /// <summary>
+        /// 鍚堝悓
+        /// </summary>           
+        public string ht_url { get; set; }
+
+        /// <summary>
+        /// 楠屾敹鎶ュ憡
+        /// </summary>
+        public string ysbg_url { get; set; }
+
+        /// <summary>
+        /// 浠樻鍑瘉
+        /// </summary>
+        public string fkpz_url { get; set; }
+
+        /// <summary>
+        /// 鐢ㄦ埛璇勪环
+        /// </summary>
+        public string yhpj_url { get; set; }
+
+        /// <summary>
+        /// 鑾峰璇佷功
+        /// </summary>
+        public string hjzs_url { get; set; }
+
+        /// <summary>
+        /// 鍏宠仈鍒嗙被
+        /// </summary>
+        [SugarColumn(IsIgnore = true)]
+        [Navigate(NavigateType.OneToOne, nameof(classification_id))]
+        public Doc_Classification? DocClassification { get; set; }
+
+        /// <summary>
+        /// 鍏宠仈椤圭洰
+        /// </summary>
+        [SugarColumn(IsIgnore = true)]
+        [Navigate(NavigateType.OneToOne, nameof(project_id))]
+        public Document_ProjectInfo? DocProject { get; set; }
+    }
+}
diff --git a/DocumentServiceAPI.Model/cyDocumentModel/Doc_File_Info.cs b/DocumentServiceAPI.Model/cyDocumentModel/Doc_File_Info.cs
new file mode 100644
index 0000000..e28b3d4
--- /dev/null
+++ b/DocumentServiceAPI.Model/cyDocumentModel/Doc_File_Info.cs
@@ -0,0 +1,97 @@
+锘縰sing SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Security.Principal;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DocumentServiceAPI.Model.cyDocumentModel
+{
+    ///<summary>
+    ///鏂囦欢淇℃伅绫�
+    ///</summary>
+    [SugarTable("t_doc_file")]
+    public class File_Info
+    {
+        /// <summary>
+        /// id
+        /// </summary>           
+        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
+        public int id { get; set; }
+
+        /// <summary>
+        /// 鍘熸枃浠跺悕绉�
+        /// </summary>           
+        public string fileoldname { get; set; }
+
+        /// <summary>
+        /// 鏂板悕绉�
+        /// </summary>           
+        public string filenewname { get; set; }
+
+        /// <summary>
+        /// 淇濆瓨鏂囦欢鍚嶇О
+        /// </summary>           
+        public string fileservername { get; set; }
+
+        /// <summary>
+        /// 鏂囦欢澶у皬锛堝瓧鑺傦級
+        /// </summary>           
+        public int filesize { get; set; }
+
+        /// <summary>
+        /// 鍚庣紑鍚�
+        /// </summary>           
+        public string suffix { get; set; }
+
+        /// <summary>
+        /// 鏇存柊鏃堕棿
+        /// </summary>           
+        public DateTime uptime { get; set; }
+
+        /// <summary>
+        /// 鏂囨。ID
+        /// </summary>
+        public int doc_id { get; set; }
+
+        /// <summary>
+        /// 鐘舵��
+        /// </summary>
+        public int status { get; set; }
+
+        /// <summary>
+        /// 鏂囦欢绫诲瀷
+        /// 001-璧勮川鏂囨。
+        /// 002-涓氱哗鏂囨。
+        /// 003-鏂规鏂囨。
+        /// 004-璐㈠姟鏂囨。
+        /// 005-鎶�鏈枃妗�
+        /// 006-璁惧鏂囨。
+        /// 007-璐ㄦ鏂囨。
+        /// 008-鍒跺害娴佺▼鏂囨。
+        /// </summary>
+        public string filetype { get; set; }
+
+        /// <summary>
+        /// 涓婁紶浜哄憳
+        /// </summary>           
+        public int up_userid { get; set; }
+
+        /// <summary>
+        /// 涓婁紶浜哄憳
+        /// </summary>           
+        public string up_username { get; set; }
+
+        /// <summary>
+        /// 璺緞
+        /// </summary>           
+        public string filepath { get; set; }
+
+        /// <summary>
+        /// 鎺掑簭
+        /// </summary>
+        public int sort { get; set; }
+    }
+
+}
diff --git a/DocumentServiceAPI.Model/cyDocumentModel/Doc_Info.cs b/DocumentServiceAPI.Model/cyDocumentModel/Doc_Info.cs
index 5b494ca..446ddb4 100644
--- a/DocumentServiceAPI.Model/cyDocumentModel/Doc_Info.cs
+++ b/DocumentServiceAPI.Model/cyDocumentModel/Doc_Info.cs
@@ -61,89 +61,13 @@
         [SugarColumn(IsIgnore = true)]
         [Navigate(NavigateType.OneToOne, nameof(org_id))]
         public Document_TenderUnit? DocOrganization { get; set; }
+
+        /// <summary>
+        /// 鍏宠仈椤圭洰
+        /// </summary>
+        [SugarColumn(IsIgnore = true)]
+        [Navigate(NavigateType.OneToOne, nameof(project_id))]
+        public Document_ProjectInfo? DocProject { get; set; }
     }
-
-
-    ///<summary>
-    ///鏂囦欢淇℃伅绫�
-    ///</summary>
-    [SugarTable("t_doc_file")]
-    public class File_Info
-    {
-        /// <summary>
-        /// id
-        /// </summary>           
-        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
-        public int id { get; set; }
-
-        /// <summary>
-        /// 鍘熸枃浠跺悕绉�
-        /// </summary>           
-        public string fileoldname { get; set; }
-
-        /// <summary>
-        /// 鏂板悕绉�
-        /// </summary>           
-        public string filenewname { get; set; }
-
-        /// <summary>
-        /// 淇濆瓨鏂囦欢鍚嶇О
-        /// </summary>           
-        public string fileservername { get; set; }
-        
-        /// <summary>
-        /// 鏂囦欢澶у皬锛堝瓧鑺傦級
-        /// </summary>           
-        public int filesize { get; set; }
-
-        /// <summary>
-        /// 鍚庣紑鍚�
-        /// </summary>           
-        public string suffix { get; set; }
-
-        /// <summary>
-        /// 鏇存柊鏃堕棿
-        /// </summary>           
-        public DateTime uptime { get; set; }
-
-        /// <summary>
-        /// 鏂囨。ID
-        /// </summary>
-        public int doc_id { get; set; }
-
-        /// <summary>
-        /// 鐘舵��
-        /// </summary>
-        public int status { get; set; }
-
-        /// <summary>
-        /// 鏂囦欢绫诲瀷
-        /// 001-璧勮川鏂囨。
-        /// 002-涓氱哗鏂囨。
-        /// 003-鏂规鏂囨。
-        /// 004-璐㈠姟鏂囨。
-        /// 005-鎶�鏈枃妗�
-        /// 006-璁惧鏂囨。
-        /// 007-璐ㄦ鏂囨。
-        /// 008-鍒跺害娴佺▼鏂囨。
-        /// </summary>
-        public string filetype { get; set; }
-
-        /// <summary>
-        /// 涓婁紶浜哄憳
-        /// </summary>           
-        public int up_userid { get; set; }
-
-        /// <summary>
-        /// 涓婁紶浜哄憳
-        /// </summary>           
-        public string up_username { get; set; }
-        
-        /// <summary>
-        /// 璺緞
-        /// </summary>           
-        public string filepath { get; set; }
-    }
-
 
 }
diff --git a/DocumentServiceAPI.Utility/PageBaseSearch.cs b/DocumentServiceAPI.Utility/PageBaseSearch.cs
index ae710f1..ef1f87f 100644
--- a/DocumentServiceAPI.Utility/PageBaseSearch.cs
+++ b/DocumentServiceAPI.Utility/PageBaseSearch.cs
@@ -19,20 +19,22 @@
 
     public abstract class BaseSearch
     {
+        public int ID { get; set; }
+
         /// <summary>
         /// 鍏徃ID
         /// </summary>
-        public string CompanyID { get; set; }
+        public int CompanyID { get; set; }
 
         /// <summary>
         /// 绉熸埛ID
         /// </summary>
-        public string TenantID { get; set; }
+        public int TenantID { get; set; }
 
         /// <summary>
         /// 鐢ㄦ埛ID
         /// </summary>
-        public string UserID { get; set; }
+        public int UserID { get; set; }
 
         /// <summary>
         /// 寮�濮嬫棩鏈�
diff --git a/DocumentServiceAPI.Web.Entry/AuthorizeHandler.cs b/DocumentServiceAPI.Web.Entry/AuthorizeHandler.cs
index ad89288..dc0d05c 100644
--- a/DocumentServiceAPI.Web.Entry/AuthorizeHandler.cs
+++ b/DocumentServiceAPI.Web.Entry/AuthorizeHandler.cs
@@ -1,4 +1,5 @@
 锘縰sing Furion.Authorization;
+using Furion.DataEncryption;
 using Microsoft.AspNetCore.Authorization;
 
 namespace DocumentServiceAPI.Web.Entry
@@ -8,6 +9,7 @@
     /// </summary>
     public class AuthorizeHandler:AppAuthorizeHandler
     {
+   
         /// <summary>
         /// 璇锋眰绠¢亾
         /// </summary>
@@ -17,7 +19,7 @@
         public override Task<bool> PipelineAsync(AuthorizationHandlerContext context, DefaultHttpContext httpContext)
         {
             // 姝ゅ宸茬粡鑷姩楠岃瘉 Jwt token鐨勬湁鏁堟�т簡锛屾棤闇�鎵嬪姩楠岃瘉
-
+         
             // 妫�鏌ユ潈闄愶紝濡傛灉鏂规硶鏄紓姝ョ殑灏变笉鐢� Task.FromResult 鍖呰9锛岀洿鎺ヤ娇鐢� async/await 鍗冲彲
             return Task.FromResult(CheckAuthorzie(httpContext));
         }
diff --git a/DocumentServiceAPI.Web.Entry/DocumentServiceAPI.Web.Entry.csproj.user b/DocumentServiceAPI.Web.Entry/DocumentServiceAPI.Web.Entry.csproj.user
index d5c942b..85e333f 100644
--- a/DocumentServiceAPI.Web.Entry/DocumentServiceAPI.Web.Entry.csproj.user
+++ b/DocumentServiceAPI.Web.Entry/DocumentServiceAPI.Web.Entry.csproj.user
@@ -4,7 +4,7 @@
     <DebuggerFlavor>ProjectDebugger</DebuggerFlavor>
   </PropertyGroup>
   <PropertyGroup>
-    <ActiveDebugProfile>DocumentServiceAPI.Web.Entry</ActiveDebugProfile>
+    <ActiveDebugProfile>IIS Express</ActiveDebugProfile>
     <NameOfLastUsedPublishProfile>E:\workdir\鏍囦功杞欢\ApiService\DocumentServiceAPI\DocumentServiceAPI.Web.Entry\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
   </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git a/DocumentServiceAPI.Web.Entry/Properties/PublishProfiles/FolderProfile.pubxml.user b/DocumentServiceAPI.Web.Entry/Properties/PublishProfiles/FolderProfile.pubxml.user
index 81242db..deeaaa7 100644
--- a/DocumentServiceAPI.Web.Entry/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/DocumentServiceAPI.Web.Entry/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -5,7 +5,7 @@
 <Project>
   <PropertyGroup>
     <_PublishTargetUrl>D:\DocServiceAPI</_PublishTargetUrl>
-    <History>True|2023-08-03T03:23:49.7155745Z;True|2023-08-03T10:57:12.3860490+08:00;True|2023-08-02T17:29:04.8984231+08:00;True|2023-08-02T14:24:54.6607875+08:00;True|2023-08-02T13:12:00.3228236+08:00;</History>
+    <History>True|2023-08-25T08:28:37.8668025Z;True|2023-08-25T15:17:17.9212851+08:00;True|2023-08-25T11:21:18.2228201+08:00;True|2023-08-03T11:23:49.7155745+08:00;True|2023-08-03T10:57:12.3860490+08:00;True|2023-08-02T17:29:04.8984231+08:00;True|2023-08-02T14:24:54.6607875+08:00;True|2023-08-02T13:12:00.3228236+08:00;</History>
     <LastFailureDetails />
   </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git a/DocumentServiceAPI.Web.Entry/Properties/launchSettings.json b/DocumentServiceAPI.Web.Entry/Properties/launchSettings.json
index 0d40925..c565560 100644
--- a/DocumentServiceAPI.Web.Entry/Properties/launchSettings.json
+++ b/DocumentServiceAPI.Web.Entry/Properties/launchSettings.json
@@ -4,8 +4,8 @@
     "windowsAuthentication": false,
     "anonymousAuthentication": true,
     "iisExpress": {
-      "applicationUrl": "http://localhost:53785",
-      "sslPort": 44342
+      "applicationUrl": "http://localhost:5001"
+
     }
   },
   "profiles": {
diff --git a/DocumentServiceAPI.Web.Entry/appsettings.json b/DocumentServiceAPI.Web.Entry/appsettings.json
index c4b4845..5da1f39 100644
--- a/DocumentServiceAPI.Web.Entry/appsettings.json
+++ b/DocumentServiceAPI.Web.Entry/appsettings.json
@@ -37,7 +37,12 @@
 
   },
 
+  //娑堟伅闃熷垪閰嶇疆 涓轰簡鐙珛閮ㄧ讲锛岃繖閲屽崟鐙厤缃�
+  "InitQRedisConfig": {
+    // 濡傛灉閲囩敤瀹瑰櫒鍖栭儴缃睸ervice 瑕佸啓鎴恟edis鐨勬湇鍔″悕锛屽惁鍒欏啓鍦板潃
+    "ConnectionString": "127.0.0.1:6379,password=,connectTimeout=30000,responseTimeout=30000,abortConnect=false,connectRetry=1,syncTimeout=10000,DefaultDatabase=7" //redis鏁版嵁搴撹繛鎺ュ瓧绗︿覆
 
+  },
 
 
   "JWTSettings": {
diff --git a/DocumentServiceAPI.sln b/DocumentServiceAPI.sln
index e632510..cf65739 100644
--- a/DocumentServiceAPI.sln
+++ b/DocumentServiceAPI.sln
@@ -21,6 +21,10 @@
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DocumentServiceAPI.Services", "DocumentServiceAPI.Services\DocumentServiceAPI.Services.csproj", "{3369F102-ABB2-42A4-B216-58D530AEE8BE}"
 EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ZcPayCore", "ZcPayCore\ZcPayCore.csproj", "{76BFAB65-B7AC-4534-A595-363551111129}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocumentServiceApi.InitQMessage", "DocumentServiceApi.InitQMessage\DocumentServiceApi.InitQMessage.csproj", "{0A75ECEE-91C9-4A87-8573-4298DF0B6CDE}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -62,6 +66,14 @@
 		{3369F102-ABB2-42A4-B216-58D530AEE8BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{3369F102-ABB2-42A4-B216-58D530AEE8BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{3369F102-ABB2-42A4-B216-58D530AEE8BE}.Release|Any CPU.Build.0 = Release|Any CPU
+		{76BFAB65-B7AC-4534-A595-363551111129}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{76BFAB65-B7AC-4534-A595-363551111129}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{76BFAB65-B7AC-4534-A595-363551111129}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{76BFAB65-B7AC-4534-A595-363551111129}.Release|Any CPU.Build.0 = Release|Any CPU
+		{0A75ECEE-91C9-4A87-8573-4298DF0B6CDE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{0A75ECEE-91C9-4A87-8573-4298DF0B6CDE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{0A75ECEE-91C9-4A87-8573-4298DF0B6CDE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{0A75ECEE-91C9-4A87-8573-4298DF0B6CDE}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
diff --git a/DocumentServiceApi.InitQMessage/DocumentServiceApi.InitQMessage.csproj b/DocumentServiceApi.InitQMessage/DocumentServiceApi.InitQMessage.csproj
new file mode 100644
index 0000000..cd7176f
--- /dev/null
+++ b/DocumentServiceApi.InitQMessage/DocumentServiceApi.InitQMessage.csproj
@@ -0,0 +1,18 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>net6.0</TargetFramework>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <Nullable>enable</Nullable>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <PackageReference Include="InitQ" Version="1.0.0.15" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\DocumentServiceAPI.Core\DocumentServiceAPI.Core.csproj" />
+    <ProjectReference Include="..\DocumentServiceAPI.Model\DocumentServiceAPI.Model.csproj" />
+  </ItemGroup>
+
+</Project>
diff --git a/DocumentServiceApi.InitQMessage/INITQMessageDefine.cs b/DocumentServiceApi.InitQMessage/INITQMessageDefine.cs
new file mode 100644
index 0000000..a95de16
--- /dev/null
+++ b/DocumentServiceApi.InitQMessage/INITQMessageDefine.cs
@@ -0,0 +1,24 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DocumentServiceApi.InitQMessage
+{
+    /// <summary>
+    /// 娑堟伅缁撴瀯瀹氫箟
+    /// </summary>
+    public static class INITQMessageDefine
+    {
+        /// <summary>
+        /// 璐叆Oder娑堟伅
+        /// </summary>
+        public const string InitTenantOder = "DocumentServiceAPI_OderINIT";
+
+        /// <summary>
+        /// 鎾ゅ崟
+        /// </summary>
+        public const string DecTenantOder = "DocumentServiceAPI_DecOderINIT";
+    }
+}
diff --git a/DocumentServiceApi.InitQMessage/INITQSetups.cs b/DocumentServiceApi.InitQMessage/INITQSetups.cs
new file mode 100644
index 0000000..bd9ce74
--- /dev/null
+++ b/DocumentServiceApi.InitQMessage/INITQSetups.cs
@@ -0,0 +1,48 @@
+锘縰sing CSRedis;
+using Furion;
+using InitQ;
+using Mapster;
+using Microsoft.AspNetCore.Builder;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.DependencyInjection;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DocumentServiceApi.InitQMessage
+{
+    /// <summary>
+    /// 娉ㄥ唽 INITQ
+    /// </summary>
+    public class DocServiceApiStartup : AppStartup
+    {
+        public void ConfigureServices(IServiceCollection services)        {
+
+          
+            var readisconnectionstring = App.Configuration["InitQRedisConfig:ConnectionString"];
+            if (readisconnectionstring != null)
+            //鍒濆鍖杛edi閰嶇疆
+            {
+                services.AddInitQ((op) =>
+                {
+                    op.SuspendTime = 500;
+                    op.IntervalTime = 500;
+                    op.ConnectionString = readisconnectionstring;
+                    op.ListSubscribe = new List<Type>() { typeof(MessageReceive) };
+                    op.ShowLog = false;
+                });
+            }
+
+        }
+
+        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
+        {
+
+        
+        }
+    }
+}
diff --git a/DocumentServiceApi.InitQMessage/MessageReceive.cs b/DocumentServiceApi.InitQMessage/MessageReceive.cs
new file mode 100644
index 0000000..39221e6
--- /dev/null
+++ b/DocumentServiceApi.InitQMessage/MessageReceive.cs
@@ -0,0 +1,181 @@
+锘縰sing DocumentServiceAPI.Model.Oder;
+using DocumentServiceAPI.Model.Permissions;
+using DocumentServiceAPI.Model.UserInfoModel;
+using Furion;
+using Furion.JsonSerialization;
+using Furion.Logging.Extensions;
+using InitQ.Abstractions;
+using InitQ.Attributes;
+using Microsoft.Extensions.Options;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DocumentServiceApi.InitQMessage
+{
+    /// <summary>
+    /// 娑堟伅鎺ユ敹澶勭悊鍑芥暟
+    /// </summary>
+    public class MessageReceive: IRedisSubscribe
+    {
+
+         
+        /// <summary>
+        /// 鍒濆鍖栬鍗曞鐞�
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>       
+        [Subscribe(INITQMessageDefine.InitTenantOder)]
+        private async Task InitTenantOder(string msg)
+        {
+            TenantOderInfo? obj = JSON.Deserialize<TenantOderInfo>(msg);
+            if(obj==null)
+            {
+                $"InitTenantOder 鍒濆鍖� msg 瀵硅薄閿欒 ,msg涓簕msg}".LogInformation<MessageReceive>();
+                return;
+            }
+            var    _db=  App.GetService<ISqlSugarClient>();
+
+
+            Oder oder = new Oder()
+            {
+                Amount = obj.Amount,
+                CreatBy = "娑堟伅闃熷垪 InitTenantOder",
+                CreatTime = DateTime.Now,
+                Description = obj.Description,
+                EmployeeCount = obj.EmployeeCount,
+                MonthCount = obj.MonthCount,
+                UnitCount = obj.UnitCount,
+                PayType = obj.PayType,
+                PayTime = obj.PayTime,
+                ZcUserID = obj.ZcUserID,
+                ITCode = obj.ITCode,
+            };
+            TenantInfo? Tinfo = await _db.Queryable<TenantInfo>().Where(x=>x.ZcUserID==obj.ZcUserID).SingleAsync();
+            if(Tinfo==null)
+            {
+                Tinfo = new TenantInfo
+                {
+                    ZcUserID = obj.ZcUserID,
+                    ItCode = obj.ITCode,
+                    CreatBy = "娑堟伅闃熷垪 InitTenantOder",
+                    CreatTime = DateTime.Now,
+                    Description = obj.Description,
+                    Name = obj.ITCode,
+                    PsW = obj.ITCode.Substring(obj.ITCode.Length - 4),
+
+
+                };
+                TenantPermissions permissions = new TenantPermissions()
+                {
+                    CreatBy = "娑堟伅闃熷垪 InitTenantOder",
+                    CreatTime = DateTime.Now,
+                    Description = obj.Description,
+                    EmployeeMaxCount = obj.EmployeeCount ?? 0,
+                    UnitMaxCount = obj.UnitCount ?? 0,
+                    OverTime = DateTime.Now.AddMonths(obj.MonthCount ?? 0),
+
+
+
+                };
+                try
+                {
+                    await _db.AsTenant().BeginTranAsync();
+
+                  var id=  await _db.Insertable(Tinfo).ExecuteReturnIdentityAsync();
+                    permissions.TenantId = id;
+                    await _db.Insertable(permissions).ExecuteCommandAsync ();
+                    await _db.Insertable(oder).ExecuteCommandAsync();
+                    await _db.AsTenant().CommitTranAsync();
+                }
+                catch (Exception e)
+                {
+                    await _db.AsTenant().RollbackTranAsync();
+                    $"鏂板缓绉熸埛澶勭悊澶辫触 msg:{msg},e:{e.ToString()} BY锛氭秷鎭槦鍒� InitTenantOder".LogInformation<MessageReceive>();
+                    return;
+                }
+
+
+            }
+            else
+            {
+                Tinfo.ItCode = obj.ITCode;
+                Tinfo.UpdataBy = "娑堟伅闃熷垪 InitTenantOder";
+                Tinfo.UpdataTime = DateTime.Now;
+                Tinfo.IsDel = false;
+                Tinfo.IsEn = true;
+              var tp= await _db.Queryable<TenantPermissions>().Where(x=>x.TenantId==Tinfo.Id).FirstAsync();
+
+                try
+                {
+                    await _db.AsTenant().BeginTranAsync();
+                    if (Tinfo.ItCode != obj.ITCode)
+                    {
+                     
+                       await _db.Updateable(Tinfo).ExecuteCommandAsync();
+                    };
+                    if (tp == null)
+                    {
+                        tp = new TenantPermissions()
+                        {
+                            CreatBy = "娑堟伅闃熷垪 InitTenantOder",
+                             CreatTime = DateTime.Now,
+                              IsDel = false,
+                               IsEn = true,
+                                EmployeeMaxCount=obj.EmployeeCount??0,
+                                 UnitMaxCount=obj.UnitCount??0,
+                                  OverTime=DateTime.Now.AddMinutes(obj.MonthCount??0),
+                                   TenantId= Tinfo.Id,
+                                   
+                        };
+                        await _db.Insertable(tp).ExecuteCommandAsync();
+
+                        
+                    }
+                    else
+                    {
+                        tp.IsDel = false;
+                        tp.IsEn = true;
+                        tp.UnitMaxCount = obj.UnitCount ?? tp.UnitMaxCount;
+                        tp.EmployeeMaxCount = obj.EmployeeCount ?? tp.EmployeeMaxCount;
+                        tp.OverTime = tp.OverTime.AddMonths(obj.MonthCount??0);
+                        tp.UpdataBy = "娑堟伅闃熷垪 InitTenantOder";
+                        tp.UpdataTime = DateTime.Now;
+
+                        await _db.Updateable(tp).ExecuteCommandAsync();
+
+                    }
+                    await _db.Insertable(oder).ExecuteCommandAsync();
+                    await _db.AsTenant().CommitTranAsync();
+                
+
+
+
+
+                }
+                catch (Exception e)
+                {
+
+                    await _db.AsTenant().RollbackTranAsync();
+                    $"淇敼绉熸埛鏉冮檺澶辫触 msg:{msg},e:{e.ToString()}  By锛氭秷鎭槦鍒� InitTenantOder".LogInformation<MessageReceive>();
+                    return;
+                }
+            
+            }
+        
+
+
+
+           
+
+         
+
+
+
+        }
+
+    }
+}
diff --git a/DocumentServiceApi.InitQMessage/TenantOderInfo.cs b/DocumentServiceApi.InitQMessage/TenantOderInfo.cs
new file mode 100644
index 0000000..26eac2c
--- /dev/null
+++ b/DocumentServiceApi.InitQMessage/TenantOderInfo.cs
@@ -0,0 +1,60 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DocumentServiceApi.InitQMessage
+{
+    /// <summary>
+    /// 璁㈠崟娑堟伅妯″瀷璇︽儏
+    /// </summary>
+    internal class TenantOderInfo
+    {
+        /// <summary>
+        /// 鎵嬫満鍙风爜
+        /// </summary>
+        public string ITCode { get; set; }
+        /// <summary>
+        /// 鏀块噰鐢ㄦ埛涓績ID
+        /// </summary>
+        public Guid? ZcUserID { get; set; }
+        /// <summary>
+        /// 鏈堜唤
+        /// </summary>
+        [Display(Name = "鏈堜唤")]
+        public int? MonthCount { get; set; }
+
+        /// <summary>
+        /// 鍗曚綅涓暟
+        /// </summary>
+        [Display(Name = "鍗曚綅涓暟")]
+        public int? UnitCount { get; set; }
+
+        /// <summary>
+        /// 鍛樺伐
+        /// </summary>
+        [Display(Name = "鍛樺伐涓暟")]
+        public int? EmployeeCount { get; set; }
+        /// <summary>
+        /// 鍗曚环
+        /// </summary>
+        [Display(Name = "閲戦")]
+        public decimal Amount { get; set; }
+        /// <summary>
+        /// 鏀粯鏂瑰紡
+        /// </summary>
+        public string? PayType { get; set; }
+        /// <summary>
+        /// 鏀粯鏃堕棿
+        /// </summary>
+        public DateTime? PayTime { get; set; }
+        /// <summary>
+        /// 鎻忚堪
+        /// </summary>        
+        public string? Description { get; set; }
+
+
+    }
+}
diff --git a/ZcPayCore/Model/OderInfo.cs b/ZcPayCore/Model/OderInfo.cs
new file mode 100644
index 0000000..094f2f9
--- /dev/null
+++ b/ZcPayCore/Model/OderInfo.cs
@@ -0,0 +1,55 @@
+锘縰sing DocumentServiceAPI.Enum;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ZcPayCore.Model
+{
+    /// <summary>
+    /// 閫氱敤璁㈠崟绫�
+    /// </summary>
+    [Display(Name = "閫氱敤璁㈠崟绫� ")]
+    [SugarTable(TableName = "Oder", TableDescription = "閫氱敤璁㈠崟绫�")]
+    public class Oder : BaseModel
+    {
+        /// <summary>
+        /// Id
+        /// </summary>
+        [Display(Name = "Id ")]
+        [SugarColumn(ColumnDescription = "Id ",IsIdentity =true,IsPrimaryKey =true)]
+        public int Id { get; set; }
+
+        /// <summary>
+        /// 鐢ㄦ埛ID 涔熷彲鑳芥槸绉熸埛ID
+        /// </summary>
+        [Display(Name = "鐢ㄦ埛ID 涔熷彲鑳芥槸绉熸埛ID ")]
+        [SugarColumn(ColumnDescription = "鐢ㄦ埛ID 涔熷彲鑳芥槸绉熸埛ID ")]
+        public int UserID { get; set; }
+
+        /// <summary>
+        /// 璁㈠崟璇︽儏鎻忚堪
+        /// </summary>
+        [Display(Name = "璁㈠崟璇︽儏鎻忚堪 ")]
+        [SugarColumn(ColumnDescription = "璁㈠崟璇︽儏鎻忚堪 ")]
+        public string? Description { get; set; }
+
+        /// <summary>
+        /// 鍏朵粬鍙傛暟
+        /// </summary>
+        [Display(Name = "鍏朵粬鍙傛暟 ")]
+        [SugarColumn(ColumnDescription = "鍏朵粬鍙傛暟 ")]
+        public string? Param { get; set; }
+
+        /// <summary>
+        /// PropertyDecName
+        /// </summary>
+        [Display(Name = "PropertyDecName ")]
+        [SugarColumn(ColumnDescription = "PropertyDecName ")]
+        public int Property { get; set; }
+
+    }
+}
diff --git a/ZcPayCore/ZcPayCore.csproj b/ZcPayCore/ZcPayCore.csproj
new file mode 100644
index 0000000..0f64f88
--- /dev/null
+++ b/ZcPayCore/ZcPayCore.csproj
@@ -0,0 +1,20 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>net6.0</TargetFramework>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <Nullable>enable</Nullable>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <PackageReference Include="Essensoft.Paylink.Alipay" Version="4.1.2" />
+    <PackageReference Include="Essensoft.Paylink.Security" Version="4.1.2" />
+    <PackageReference Include="Essensoft.Paylink.WeChatPay" Version="4.1.2" />
+    <PackageReference Include="SqlSugarCore" Version="5.1.4.99" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\DocumentServiceAPI.Enum\DocumentServiceAPI.Enum.csproj" />
+  </ItemGroup>
+
+</Project>
diff --git "a/\350\265\204\346\226\231\347\256\241\347\220\206.sql" "b/\350\265\204\346\226\231\347\256\241\347\220\206.sql"
new file mode 100644
index 0000000..cec0549
--- /dev/null
+++ "b/\350\265\204\346\226\231\347\256\241\347\220\206.sql"
@@ -0,0 +1,108 @@
+
+/****** Object:  Table [dbo].[t_doc_classification]    Script Date: 2023-08-08 11:35:47 ******/
+SET ANSI_NULLS ON
+GO
+
+SET QUOTED_IDENTIFIER ON
+GO
+
+CREATE TABLE [dbo].[t_doc_classification](
+	[id] [int] IDENTITY(1,1) NOT NULL,
+	[doc_classification_code] [nvarchar](10) NULL,
+	[doc_classification] [nvarchar](30) NULL,
+	[parent_code] [nvarchar](10) NULL,
+	[is_system] [bit] NULL,
+	[tenant_code] [int] NULL,
+	[status] [int] NULL,
+	[sort_id] [int] NULL,
+	[add_time] [datetime] NULL,
+ CONSTRAINT [PK_t_doc_classification] PRIMARY KEY CLUSTERED 
+(
+	[id] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+SET IDENTITY_INSERT [dbo].[t_doc_classification] ON 
+GO
+INSERT [dbo].[t_doc_classification] ([id], [doc_classification_code], [doc_classification], [parent_code], [is_system], [tenant_code], [status], [sort_id], [add_time]) VALUES (1, N'001', N'资质类别', N'00', 1, NULL, 1, 1, CAST(N'2023-08-01T16:21:39.003' AS DateTime))
+INSERT [dbo].[t_doc_classification] ([id], [doc_classification_code], [doc_classification], [parent_code], [is_system], [tenant_code], [status], [sort_id], [add_time]) VALUES (2, N'002', N'业绩类别', N'00', 1, NULL, 1, 2, CAST(N'2023-08-02T16:22:39.003' AS DateTime))
+INSERT [dbo].[t_doc_classification] ([id], [doc_classification_code], [doc_classification], [parent_code], [is_system], [tenant_code], [status], [sort_id], [add_time]) VALUES (3, N'003', N'方案类别', N'00', 1, NULL, 1, 3, CAST(N'2023-08-03T16:23:39.003' AS DateTime))
+INSERT [dbo].[t_doc_classification] ([id], [doc_classification_code], [doc_classification], [parent_code], [is_system], [tenant_code], [status], [sort_id], [add_time]) VALUES (4, N'004', N'财务类别', N'00', 1, NULL, 1, 4, CAST(N'2023-08-04T16:24:39.003' AS DateTime))
+INSERT [dbo].[t_doc_classification] ([id], [doc_classification_code], [doc_classification], [parent_code], [is_system], [tenant_code], [status], [sort_id], [add_time]) VALUES (5, N'005', N'技术类别', N'00', 1, NULL, 1, 5, CAST(N'2023-08-05T16:25:39.003' AS DateTime))
+INSERT [dbo].[t_doc_classification] ([id], [doc_classification_code], [doc_classification], [parent_code], [is_system], [tenant_code], [status], [sort_id], [add_time]) VALUES (6, N'006', N'设备资料', N'00', 1, NULL, 1, 6, CAST(N'2023-08-06T16:25:39.003' AS DateTime))
+INSERT [dbo].[t_doc_classification] ([id], [doc_classification_code], [doc_classification], [parent_code], [is_system], [tenant_code], [status], [sort_id], [add_time]) VALUES (7, N'007', N'质检报告', N'00', 1, NULL, 1, 7, CAST(N'2023-08-07T16:25:39.003' AS DateTime))
+INSERT [dbo].[t_doc_classification] ([id], [doc_classification_code], [doc_classification], [parent_code], [is_system], [tenant_code], [status], [sort_id], [add_time]) VALUES (8, N'008', N'制度流程', N'00', 1, NULL, 1, 8, CAST(N'2023-08-08T16:25:39.003' AS DateTime))
+SET IDENTITY_INSERT [dbo].[t_doc_classification] OFF
+GO
+
+
+/****** Object:  Table [dbo].[t_project_file]    Script Date: 2023-08-09 14:21:20 ******/
+CREATE TABLE [dbo].[t_document](
+	[id] [int] IDENTITY(1,1) NOT NULL,
+	[doc_code] [nvarchar](10) NOT NULL,
+	[classification_id] [int] NULL,
+	[doc_name] [nvarchar](50) NOT NULL,
+	[org_id] [int] NULL,
+	[project_id] [int] NULL,
+	[status] [int] NOT NULL,
+	[add_time] [datetime] NOT NULL,
+	[tenant_code] [int] NULL,
+	[is_del] [bit] NULL,
+ CONSTRAINT [PK_t_doc_credential] PRIMARY KEY CLUSTERED 
+(
+	[id] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
+
+CREATE TABLE [dbo].[t_doc_file](
+	[id] [int] IDENTITY(1,1) NOT NULL,
+	[fileoldname] [nvarchar](50) NULL,
+	[filenewname] [nvarchar](50) NULL,
+	[fileservername] [nvarchar](50) NULL,
+	[filesize] [int] NULL,
+	[suffix] [nvarchar](10) NULL,
+	[uptime] [datetime] NULL,
+	[doc_id] [int] NULL,
+	[status] [int] NULL,
+	[filetype] [nvarchar](10) NULL,
+	[up_userid] [int] NULL,
+	[up_username] [nvarchar](40) NULL,
+	[filepath] [nvarchar](150) NULL,
+	[sort] [int] NULL,
+ CONSTRAINT [PK_t_project_file] PRIMARY KEY CLUSTERED 
+(
+	[id] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
+
+/****** Object:  Table [dbo].[t_doc_achievement]    Script Date: 2023-08-25 16:10:21 ******/
+SET ANSI_NULLS ON
+GO
+
+SET QUOTED_IDENTIFIER ON
+GO
+
+CREATE TABLE [dbo].[t_doc_achievement](
+	[id] [int] IDENTITY(1,1) NOT NULL,
+	[classification_id] [int] NULL,
+	[project_id] [int] NULL,
+	[achievement_name] [nvarchar](50) NULL,
+	[zbtzs_url] [nvarchar](100) NULL,
+	[ht_url] [nvarchar](100) NULL,
+	[ysbg_url] [nvarchar](100) NULL,
+	[fkpz_url] [nvarchar](100) NULL,
+	[yhpj_url] [nvarchar](100) NULL,
+	[hjzs_url] [nvarchar](100) NULL,
+	[tenant_code] [int] NULL,
+	[add_time] [datetime] NULL,
+	[status] [int] NULL,
+ CONSTRAINT [PK_t_doc_achievement] PRIMARY KEY CLUSTERED 
+(
+	[id] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO

--
Gitblit v1.9.1