From 07d8011732a6c6d98fc55ef68495f014f95280d5 Mon Sep 17 00:00:00 2001 From: qwj <qwjzorro@163.com> Date: 星期四, 24 八月 2023 10:41:59 +0800 Subject: [PATCH] 方案、财务、设备、技术力量、质检报告、制度流程api --- DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs | 72 +++++++++++++++++++++++++++++++++++- 1 files changed, 70 insertions(+), 2 deletions(-) diff --git a/DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs b/DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs index 0365c1d..85aaef9 100644 --- a/DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs +++ b/DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs @@ -1,9 +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 @@ -17,13 +20,71 @@ private readonly DocumentManageService _docManageService; private readonly OrganizationService _organizationService; private readonly FileManageService _fileManageService; + private readonly ProjectManageService _projectService; + 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, IRedisCacheService redisCase) { _classificationService = classService; _docManageService = docService; _organizationService = orgService; _fileManageService = fileManageService; + _projectService = projectService; + + _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> @@ -40,6 +101,11 @@ { 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); @@ -86,7 +152,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) @@ -101,7 +169,7 @@ org_id = c.org_id, org_name = c.DocOrganization?.UnitName, project_id = c.project_id, - project_name = "", + project_name = c.DocProject?.ProjectName, status = c.status }).ToList(); -- Gitblit v1.9.1