From 90858c80d9921b555119f41060c1f883f6e6ffc5 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期四, 26 十二月 2024 12:49:35 +0800
Subject: [PATCH] 提交

---
 DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs |  707 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 672 insertions(+), 35 deletions(-)

diff --git a/DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs b/DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs
index 7a19cf5..d440eea 100644
--- a/DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs
+++ b/DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs
@@ -23,9 +23,11 @@
         private readonly ProjectManageService _projectService;
         private readonly DocAchievementService _achievementService;
         private readonly IRedisCacheService _redisCache;
+        private readonly DocShebeinengliService _shebeinengliService;
 
         public DocumentManageAppService(DocClassificationService classService, DocumentManageService docService, OrganizationService orgService,
-            FileManageService fileManageService, ProjectManageService projectService, DocAchievementService achievementService, IRedisCacheService redisCase)
+            FileManageService fileManageService, ProjectManageService projectService, DocAchievementService achievementService, IRedisCacheService redisCase
+            , DocShebeinengliService shebeinengliService)
         {
             _classificationService = classService;
             _docManageService = docService;
@@ -33,6 +35,7 @@
             _fileManageService = fileManageService;
             _projectService = projectService;
             _achievementService = achievementService;
+            _shebeinengliService = shebeinengliService;
 
             _redisCache = redisCase;
         }
@@ -96,13 +99,37 @@
         /// <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)
+            if(search.Code == "002")
             {
-                data = data.Where(c => c.classification_id == search.class_id).ToList();
-            }
+                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.Select(c => new { name= c.doc_name, c.id }).ToList());
+                return new JsonResult(data.OrderBy(x => x.sort).Select(c => new { name = c.achievement_name, idcode = c.id+ "/002" }).ToList());
+            }
+            else if (search.Code == "006")
+            {
+                var data = await _shebeinengliService.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.shebeinengli_name, idcode = c.id + "/006" }).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>
@@ -114,7 +141,7 @@
         {
             var msg = false;
             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 );
+            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);
@@ -172,7 +199,7 @@
                         .Includes(c=>c.DocOrganization)
                         .Includes(c=>c.DocProject)
                         .Where(expression)
-                        .OrderByDescending(c=>c.id)
+                        .OrderBy(c=>c.sort)
                         .ToPageListAsync(page.PageIndex, page.PageSize, total);
 
                 if (data != null && total > 0)
@@ -188,7 +215,11 @@
                         org_name = c.DocOrganization?.UnitName,
                         project_id = c.project_id,
                         project_name = c.DocProject?.ProjectName,                        
-                        status = c.status
+                        status = c.status,
+                        sort = c.sort,
+                        zb_time = c.zb_time.HasValue ? c.zb_time.Value.ToString("yyyy/MM/dd") : "",
+                        zige_code = c.zige_code,
+                        zige_code_name = c.document_Dictionary?.Name
                     }).ToList();
 
                 }
@@ -240,7 +271,10 @@
             doc.org_id = info.org_id;
             doc.status = info.status;
             doc.tenant_code = info.tenant_id;
-            
+            doc.sort = info.sort;
+            doc.zb_time = info.zb_time;
+            doc.zige_code = info.zige_code;
+
             var id =await _docManageService.InsertReturnIdentityAsync(doc);
             if (id > 0)
             {
@@ -287,7 +321,9 @@
                 doc.doc_name = info.name;
                 doc.org_id = info.org_id;
                 doc.status = info.status;
-
+                doc.sort = info.sort;
+                doc.zb_time = info.zb_time;
+                doc.zige_code = info.zige_code;
                 if (await _docManageService.UpdateAsync(doc))
                 {
                     //鏂版彁浜ょ殑鏂囦欢
@@ -380,12 +416,140 @@
         /// </summary>
         /// <param name="id"></param>
         /// <returns></returns>
-        public async Task<IActionResult> GetDocumentFilesList(int id)
+        public async Task<IActionResult> GetDocumentFilesList(int id,string code)
         {
-            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();
+            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);
+                    }
 
-            return new JsonResult(list);
+                    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 if (code == "006")
+            {
+                var data = await _shebeinengliService.GetByIdAsync(id);
+                List<FileInfo_List_Dto> list_Dtos = new List<FileInfo_List_Dto>();
+                if (data != null)
+                {
+                    if (!string.IsNullOrEmpty(data.sbzp_url) && data.sbzp_fuhe > 0)
+                    {
+                        FileInfo_List_Dto fileInfo_List_Dto = new FileInfo_List_Dto();
+                        fileInfo_List_Dto.filePath = data.sbzp_url;
+                        fileInfo_List_Dto.fileNewName = "璁惧鐓х墖";
+                        fileInfo_List_Dto.suffix = Path.GetExtension(data.sbzp_url);
+                        list_Dtos.Add(fileInfo_List_Dto);
+                    }
+
+                    if (!string.IsNullOrEmpty(data.gmht_url) && data.gmht_fuhe > 0)
+                    {
+                        FileInfo_List_Dto fileInfo_List_Dto = new FileInfo_List_Dto();
+                        fileInfo_List_Dto.filePath = data.gmht_url;
+                        fileInfo_List_Dto.fileNewName = "璐拱鍚堝悓";
+                        fileInfo_List_Dto.suffix = Path.GetExtension(data.gmht_url);
+                        list_Dtos.Add(fileInfo_List_Dto);
+                    }
+
+                    if (!string.IsNullOrEmpty(data.fp_url) && data.fp_fuhe > 0)
+                    {
+                        FileInfo_List_Dto fileInfo_List_Dto = new FileInfo_List_Dto();
+                        fileInfo_List_Dto.filePath = data.fp_url;
+                        fileInfo_List_Dto.fileNewName = "鍙戠エ";
+                        fileInfo_List_Dto.suffix = Path.GetExtension(data.fp_url);
+                        list_Dtos.Add(fileInfo_List_Dto);
+                    }
+
+                    if (!string.IsNullOrEmpty(data.fkpz_url) && data.fkpz_fuhe > 0)
+                    {
+                        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.csmp_url) && data.csmp_fuhe > 0)
+                    {
+                        FileInfo_List_Dto fileInfo_List_Dto = new FileInfo_List_Dto();
+                        fileInfo_List_Dto.filePath = data.csmp_url;
+                        fileInfo_List_Dto.fileNewName = "鍙傛暟锛堥摥鐗岋級";
+                        fileInfo_List_Dto.suffix = Path.GetExtension(data.csmp_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
@@ -414,13 +578,89 @@
                 {
                     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)
-                        .OrderByDescending(c => c.id)
+                        .OrderBy(c => c.sort)
                         .ToPageListAsync(page.PageIndex, page.PageSize, total);
 
                 if (data != null && total > 0)
@@ -432,14 +672,16 @@
                         class_name = c.DocClassification?.doc_classification,
                         id = c.id,
                         project_id = c.project_id,
-                        project_name = c.DocProject?.ProjectName,
+                        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
+                        status = c.status,
+                        sort = c.sort,
+                        zb_time = c.zb_time.HasValue? c.zb_time.Value.ToString("yyyy/MM/dd") :"",
                     }).ToList();
 
                 }
@@ -464,10 +706,18 @@
         {
             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);
+            && c.achievement_name==model.name && c.classification_id== model.class_id);
             if (ck != null)
             {
-                msg = true;
+                if (model.id <= 0 || (model.id > 0 && model.id != ck.id))
+                {
+                    msg = true;
+                }
+                else
+                {
+                    msg = false;
+                }
+              
             }
             return msg;
         }
@@ -479,23 +729,410 @@
         /// <returns></returns>
         public async Task<bool> PostAddDocAchievement(Achievement_Submit_Dto info)
         {
-            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;
+            if (info.id > 0)
+            {
+                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;
 
-            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.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.status = 1;
+                doc.tenant_code = info.tenant_id;
+                doc.sort = info.sort;
+                doc.zb_time = info.zb_time;
+                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 await _achievementService.InsertAsync(doc);
+                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;
+                doc.zb_time = info.zb_time;
+
+                return await _achievementService.InsertAsync(doc);
+            }
+           
+        }
+
+
+
+        /// <summary>
+        /// 鍒犻櫎鏂囨。鏁版嵁
+        /// </summary>
+        /// <param name="doc"></param>
+        /// <returns></returns>
+        public async Task<IActionResult> PostDelAchievement(Achievement_Submit_Dto doc)
+        {
+            bool msg = false;
+           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;
+                achievement_Submit_Dto.zb_time = data.zb_time;
+
+
+                return new JsonResult(achievement_Submit_Dto);
+            }
+
+            return null;
+        }
+
+        #endregion
+
+
+
+        #region 璁惧鑳藉姏
+
+        /// <summary>
+        /// 鏍规嵁鍒嗛〉鏉′欢鏌ヨ鍒嗛〉鏁版嵁
+        /// </summary>
+        /// <param name="page"></param>
+        /// <returns></returns>
+        public async Task<IActionResult> PostShebeinengliListPage(DocumentPageSearch page)
+        {
+            PageResult<Achievement_List_Dto> result = new PageResult<Achievement_List_Dto>();
+
+            try
+            {
+                Expression<Func<Doc_Shebeinengli, 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.shebeinengli_name.Contains(page.Name));
+                }
+                if (page.sbzp.HasValue)
+                {
+                    if (page.sbzp == 1)
+                    {
+                        expression = expression.And(t => t.sbzp_url != null);
+                    }
+                    else
+                    {
+                        expression = expression.And(t => t.sbzp_url == null);
+                    }
+
+                }
+                if (page.gmht.HasValue)
+                {
+                    if (page.gmht == 1)
+                    {
+                        expression = expression.And(t => t.gmht_url != null);
+                    }
+                    else
+                    {
+                        expression = expression.And(t => t.gmht_url == null);
+                    }
+
+                }
+
+                if (page.fp.HasValue)
+                {
+                    if (page.fp == 1)
+                    {
+                        expression = expression.And(t => t.fp_url != null);
+                    }
+                    else
+                    {
+                        expression = expression.And(t => t.fp_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.csmp.HasValue)
+                {
+                    if (page.csmp == 1)
+                    {
+                        expression = expression.And(t => t.csmp_url != null);
+                    }
+                    else
+                    {
+                        expression = expression.And(t => t.csmp_url == null);
+                    }
+
+                }
+
+                
+
+                RefAsync<int> total = 0;
+                var data = await _shebeinengliService.Context.Queryable<Doc_Shebeinengli>()
+                        .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.shebeinengli_name,//c.DocProject?.ProjectName,
+                     
+                        sbzp = c.sbzp_url,
+                        gmht = c.gmht_url,
+                        fp = c.fp_url,
+                        fkpz = c.fkpz_url,
+                        csmp = c.csmp_url,
+                        status = c.status,
+                        sort = c.sort,
+                        zb_time = c.zb_time.HasValue ? c.zb_time.Value.ToString("yyyy/MM/dd") : "",
+                        zige_code = (c.sbzp_zige.HasValue&& c.sbzp_zige >0 )
+                        || (c.gmht_zige.HasValue && c.gmht_zige > 0)
+                        || (c.fp_zige.HasValue && c.fp_zige > 0)
+                        || (c.fkpz_zige.HasValue && c.fkpz_zige > 0)
+                        || (c.csmp_zige.HasValue && c.csmp_zige > 0) ? 1:null,
+                    }).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> CheckDocShebeinengliDuplicate(Document_Submit_Dto model)
+        {
+            var msg = false;
+            var ck = await _shebeinengliService.GetFirstAsync(c => c.status == 1 && c.tenant_code == model.tenant_id
+            && c.shebeinengli_name == model.name && c.classification_id == model.class_id);
+            if (ck != null)
+            {
+                if (model.id <= 0  || (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<bool> PostAddDocShebeinengli(Achievement_Submit_Dto info)
+        {
+            if (info.id > 0)
+            {
+                Doc_Shebeinengli doc = new Doc_Shebeinengli();
+                doc.id = info.id;
+                doc.add_time = DateTime.Now;
+                doc.classification_id = info.class_id;
+                doc.project_id = info.project_id;
+                doc.shebeinengli_name = info.name;
+
+               
+                doc.sbzp_url = info.sbzp;
+                doc.gmht_url = info.gmht;
+                doc.fp_url = info.fp;
+                doc.fkpz_url = info.fkpz;
+                doc.csmp_url = info.csmp;
+
+                doc.status = 1;
+                doc.tenant_code = info.tenant_id;
+                doc.sort = info.sort;
+                doc.zb_time = info.zb_time;
+                doc.zige_code = info.zige_code;
+
+                doc.sbzp_zige = info.sbzp_zige;
+                doc.gmht_zige = info.gmht_zige;
+                doc.fp_zige = info.fp_zige;
+                doc.fkpz_zige = info.fkpz_zige;
+                doc.csmp_zige = info.csmp_zige;
+
+                doc.sbzp_fuhe = info.sbzp_fuhe;
+                doc.gmht_fuhe = info.gmht_fuhe;
+                doc.fp_fuhe = info.fp_fuhe;
+                doc.fkpz_fuhe = info.fkpz_fuhe;
+                doc.csmp_fuhe = info.csmp_fuhe;
+
+                return await _shebeinengliService.UpdateAsync(doc);
+            }
+            else
+            {
+                Doc_Shebeinengli doc = new Doc_Shebeinengli();
+                doc.add_time = DateTime.Now;
+                doc.classification_id = info.class_id;
+                doc.project_id = info.project_id;
+                doc.shebeinengli_name = info.name;
+
+                doc.sbzp_url = info.sbzp;
+                doc.gmht_url = info.gmht;
+                doc.fp_url = info.fp;
+                doc.fkpz_url = info.fkpz;
+                doc.csmp_url = info.csmp;
+
+                doc.status = 1;
+                doc.tenant_code = info.tenant_id;
+                doc.sort = info.sort;
+                doc.zb_time = info.zb_time;
+                doc.zige_code = info.zige_code;
+
+                doc.sbzp_zige = info.sbzp_zige;
+                doc.gmht_zige = info.gmht_zige;
+                doc.fp_zige = info.fp_zige;
+                doc.fkpz_zige = info.fkpz_zige;
+                doc.csmp_zige = info.csmp_zige;
+
+                doc.sbzp_fuhe = info.sbzp_fuhe;
+                doc.gmht_fuhe = info.gmht_fuhe;
+                doc.fp_fuhe = info.fp_fuhe;
+                doc.fkpz_fuhe = info.fkpz_fuhe;
+                doc.csmp_fuhe = info.csmp_fuhe;
+
+                return await _shebeinengliService.InsertAsync(doc);
+            }
+
+        }
+
+
+
+        /// <summary>
+        /// 鍒犻櫎鏂囨。鏁版嵁
+        /// </summary>
+        /// <param name="doc"></param>
+        /// <returns></returns>
+        public async Task<IActionResult> PostDelShebeinengli(Achievement_Submit_Dto doc)
+        {
+            bool msg = false;
+            var sss = new Doc_Shebeinengli();
+            sss.id = doc.id;
+
+            msg = await _shebeinengliService.DeleteAsync(sss);
+            return new JsonResult(msg);
+        }
+
+
+        /// <summary>
+        /// 鏍规嵁鏂囨。鍙锋煡璇�
+        /// </summary>
+        /// <param name="search"></param>
+        /// <returns></returns>
+        public async Task<IActionResult> PostShebeinengliInfo(DocumentSearch search)
+        {
+            var data = await _shebeinengliService.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.shebeinengli_name;
+                achievement_Submit_Dto.sbzp = data.sbzp_url;
+                achievement_Submit_Dto.gmht = data.gmht_url;
+                achievement_Submit_Dto.fp = data.fp_url;
+                achievement_Submit_Dto.fkpz = data.fkpz_url;
+                achievement_Submit_Dto.csmp = data.csmp_url;
+                achievement_Submit_Dto.tenant_id = data.tenant_code;
+                achievement_Submit_Dto.status = data.status;
+                achievement_Submit_Dto.sort = data.sort;
+                achievement_Submit_Dto.zb_time = data.zb_time;
+                achievement_Submit_Dto.zige_code = data.zige_code;
+
+                achievement_Submit_Dto.sbzp_zige = data.sbzp_zige;
+                achievement_Submit_Dto.gmht_zige = data.gmht_zige;
+                achievement_Submit_Dto.fp_zige = data.fp_zige;
+                achievement_Submit_Dto.fkpz_zige = data.fkpz_zige;
+                achievement_Submit_Dto.csmp_zige = data.csmp_zige;
+
+                achievement_Submit_Dto.sbzp_fuhe = data.sbzp_fuhe;
+                achievement_Submit_Dto.gmht_fuhe = data.gmht_fuhe;
+                achievement_Submit_Dto.fp_fuhe = data.fp_fuhe;
+                achievement_Submit_Dto.fkpz_fuhe = data.fkpz_fuhe;
+                achievement_Submit_Dto.csmp_fuhe = data.csmp_fuhe;
+
+                return new JsonResult(achievement_Submit_Dto);
+            }
+
+            return null;
         }
 
         #endregion

--
Gitblit v1.9.1