qwj
2023-08-25 bc9e5c59961ce729e3c62d9cf26069da7dc7c39e
业绩管理
3个文件已修改
3个文件已添加
378 ■■■■■ 已修改文件
DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Application/DocManage/Dtos/Achievement_Submit_Dto.cs 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Application/DocManage/Services/DocAchievementService.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Application/DocManage/Services/DocumentManageService.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Model/cyDocumentModel/Doc_Achievement.cs 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DocumentServiceAPI.Application/DocManage/DocumentManageAppService.cs
@@ -21,16 +21,18 @@
        private readonly OrganizationService _organizationService;
        private readonly FileManageService _fileManageService;
        private readonly ProjectManageService _projectService;
        private readonly DocAchievementService _achievementService;
        private readonly IRedisCacheService _redisCache;
        public DocumentManageAppService(DocClassificationService classService, DocumentManageService docService, OrganizationService orgService,
            FileManageService fileManageService, ProjectManageService projectService, IRedisCacheService redisCase)
            FileManageService fileManageService, ProjectManageService projectService, DocAchievementService achievementService, IRedisCacheService redisCase)
        {
            _classificationService = classService;
            _docManageService = docService;
            _organizationService = orgService;
            _fileManageService = fileManageService;
            _projectService = projectService;
            _achievementService = achievementService;
            _redisCache = redisCase;
        }
@@ -85,6 +87,22 @@
            }
            return null;
        }
        /// <summary>
        /// 根据文档类型查询文档列表
        /// </summary>
        /// <param name="search"></param>
        /// <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)
            {
                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());
        }
        /// <summary>
@@ -371,5 +389,115 @@
        }
        #endregion
        #region 业绩管理
        /// <summary>
        /// 根据分页条件查询分页数据
        /// </summary>
        /// <param name="page"></param>
        /// <returns></returns>
        public async Task<IActionResult> PostAchievementListPage(DocumentPageSearch page)
        {
            PageResult<Achievement_List_Dto> result = new PageResult<Achievement_List_Dto>();
            try
            {
                Expression<Func<Doc_Achievement, 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.achievement_name.Contains(page.Name));
                }
                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)
                        .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.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
                    }).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> CheckDocAchievementDuplicate(Document_Submit_Dto model)
        {
            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);
            if (ck != null)
            {
                msg = true;
            }
            return msg;
        }
        /// <summary>
        /// 添加数据
        /// </summary>
        /// <param name="info"></param>
        /// <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;
            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;
            return await _achievementService.InsertAsync(doc);
        }
        #endregion
    }
}
DocumentServiceAPI.Application/DocManage/Dtos/Achievement_Submit_Dto.cs
New file
@@ -0,0 +1,81 @@
namespace DocumentServiceAPI.Application.DocManage.Dtos
{
    /// <summary>
    /// 业绩资料提交
    /// </summary>
    public class Achievement_Submit_Dto
    {
        public int id { get; set; }
        /// <summary>
        /// 分类id
        /// </summary>
        public int class_id { get; set; }
        public string name { get; set; }
        public int tenant_id { get; set; }
        /// <summary>
        /// 项目名称
        /// </summary>
        public int project_id { get; set; }
        public string zbtzs { get; set; }
        public string ht { get; set; }
        public string ysbg { get; set; }
        public string fkpz { get; set; }
        public string yhpj { get; set; }
        public string hjzs { get; set; }
    }
    public class Achievement_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? project_id { get; set; }
        public string project_name { get; set; }
        public string zbtzs { get; set; }
        public string ht { get; set; }
        public string ysbg { get; set; }
        public string fkpz { get; set; }
        public string yhpj { get; set; }
        public string hjzs { get; set; }
    }
}
DocumentServiceAPI.Application/DocManage/Services/DocAchievementService.cs
New file
@@ -0,0 +1,9 @@
using DocumentServiceAPI.Core;
using DocumentServiceAPI.Model.cyDocumentModel;
namespace DocumentServiceAPI.Application.DocManage.Services
{
    public class DocAchievementService : BaseRepository<Doc_Achievement>, ITransient
    {
    }
}
DocumentServiceAPI.Application/DocManage/Services/DocumentManageService.cs
@@ -43,6 +43,11 @@
        /// </summary>
        public string Code { get; set; }
        /// <summary>
        /// 二级分类
        /// </summary>
        public int class_id { get; set; }
    }
    /// <summary>
DocumentServiceAPI.Application/DocumentServiceAPI.Application.xml
@@ -73,6 +73,13 @@
            <param name="search"></param>
            <returns></returns>
        </member>
        <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.PostDocumentItemList(DocumentServiceAPI.Application.DocManage.Services.DocumentSearch)">
            <summary>
            根据文档类型查询文档列表
            </summary>
            <param name="search"></param>
            <returns></returns>
        </member>
        <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.CheckNameDuplicate(DocumentServiceAPI.Application.DocManage.Dtos.Document_Submit_Dto)">
            <summary>
            检查名称重复
@@ -121,6 +128,67 @@
            </summary>
            <param name="id"></param>
            <returns></returns>
        </member>
        <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.PostAchievementListPage(DocumentServiceAPI.Application.DocManage.Services.DocumentPageSearch)">
            <summary>
            根据分页条件查询分页数据
            </summary>
            <param name="page"></param>
            <returns></returns>
        </member>
        <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.CheckDocAchievementDuplicate(DocumentServiceAPI.Application.DocManage.Dtos.Document_Submit_Dto)">
            <summary>
            检查重复
            </summary>
            <param name="model"></param>
            <returns></returns>
        </member>
        <member name="M:DocumentServiceAPI.Application.DocManage.DocumentManageAppService.PostAddDocAchievement(DocumentServiceAPI.Application.DocManage.Dtos.Achievement_Submit_Dto)">
            <summary>
            添加数据
            </summary>
            <param name="info"></param>
            <returns></returns>
        </member>
        <member name="T:DocumentServiceAPI.Application.DocManage.Dtos.Achievement_Submit_Dto">
            <summary>
            业绩资料提交
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Achievement_Submit_Dto.class_id">
            <summary>
            分类id
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Achievement_Submit_Dto.project_id">
            <summary>
            项目名称
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Achievement_List_Dto.add_time">
            <summary>
            添加/更新时间
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Achievement_List_Dto.status">
            <summary>
            状态
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Achievement_List_Dto.class_id">
            <summary>
            归属分类(子类型)
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Achievement_List_Dto.doc_name">
            <summary>
            名称
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Achievement_List_Dto.project_id">
            <summary>
            项目id
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.DocManage.Dtos.Classification_Submit_Dto.code">
            <summary>
@@ -362,6 +430,11 @@
            分类代码
            </summary>
        </member>
        <member name="P:DocumentServiceAPI.Application.DocManage.Services.DocumentSearch.class_id">
            <summary>
            二级分类
            </summary>
        </member>
        <member name="T:DocumentServiceAPI.Application.DocManage.Services.DocumentManageService">
            <summary>
            文档管理
DocumentServiceAPI.Model/cyDocumentModel/Doc_Achievement.cs
New file
@@ -0,0 +1,80 @@
using SqlSugar;
namespace DocumentServiceAPI.Model.cyDocumentModel
{
    ///<summary>
    ///业绩管理
    ///</summary>
    [SugarTable("t_doc_achievement")]
    public class Doc_Achievement : Doc_Base
    {
        public Doc_Achievement()
        {
        }
        /// <summary>
        /// id
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
        public int id { get; set; }
        /// <summary>
        /// 归属分类(子类型)
        /// </summary>
        public int? classification_id { get; set; }
        /// <summary>
        /// 项目id
        /// </summary>
        public int? project_id { get; set; }
        /// <summary>
        /// 名称
        /// </summary>
        public string achievement_name { get; set; }
        /// <summary>
        /// 中标通知书
        /// </summary>
        public string zbtzs_url { get; set; }
        /// <summary>
        /// 合同
        /// </summary>
        public string ht_url { get; set; }
        /// <summary>
        /// 验收报告
        /// </summary>
        public string ysbg_url { get; set; }
        /// <summary>
        /// 付款凭证
        /// </summary>
        public string fkpz_url { get; set; }
        /// <summary>
        /// 用户评价
        /// </summary>
        public string yhpj_url { get; set; }
        /// <summary>
        /// 获奖证书
        /// </summary>
        public string hjzs_url { 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(project_id))]
        public Document_ProjectInfo? DocProject { get; set; }
    }
}