From b80a3aa37ac5bed12dd6c49e9e731d5f375f80d9 Mon Sep 17 00:00:00 2001
From: 移动系统liao <liaoxujun@qq.com>
Date: 星期四, 26 十二月 2024 09:55:01 +0800
Subject: [PATCH] 增加sw文档关闭配置

---
 DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs |  630 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 550 insertions(+), 80 deletions(-)

diff --git a/DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs b/DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs
index fd87b88..d1486e9 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,103 @@
         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)
+        {
+            if(search.Code == "002")
+            {
+                var data = await _achievementService.GetListAsync(c => c.status == 1  && 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.OrderBy(x => x.sort).Select(c => new { name = c.achievement_name, idcode = c.id+ "/002" }).ToList());
+            }
+            else
+            {
+                var data = await _docManageService.GetListAsync(c => c.status == 1 && c.is_del == false && c.doc_code == search.Code && c.org_id == search.TenantID);
+                if (search.class_id > 0)
+                {
+                    data = data.Where(c => c.classification_id == search.class_id).ToList();
+                }
+
+                return new JsonResult(data.OrderBy(x => x.sort).Select(c => new { name = c.doc_name , idcode = c.id + "/" + c.doc_code }).ToList());
+            }
+         
         }
 
         /// <summary>
@@ -35,7 +127,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 && c.is_del == false );
+            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 +163,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 +184,9 @@
                 var data = await _docManageService.Context.Queryable<Doc_Info>()
                         .Includes(c => c.DocClassification)
                         .Includes(c=>c.DocOrganization)
+                        .Includes(c=>c.DocProject)
                         .Where(expression)
+                        .OrderBy(c=>c.sort)
                         .ToPageListAsync(page.PageIndex, page.PageSize, total);
 
                 if (data != null && total > 0)
@@ -90,10 +199,11 @@
                         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 = "",
-                        status = c.status
+                        project_name = c.DocProject?.ProjectName,                        
+                        status = c.status,
+                        sort = c.sort,
                     }).ToList();
 
                 }
@@ -107,6 +217,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>
@@ -127,13 +255,14 @@
             doc.org_id = info.org_id;
             doc.status = info.status;
             doc.tenant_code = info.tenant_id;
-            
+            doc.sort = info.sort;
+
             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 +277,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 +286,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;
+                doc.sort = info.sort;
+                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 +389,364 @@
             return new JsonResult(msg);
         }
 
+        #region 鏂囨。鐨勬枃浠�
 
+        /// <summary>
+        /// 鏍规嵁鏂囨。鍙锋煡璇㈡枃浠舵暟鎹�
+        /// </summary>
+        /// <param name="id"></param>
+        /// <returns></returns>
+        public async Task<IActionResult> GetDocumentFilesList(int id,string code)
+        {
+            if (code == "002")
+            {
+                var data = await _achievementService.GetByIdAsync(id);
+                List<FileInfo_List_Dto> list_Dtos = new List<FileInfo_List_Dto> ();
+                if (data != null)
+                {
+                    if (!string.IsNullOrEmpty(data.zbtzs_url))
+                    {
+                        FileInfo_List_Dto fileInfo_List_Dto = new FileInfo_List_Dto();
+                        fileInfo_List_Dto.filePath = data.zbtzs_url;
+                        fileInfo_List_Dto.fileNewName = "涓爣閫氱煡涔�";
+                        fileInfo_List_Dto.suffix = Path.GetExtension(data.zbtzs_url);
+                        list_Dtos.Add(fileInfo_List_Dto);
+                    }
+
+                    if (!string.IsNullOrEmpty(data.ht_url))
+                    {
+                        FileInfo_List_Dto fileInfo_List_Dto = new FileInfo_List_Dto();
+                        fileInfo_List_Dto.filePath = data.ht_url;
+                        fileInfo_List_Dto.fileNewName = "鍚堝悓";
+                        fileInfo_List_Dto.suffix = Path.GetExtension(data.ht_url);
+                        list_Dtos.Add(fileInfo_List_Dto);
+                    }
+
+                    if (!string.IsNullOrEmpty(data.ysbg_url))
+                    {
+                        FileInfo_List_Dto fileInfo_List_Dto = new FileInfo_List_Dto();
+                        fileInfo_List_Dto.filePath = data.ysbg_url;
+                        fileInfo_List_Dto.fileNewName = "楠屾敹鎶ュ憡";
+                        fileInfo_List_Dto.suffix = Path.GetExtension(data.ysbg_url);
+                        list_Dtos.Add(fileInfo_List_Dto);
+                    }
+
+                    if (!string.IsNullOrEmpty(data.fkpz_url))
+                    {
+                        FileInfo_List_Dto fileInfo_List_Dto = new FileInfo_List_Dto();
+                        fileInfo_List_Dto.filePath = data.fkpz_url;
+                        fileInfo_List_Dto.fileNewName = "浠樻鍑瘉";
+                        fileInfo_List_Dto.suffix = Path.GetExtension(data.fkpz_url);
+                        list_Dtos.Add(fileInfo_List_Dto);
+                    }
+
+                    if (!string.IsNullOrEmpty(data.yhpj_url))
+                    {
+                        FileInfo_List_Dto fileInfo_List_Dto = new FileInfo_List_Dto();
+                        fileInfo_List_Dto.filePath = data.yhpj_url;
+                        fileInfo_List_Dto.fileNewName = "鐢ㄦ埛璇勪环";
+                        fileInfo_List_Dto.suffix = Path.GetExtension(data.yhpj_url);
+                        list_Dtos.Add(fileInfo_List_Dto);
+                    }
+
+                    if (!string.IsNullOrEmpty(data.hjzs_url))
+                    {
+                        FileInfo_List_Dto fileInfo_List_Dto = new FileInfo_List_Dto();
+                        fileInfo_List_Dto.filePath = data.hjzs_url;
+                        fileInfo_List_Dto.fileNewName = "鑾峰璇佷功";
+                        fileInfo_List_Dto.suffix = Path.GetExtension(data.hjzs_url);
+                        list_Dtos.Add(fileInfo_List_Dto);
+                    }
+
+                }
+
+              
+
+                return new JsonResult(list_Dtos);
+            }
+            else
+            {
+                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));
+                }
+                if (page.zbtzs.HasValue)
+                {
+                    if (page.zbtzs == 1)
+                    {
+                        expression = expression.And(t => t.zbtzs_url != null);
+                    }
+                    else
+                    {
+                        expression = expression.And(t => t.zbtzs_url == null);
+                    }
+                    
+                }
+                if (page.ht.HasValue)
+                {
+                    if (page.ht == 1)
+                    {
+                        expression = expression.And(t => t.ht_url != null);
+                    }
+                    else
+                    {
+                        expression = expression.And(t => t.ht_url == null);
+                    }
+
+                }
+
+                if (page.ysbg.HasValue)
+                {
+                    if (page.ysbg == 1)
+                    {
+                        expression = expression.And(t => t.ysbg_url != null);
+                    }
+                    else
+                    {
+                        expression = expression.And(t => t.ysbg_url == null);
+                    }
+
+                }
+
+                if (page.fkpz.HasValue)
+                {
+                    if (page.fkpz == 1)
+                    {
+                        expression = expression.And(t => t.fkpz_url != null);
+                    }
+                    else
+                    {
+                        expression = expression.And(t => t.fkpz_url == null);
+                    }
+
+                }
+
+                if (page.yhpj.HasValue)
+                {
+                    if (page.yhpj == 1)
+                    {
+                        expression = expression.And(t => t.yhpj_url != null);
+                    }
+                    else
+                    {
+                        expression = expression.And(t => t.yhpj_url == null);
+                    }
+
+                }
+
+                if (page.hjzs.HasValue)
+                {
+                    if (page.hjzs == 1)
+                    {
+                        expression = expression.And(t => t.hjzs_url != null);
+                    }
+                    else
+                    {
+                        expression = expression.And(t => t.hjzs_url == null);
+                    }
+
+                }
+
+                RefAsync<int> total = 0;
+                var data = await _achievementService.Context.Queryable<Doc_Achievement>()
+                        .Includes(c => c.DocClassification)
+                        .Includes(c => c.DocProject)
+                        .Where(expression)
+                        .OrderBy(c => c.sort)
+                        .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.achievement_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,
+                        sort = c.sort,
+                    }).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.achievement_name==model.name && c.classification_id==c.classification_id);
+            if (ck != null)
+            {
+                if(model.id>0 && model.id != ck.id)
+                {
+                    msg = true;
+                }
+                else
+                {
+                    msg = false;
+                }
+              
+            }
+            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.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.tenant_code = info.tenant_id;
-
-            var msg = await _classificationService.InsertAsync(doc);
-            return new JsonResult(msg);
-        }
-
-        /// <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)
+            if (info.id > 0)
             {
-                model.add_time = DateTime.Now;
-                model.doc_classification = info.name;
-                model.status = info.status;
+                Doc_Achievement doc = new Doc_Achievement();
+                doc.id = info.id;
+                doc.add_time = DateTime.Now;
+                doc.classification_id = info.class_id;
+                doc.project_id = info.project_id;
+                doc.achievement_name = info.name;
 
-                msg = await _classificationService.UpdateAsync(model);
+                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;
+                doc.sort = info.sort;
+                return await _achievementService.UpdateAsync(doc);
             }
+            else
+            {
+                Doc_Achievement doc = new Doc_Achievement();
+                doc.add_time = DateTime.Now;
+                doc.classification_id = info.class_id;
+                doc.project_id = info.project_id;
+                doc.achievement_name = info.name;
 
-            return new JsonResult(msg);
+                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;
+                doc.sort = info.sort;
+
+                return await _achievementService.InsertAsync(doc);
+            }
+           
         }
 
+
+
         /// <summary>
-        /// 鍒犻櫎鏁版嵁
+        /// 鍒犻櫎鏂囨。鏁版嵁
         /// </summary>
         /// <param name="doc"></param>
         /// <returns></returns>
-        public async Task<IActionResult> PostDelFileInfo(Document_Submit_Dto doc)
+        public async Task<IActionResult> PostDelAchievement(Achievement_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);
-                }
-            }
+           var sss =  new Doc_Achievement();
+            sss.id = doc.id;
+
+            msg = await _achievementService.DeleteAsync(sss);
             return new JsonResult(msg);
         }
+
+
+        /// <summary>
+        /// 鏍规嵁鏂囨。鍙锋煡璇�
+        /// </summary>
+        /// <param name="search"></param>
+        /// <returns></returns>
+        public async Task<IActionResult> PostAchievementInfo(DocumentSearch search)
+        {
+            var data = await _achievementService.GetFirstAsync(c => c.id == search.ID && c.tenant_code == search.TenantID);
+            if (data != null)
+            {
+                Achievement_Submit_Dto achievement_Submit_Dto = new Achievement_Submit_Dto();
+                achievement_Submit_Dto.id = data.id;
+                achievement_Submit_Dto.class_id = data.classification_id.Value;
+                //achievement_Submit_Dto.project_id = data.project_id.Value;
+                achievement_Submit_Dto.name = data.achievement_name;
+                achievement_Submit_Dto.zbtzs = data.zbtzs_url;
+                achievement_Submit_Dto.ht = data.ht_url;
+                achievement_Submit_Dto.ysbg = data.ysbg_url;
+                achievement_Submit_Dto.fkpz = data.fkpz_url;
+                achievement_Submit_Dto.yhpj = data.yhpj_url;
+                achievement_Submit_Dto.hjzs = data.hjzs_url;
+                achievement_Submit_Dto.tenant_id = data.tenant_code;
+                achievement_Submit_Dto.status = data.status;
+                achievement_Submit_Dto.sort = data.sort;
+
+
+                return new JsonResult(achievement_Submit_Dto);
+            }
+
+            return null;
+        }
+
+        #endregion
     }
 }

--
Gitblit v1.9.1