From fed8aa234205247e05305ee7716ae54e894430c7 Mon Sep 17 00:00:00 2001
From: qwj <qwjzorro@163.com>
Date: 星期三, 16 八月 2023 09:40:58 +0800
Subject: [PATCH] 资质管理api
---
DocumentServiceAPI.Model/cyDocumentModel/Doc_Info.cs | 149 +++++++
DocumentServiceAPI.Application/DocManage/Dtos/Classification_Submit_Dto.cs | 10
DocumentServiceAPI.Application/System/OrganizationAppService.cs | 21
DocumentServiceAPI.Web.Entry/appsettings.json | 2
DocumentServiceAPI.Application/DocManage/Services/DocumentManageService.cs | 40 +
DocumentServiceAPI.Model/cyDocumentModel/Doc_Classification.cs | 13
DocumentServiceAPI.Application/DocManage/Dtos/Document_List_Dto.cs | 137 +++++++
DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs | 282 ++++++++++++++
DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml | 287 +++++++++++++++
DocumentServiceAPI.Application/DocManage/Services/DocClassificationService.cs | 35 +
DocumentServiceAPI.Utility/UtilitySearch.cs | 90 ++++
DocumentServiceAPI.Utility/PageBaseSearch.cs | 29 +
DocumentServiceAPI.Application/DocManage/DocClassificationManageAppService.cs | 17
13 files changed, 1,078 insertions(+), 34 deletions(-)
diff --git a/DocumentServiceAPI.Application/DocManage/DocManageAppService.cs b/DocumentServiceAPI.Application/DocManage/DocClassificationManageAppService.cs
similarity index 84%
rename from DocumentServiceAPI.Application/DocManage/DocManageAppService.cs
rename to DocumentServiceAPI.Application/DocManage/DocClassificationManageAppService.cs
index f09fa68..de9221f 100644
--- a/DocumentServiceAPI.Application/DocManage/DocManageAppService.cs
+++ b/DocumentServiceAPI.Application/DocManage/DocClassificationManageAppService.cs
@@ -8,11 +8,11 @@
/// <summary>
/// 璧勬枡鍒嗙被绠$悊
/// </summary>
- public class DocManageAppService : IDynamicApiController
+ public class DocClassificationManageAppService : IDynamicApiController
{
private readonly DocClassificationService _classificationService;
- public DocManageAppService(DocClassificationService classificationService)
+ public DocClassificationManageAppService(DocClassificationService classificationService)
{
_classificationService = classificationService;
}
@@ -55,6 +55,17 @@
}
/// <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>
@@ -69,7 +80,7 @@
doc.parent_code = info.code;
doc.sort_id = 99;
doc.status = info.status;
- doc.tenant_code = "";
+ doc.tenant_code = info.tenant_id;
var msg =await _classificationService.InsertAsync(doc);
return new JsonResult(msg);
diff --git a/DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs b/DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs
new file mode 100644
index 0000000..fd87b88
--- /dev/null
+++ b/DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs
@@ -0,0 +1,282 @@
+锘縰sing DocumentServiceAPI.Application.DocManage.Dtos;
+using DocumentServiceAPI.Application.DocManage.Services;
+using DocumentServiceAPI.Application.System.Services;
+using DocumentServiceAPI.Model.cyDocumentModel;
+using DocumentServiceAPI.Utility;
+using System.Linq.Expressions;
+
+namespace DocumentServiceAPI.Application.DocManage
+{
+ /// <summary>
+ /// 璧勬枡绠$悊
+ /// </summary>
+ public class DocumentManageAppService : IDynamicApiController
+ {
+ private readonly DocClassificationService _classificationService;
+ private readonly DocumentManageService _docManageService;
+ private readonly OrganizationService _organizationService;
+ private readonly FileManageService _fileManageService;
+
+
+
+ public DocumentManageAppService(DocClassificationService classService, DocumentManageService docService, OrganizationService orgService,FileManageService fileManageService)
+ {
+ _classificationService = classService;
+ _docManageService = docService;
+ _organizationService = orgService;
+ _fileManageService = fileManageService;
+ }
+
+ /// <summary>
+ /// 妫�鏌ュ悕绉伴噸澶�
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ 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);
+ if (ck != null)
+ {
+ msg = true;
+ }
+ return msg;
+ }
+
+ /// <summary>
+ /// 鏍规嵁鍒嗛〉鏉′欢鏌ヨ鍒嗛〉鏁版嵁
+ /// </summary>
+ /// <param name="page"></param>
+ /// <returns></returns>
+ public async Task<IActionResult> PostListPage(DocumentPageSearch page)
+ {
+ PageResult<Document_List_Dto> result = new PageResult<Document_List_Dto>();
+
+ try
+ {
+ Expression<Func<Doc_Info, bool>> expression = t => true;
+
+ expression = expression.And(t => t.doc_code == page.Code && t.is_del==false);
+ if (page.ClassCode.HasValue)
+ {
+ expression = expression.And(t => t.classification_id == page.ClassCode);
+ }
+ if (!string.IsNullOrEmpty(page.Name))
+ {
+ expression = expression.And(t => t.doc_name.Contains(page.Name));
+ }
+ if (page.Status.HasValue)
+ {
+ expression = expression.And(t => t.status == page.Status);
+ }
+ if (page.OrganizationCode.HasValue)
+ {
+ expression = expression.And(t => t.org_id == page.OrganizationCode);
+ }
+ RefAsync<int> total = 0;
+ var data = await _docManageService.Context.Queryable<Doc_Info>()
+ .Includes(c => c.DocClassification)
+ .Includes(c=>c.DocOrganization)
+ .Where(expression)
+ .ToPageListAsync(page.PageIndex, page.PageSize, total);
+
+ if (data != null && total > 0)
+ {
+ result.Items = data.Select(c => new Document_List_Dto()
+ {
+ add_time = c.add_time,
+ class_id = c.classification_id,
+ class_name = c.DocClassification?.doc_classification,
+ doc_name = c.doc_name,
+ id = c.id,
+ org_id = c.org_id,
+ org_name = c.DocOrganization.UnitName,
+ project_id = c.project_id,
+ project_name = "",
+ 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="info"></param>
+ /// <returns></returns>
+ public async Task<bool> PostAddDocumentInfo(Document_Submit_Dto info)
+ {
+ bool msg = false;
+
+ Doc_Info doc = new Doc_Info();
+ doc.add_time = DateTime.Now;
+ doc.classification_id = info.class_id;
+ doc.doc_code = info.code;
+ doc.doc_name = info.name;
+ doc.is_del = false;
+ doc.org_id = info.org_id;
+ doc.status = info.status;
+ doc.tenant_code = info.tenant_id;
+
+ var id =await _docManageService.InsertReturnIdentityAsync(doc);
+ if (id > 0)
+ {
+ if(info.files!=null&& info.files.Count > 0)
+ {
+ foreach (var item in info.files)
+ {
+ File_Info file = new File_Info();
+ file.doc_id = 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;
+ await _fileManageService.InsertAsync(file);
+ }
+ }
+ msg = true;
+ }
+ 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)
+ {
+ 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> PostDelInfo(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);
+ }
+
+
+
+ /// <summary>
+ /// 娣诲姞鏁版嵁
+ /// </summary>
+ /// <param name="info"></param>
+ /// <returns></returns>
+ public async Task<IActionResult> PostAddFilesInfo(Classification_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)
+ {
+ 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);
+ }
+ }
+}
diff --git a/DocumentServiceAPI.Application/DocManage/Dtos/Classification_Submit_Dto.cs b/DocumentServiceAPI.Application/DocManage/Dtos/Classification_Submit_Dto.cs
index cfd30fd..28b486c 100644
--- a/DocumentServiceAPI.Application/DocManage/Dtos/Classification_Submit_Dto.cs
+++ b/DocumentServiceAPI.Application/DocManage/Dtos/Classification_Submit_Dto.cs
@@ -1,15 +1,11 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace DocumentServiceAPI.Application.DocManage.Dtos
+锘縩amespace DocumentServiceAPI.Application.DocManage.Dtos
{
public class Classification_Submit_Dto
{
public int id { get; set; }
+ public int tenant_id { get; set; }
+
public string name { get; set; }
/// <summary>
diff --git a/DocumentServiceAPI.Application/DocManage/Dtos/Document_List_Dto.cs b/DocumentServiceAPI.Application/DocManage/Dtos/Document_List_Dto.cs
new file mode 100644
index 0000000..4d84e43
--- /dev/null
+++ b/DocumentServiceAPI.Application/DocManage/Dtos/Document_List_Dto.cs
@@ -0,0 +1,137 @@
+锘縰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
+{
+ /// <summary>
+ /// 鏂囨。淇℃伅
+ /// </summary>
+ public class Document_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? org_id { get; set; }
+
+ public string org_name { get; set; }
+
+ /// <summary>
+ /// 椤圭洰id
+ /// </summary>
+ public int? project_id { get; set; }
+
+ public string project_name { get; set; }
+ }
+
+ /// <summary>
+ /// 鎻愪氦鏂囨。淇℃伅
+ /// </summary>
+ public class Document_Submit_Dto
+ {
+ public int id { get; set; }
+
+ public int tenant_id { get; set; }
+
+ /// <summary>
+ /// 鍒嗙被id
+ /// </summary>
+ public int class_id { get; set; }
+ public string name { get; set; }
+
+ /// <summary>
+ /// 鏂囨。缂栫爜
+ /// </summary>
+ public string code { get; set; }
+
+ /// <summary>
+ /// 鎶曟爣鍗曚綅
+ /// </summary>
+ public int org_id { get; set; }
+
+ public int status { get; set; }
+
+ public List<DocumentFile_Submit_Dto> files { get; set; }
+ }
+
+ /// <summary>
+ /// 鎻愪氦鏂囦欢淇℃伅
+ /// </summary>
+ public class DocumentFile_Submit_Dto
+ {
+ /// <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>
+ /// 鏂囨。ID
+ /// </summary>
+ public int doc_id { get; set; }
+
+ /// <summary>
+ /// 鏂囦欢绫诲瀷
+ /// </summary>
+ public string filetype { get; set; }
+
+ /// <summary>
+ /// 涓婁紶浜哄憳
+ /// </summary>
+ public int up_userid { get; set; }
+
+ /// <summary>
+ /// 涓婁紶浜哄憳
+ /// </summary>
+ public string up_username { get; set; }
+
+ public string filepath { get; set; }
+
+ }
+}
diff --git a/DocumentServiceAPI.Application/DocManage/Services/DocClassificationService.cs b/DocumentServiceAPI.Application/DocManage/Services/DocClassificationService.cs
new file mode 100644
index 0000000..83a206b
--- /dev/null
+++ b/DocumentServiceAPI.Application/DocManage/Services/DocClassificationService.cs
@@ -0,0 +1,35 @@
+锘縰sing DocumentServiceAPI.Core;
+using DocumentServiceAPI.Model.cyDocumentModel;
+using DocumentServiceAPI.Utility;
+
+namespace DocumentServiceAPI.Application.DocManage.Services
+{
+ public class DocClassificationPageSearch : PageBaseSearch
+ {
+ /// <summary>
+ /// 鍒嗙被浠g爜
+ /// </summary>
+ public string Code { get; set; }
+
+ /// <summary>
+ /// 鐘舵��
+ /// </summary>
+ public int? Status { get; set; }
+ }
+
+ public class DocClassificationSearch : BaseSearch
+ {
+ /// <summary>
+ /// 鍒嗙被浠g爜
+ /// </summary>
+ public string Code { get; set; }
+
+ }
+
+ /// <summary>
+ /// 鏂囨。鍒嗙被
+ /// </summary>
+ public class DocClassificationService : BaseRepository<Doc_Classification>, ITransient
+ {
+ }
+}
diff --git a/DocumentServiceAPI.Application/DocManage/Services/DocumentManageService.cs b/DocumentServiceAPI.Application/DocManage/Services/DocumentManageService.cs
index 675d4d3..e7cacd4 100644
--- a/DocumentServiceAPI.Application/DocManage/Services/DocumentManageService.cs
+++ b/DocumentServiceAPI.Application/DocManage/Services/DocumentManageService.cs
@@ -4,7 +4,10 @@
namespace DocumentServiceAPI.Application.DocManage.Services
{
- public class DocClassificationPageSearch : PageBaseSearch
+ /// <summary>
+ /// 鏂囨。鍒嗛〉鏌ヨ鏉′欢
+ /// </summary>
+ public class DocumentPageSearch : PageBaseSearch
{
/// <summary>
/// 鍒嗙被浠g爜
@@ -12,15 +15,46 @@
public string Code { get; set; }
/// <summary>
+ /// 绫诲埆ID
+ /// </summary>
+ public int? ClassCode { get; set; }
+
+ /// <summary>
+ /// 鏂囨。鍚嶇О
+ /// </summary>
+ public string Name { get; set; }
+
+ /// <summary>
+ /// 鍗曚綅ID
+ /// </summary>
+ public int? OrganizationCode { get; set; }
+
+ /// <summary>
/// 鐘舵��
/// </summary>
public int? Status { get; set; }
}
+ public class DocumentSearch : BaseSearch
+ {
+ /// <summary>
+ /// 鍒嗙被浠g爜
+ /// </summary>
+ public string Code { get; set; }
+
+ }
+
/// <summary>
- /// 鏂囨。鍒嗙被
+ /// 鏂囨。绠$悊
/// </summary>
- public class DocClassificationService : BaseRepository<Doc_Classification>, ITransient
+ public class DocumentManageService : BaseRepository<Doc_Info>, ITransient
+ {
+ }
+
+ /// <summary>
+ /// 鏂囦欢绠$悊
+ /// </summary>
+ public class FileManageService : BaseRepository<File_Info>, ITransient
{
}
}
diff --git a/DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml b/DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml
index 0cf1c1e..7aed042 100644
--- a/DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml
+++ b/DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml
@@ -4,7 +4,242 @@
<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>
@@ -14,11 +249,63 @@
鏂囨。鍒嗙被
</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.Repository.EmployeeRepository">
<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>
鎶曟爣鍗曚綅鎿嶄綔绫�
diff --git a/DocumentServiceAPI.Application/System/OrganizationAppService.cs b/DocumentServiceAPI.Application/System/OrganizationAppService.cs
index 1f27467..7a5fd24 100644
--- a/DocumentServiceAPI.Application/System/OrganizationAppService.cs
+++ b/DocumentServiceAPI.Application/System/OrganizationAppService.cs
@@ -1,11 +1,7 @@
锘縰sing DocumentServiceAPI.Application.System.Services;
+using DocumentServiceAPI.Application.UserAndLogin.Services;
using DocumentServiceAPI.Model;
using DocumentServiceAPI.Utility;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
namespace DocumentServiceAPI.Application.System
{
@@ -17,10 +13,23 @@
public class OrganizationAppService : IDynamicApiController
{
private readonly OrganizationService _businessService;
+ private readonly UserService _userServer;
- public OrganizationAppService(OrganizationService businessService)
+ public OrganizationAppService(OrganizationService businessService, UserService userService)
{
_businessService = businessService;
+ _userServer = userService;
+ }
+
+ /// <summary>
+ /// 鏌ヨ鍏徃Item鏁版嵁
+ /// </summary>
+ /// <param name="code">绉熸埛id</param>
+ /// <returns></returns>
+ public async Task<IActionResult> GetOrgItemList(int code)
+ {
+ var data = await _userServer.GetUserUnitList(code);
+ return new JsonResult(data);
}
public IActionResult GetInfo()
diff --git a/DocumentServiceAPI.Model/cyDocumentModel/Doc_Classification.cs b/DocumentServiceAPI.Model/cyDocumentModel/Doc_Classification.cs
index 2e1fb59..d772545 100644
--- a/DocumentServiceAPI.Model/cyDocumentModel/Doc_Classification.cs
+++ b/DocumentServiceAPI.Model/cyDocumentModel/Doc_Classification.cs
@@ -44,6 +44,11 @@
/// </summary>
public bool is_system { get; set; }
+ /// <summary>
+ /// 鎺掑簭
+ /// </summary>
+ public int sort_id { get; set; }
+
}
public abstract class Doc_Base
@@ -51,7 +56,7 @@
/// <summary>
/// 绉熸埛鏍囪瘑
/// </summary>
- public string tenant_code { get; set; }
+ public int tenant_code { get; set; }
/// <summary>
/// 娣诲姞/鏇存柊鏃堕棿
@@ -62,10 +67,6 @@
/// 鐘舵��
/// </summary>
public int status { get; set; }
-
- /// <summary>
- /// 鎺掑簭
- /// </summary>
- public int sort_id { get; set; }
+
}
}
diff --git a/DocumentServiceAPI.Model/cyDocumentModel/Doc_Info.cs b/DocumentServiceAPI.Model/cyDocumentModel/Doc_Info.cs
new file mode 100644
index 0000000..5b494ca
--- /dev/null
+++ b/DocumentServiceAPI.Model/cyDocumentModel/Doc_Info.cs
@@ -0,0 +1,149 @@
+锘縰sing SqlSugar;
+
+namespace DocumentServiceAPI.Model.cyDocumentModel
+{
+ ///<summary>
+ ///鏂囨。绠$悊绫�
+ ///</summary>
+ [SugarTable("t_document")]
+ public class Doc_Info : Doc_Base
+ {
+ public Doc_Info()
+ {
+ }
+
+ /// <summary>
+ /// id
+ /// </summary>
+ [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
+ public int id { get; set; }
+
+ /// <summary>
+ /// 鏂囨。鍒嗙被缂栫爜
+ /// </summary>
+ public string doc_code { get; set; }
+
+ /// <summary>
+ /// 褰掑睘鍒嗙被锛堝瓙绫诲瀷锛�
+ /// </summary>
+ public int? classification_id { get; set; }
+
+ /// <summary>
+ /// 鍚嶇О
+ /// </summary>
+ public string doc_name { get; set; }
+
+ /// <summary>
+ /// 鍗曚綅ID
+ /// </summary>
+ public int? org_id { get; set; }
+
+ /// <summary>
+ /// 椤圭洰id
+ /// </summary>
+ public int? project_id { get; set; }
+
+ /// <summary>
+ /// 鍒犻櫎鏍囪
+ /// </summary>
+ public bool is_del { 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(org_id))]
+ 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; }
+ }
+
+
+}
diff --git a/DocumentServiceAPI.Utility/PageBaseSearch.cs b/DocumentServiceAPI.Utility/PageBaseSearch.cs
index 6411526..00f85a9 100644
--- a/DocumentServiceAPI.Utility/PageBaseSearch.cs
+++ b/DocumentServiceAPI.Utility/PageBaseSearch.cs
@@ -1,15 +1,9 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace DocumentServiceAPI.Utility
+锘縩amespace DocumentServiceAPI.Utility
{
/// <summary>
/// 鍒嗛〉鏌ヨ鏉′欢鍩虹被
/// </summary>
- public abstract class PageBaseSearch
+ public abstract class PageBaseSearch: BaseSearch
{
/// <summary>
/// 椤电爜
@@ -20,6 +14,25 @@
/// 鍒嗛〉澶у皬
/// </summary>
public int PageSize { get; set; } = 20;
+
+ }
+
+ public abstract class BaseSearch
+ {
+ /// <summary>
+ /// 鍏徃ID
+ /// </summary>
+ public string CompanyID { get; set; }
+
+ /// <summary>
+ /// 绉熸埛ID
+ /// </summary>
+ public string TenantID { get; set; }
+
+ /// <summary>
+ /// 鐢ㄦ埛ID
+ /// </summary>
+ public string UserID { get; set; }
/// <summary>
/// 寮�濮嬫棩鏈�
diff --git a/DocumentServiceAPI.Utility/UtilitySearch.cs b/DocumentServiceAPI.Utility/UtilitySearch.cs
new file mode 100644
index 0000000..180b982
--- /dev/null
+++ b/DocumentServiceAPI.Utility/UtilitySearch.cs
@@ -0,0 +1,90 @@
+锘縰sing System.Linq.Expressions;
+
+namespace DocumentServiceAPI.Utility
+{
+ /// <summary>
+ /// Lambda琛ㄨ揪寮忔嫾鎺ユ墿灞曠被
+ /// </summary>
+ public static class UtilitySearch
+ {
+ /// <summary>
+ /// Lambda琛ㄨ揪寮忔嫾鎺�
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ /// <param name="first"></param>
+ /// <param name="second"></param>
+ /// <param name="merge"></param>
+ /// <returns></returns>
+ public static Expression<T> Compose<T>(this Expression<T> first, Expression<T> second, Func<Expression, Expression, Expression> merge)
+ {
+ // 鏋勫缓鍙傛暟鏄犲皠锛堜粠绗簩涓弬鏁板埌绗竴涓弬鏁帮級
+ var map = first.Parameters.Select((f, i) => new { f, s = second.Parameters[i] }).ToDictionary(p => p.s, p => p.f);
+ // 灏嗙浜屼釜lambda琛ㄨ揪寮忎腑鐨勫弬鏁版浛鎹负绗竴涓猯ambda琛ㄨ揪寮忕殑鍙傛暟
+ var secondBody = ParameterRebinder.ReplaceParameters(map, second.Body);
+ // 灏唋ambda琛ㄨ揪寮忎綋鐨勭粍鍚堝簲鐢ㄤ簬绗竴涓〃杈惧紡涓殑鍙傛暟
+ return Expression.Lambda<T>(merge(first.Body, secondBody), first.Parameters);
+ }
+ /// <summary>
+ /// and鎵╁睍
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ /// <param name="first"></param>
+ /// <param name="second"></param>
+ /// <returns></returns>
+ public static Expression<Func<T, bool>> And<T>(this Expression<Func<T, bool>> first, Expression<Func<T, bool>> second)
+ {
+ return first.Compose(second, Expression.AndAlso);
+ }
+ /// <summary>
+ /// or鎵╁睍
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ /// <param name="first"></param>
+ /// <param name="second"></param>
+ /// <returns></returns>
+ public static Expression<Func<T, bool>> Or<T>(this Expression<Func<T, bool>> first, Expression<Func<T, bool>> second)
+ {
+ return first.Compose(second, Expression.OrElse);
+ }
+ }
+ /// <summary>
+ ///
+ /// </summary>
+ public class ParameterRebinder : ExpressionVisitor
+ {
+ private readonly Dictionary<ParameterExpression, ParameterExpression> map;
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="map"></param>
+ public ParameterRebinder(Dictionary<ParameterExpression, ParameterExpression> map)
+ {
+ this.map = map ?? new Dictionary<ParameterExpression, ParameterExpression>();
+ }
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="map"></param>
+ /// <param name="exp"></param>
+ /// <returns></returns>
+ public static Expression ReplaceParameters(Dictionary<ParameterExpression, ParameterExpression> map, Expression exp)
+ {
+ return new ParameterRebinder(map).Visit(exp);
+ }
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="p"></param>
+ /// <returns></returns>
+ protected override Expression VisitParameter(ParameterExpression p)
+ {
+ ParameterExpression replacement;
+ if (map.TryGetValue(p, out replacement))
+ {
+ p = replacement;
+ }
+ return base.VisitParameter(p);
+ }
+
+ }
+}
diff --git a/DocumentServiceAPI.Web.Entry/appsettings.json b/DocumentServiceAPI.Web.Entry/appsettings.json
index 78d8527..550e6de 100644
--- a/DocumentServiceAPI.Web.Entry/appsettings.json
+++ b/DocumentServiceAPI.Web.Entry/appsettings.json
@@ -12,7 +12,7 @@
{
"ConfigId": "default", //澶氬簱閰嶇疆ID
- "ConnectionString": "Server=localhost\\SQLEXPRESS;Database=CY_DocumentSystemOnline;User ID=sa;Password=123456;",
+ "ConnectionString": "Server=.;Database=doc_new;User ID=sa;Password=123456;",
"DbType": "SqlServer",
"IsAutoCloseConnection": true
--
Gitblit v1.9.1