qwj
2023-08-21 fab35da3e1218a329e4acbe71e8d333c1dcbcadd
资质管理
6个文件已修改
2个文件已添加
546 ■■■■■ 已修改文件
DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs 205 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Application/DocManage/Dtos/Document_List_Dto.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Application/DocManage/Dtos/FileInfo_List_Dto.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Application/DocManage/Services/DocumentManageService.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Model/cyDocumentModel/Doc_File_Info.cs 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Model/cyDocumentModel/Doc_Info.cs 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Utility/PageBaseSearch.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | 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>
        /// 开始日期