DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
DocumentServiceAPI.Application/DocManage/Dtos/Document_List_Dto.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
DocumentServiceAPI.Application/DocManage/Dtos/FileInfo_List_Dto.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
DocumentServiceAPI.Application/DocManage/Services/DocumentManageService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
DocumentServiceAPI.Model/cyDocumentModel/Doc_File_Info.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
DocumentServiceAPI.Model/cyDocumentModel/Doc_Info.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
DocumentServiceAPI.Utility/PageBaseSearch.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs
@@ -3,6 +3,7 @@ using DocumentServiceAPI.Application.System.Services; using DocumentServiceAPI.Model.cyDocumentModel; using DocumentServiceAPI.Utility; using Microsoft.AspNetCore.Mvc.RazorPages; using System.Linq.Expressions; namespace DocumentServiceAPI.Application.DocManage @@ -16,8 +17,6 @@ private readonly DocumentManageService _docManageService; private readonly OrganizationService _organizationService; private readonly FileManageService _fileManageService; public DocumentManageAppService(DocClassificationService classService, DocumentManageService docService, OrganizationService orgService,FileManageService fileManageService) { @@ -35,7 +34,17 @@ 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.id > 0) { expression = expression.And(t => t.id != model.id); } var ck =await _docManageService.GetFirstAsync(expression); if (ck != null) { msg = true; @@ -56,7 +65,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); @@ -90,7 +99,7 @@ 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 @@ -107,6 +116,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 +158,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 +175,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 +184,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 +287,21 @@ return new JsonResult(msg); } #region 文档的文件 /// <summary> /// 添加数据 /// 根据文档号查询文件数据 /// </summary> /// <param name="info"></param> /// <param name="id"></param> /// <returns></returns> public async Task<IActionResult> PostAddFilesInfo(Classification_Submit_Dto info) public async Task<IActionResult> GetDocumentFilesList(int id) { 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 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(); var msg = await _classificationService.InsertAsync(doc); return new JsonResult(msg); return new JsonResult(list); } /// <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 } } 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,56 @@ /// <summary> /// 投标单位 /// </summary> public int? org_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 +131,7 @@ /// </summary> public class DocumentFile_Submit_Dto { public int id { get; set; } /// <summary> /// 原文件名称 /// </summary> @@ -133,5 +179,7 @@ public string filepath { get; set; } public int sort { get; set; } } } DocumentServiceAPI.Application/DocManage/Dtos/FileInfo_List_Dto.cs
New file @@ -0,0 +1,42 @@ using 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; } } } DocumentServiceAPI.Application/DocManage/Services/DocumentManageService.cs
@@ -37,6 +37,7 @@ public class DocumentSearch : BaseSearch { /// <summary> /// 分类代码 /// </summary> DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml
@@ -70,6 +70,13 @@ <param name="page"></param> <returns></returns> </member> <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.PostDocumentInfo(DocumentServiceAPI.Application.DocManage.Services.DocumentSearch)"> <summary> 根据文档号查询 </summary> <param name="search"></param> <returns></returns> </member> <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.PostAddDocumentInfo(DocumentServiceAPI.Application.DocManage.Dtos.Document_Submit_Dto)"> <summary> 添加数据 @@ -77,14 +84,7 @@ <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)"> <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.PostEdtDocumentInfo(DocumentServiceAPI.Application.DocManage.Dtos.Document_Submit_Dto)"> <summary> 修改数据 </summary> @@ -93,30 +93,16 @@ </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)"> <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.GetDocumentFilesList(System.Int32)"> <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> <param name="id"></param> <returns></returns> </member> <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Classification_Submit_Dto.code"> @@ -179,6 +165,21 @@ 投标单位 </summary> </member> <member name="T:DocumentServiceAPI.Application.DocManage.Dtos.Document_Info_Dto"> <summary> 查询文档信息 </summary> </member> <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Document_Info_Dto.class_id"> <summary> 分类id </summary> </member> <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Document_Info_Dto.org_id"> <summary> 投标单位 </summary> </member> <member name="T:DocumentServiceAPI.Application.DocManage.Dtos.DocumentFile_Submit_Dto"> <summary> 提交文件信息 @@ -229,6 +230,11 @@ 上传人员 </summary> </member> <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.FileInfo_List_Dto.suffix"> <summary> 扩展名 </summary> </member> <member name="P:DocumentServiceAPI.Application.DocManage.Services.DocClassificationPageSearch.Code"> <summary> 分类代码 DocumentServiceAPI.Model/cyDocumentModel/Doc_File_Info.cs
New file @@ -0,0 +1,97 @@ using 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; } } } DocumentServiceAPI.Model/cyDocumentModel/Doc_Info.cs
@@ -63,87 +63,4 @@ public Document_TenderUnit? DocOrganization { 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; } } } 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> /// 开始日期