From 3f4013e9283d1fe29ef40cc8b4d7ee7a590a1590 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期二, 17 十月 2023 09:26:40 +0800 Subject: [PATCH] 最新代码 --- DocumentServiceAPI.Application/ProjectInfo/Services/ProjectInfoService.cs | 301 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 294 insertions(+), 7 deletions(-) diff --git a/DocumentServiceAPI.Application/ProjectInfo/Services/ProjectInfoService.cs b/DocumentServiceAPI.Application/ProjectInfo/Services/ProjectInfoService.cs index 8f1b6d1..f1ddd59 100644 --- a/DocumentServiceAPI.Application/ProjectInfo/Services/ProjectInfoService.cs +++ b/DocumentServiceAPI.Application/ProjectInfo/Services/ProjectInfoService.cs @@ -27,6 +27,7 @@ using System.Data; using System.Diagnostics.Metrics; using System.Linq; +using System.Reflection.Emit; using System.Reflection.Metadata; using System.Runtime.Intrinsics.Arm; using System.Runtime.Intrinsics.X86; @@ -614,8 +615,8 @@ //page.ToEmployeeId = a.EID; int total = 0; PageResult<DocumentProjectInfoDTO> result = new PageResult<DocumentProjectInfoDTO>(); - + //var document_OtherCompanyTenderInfos = _db.Queryable<Document_OtherCompanyTenderInfo>().Where(x => x.TenantID == aaa.TEID).ToList(); result.Items = _db.Queryable<Document_ProjectInfo, Document_ProjectExpand, Document_ProjectOppugnInfo, Document_ProjectComplainInfo, Document_ProjectReviewInfo, Document_ProjectLitigationInfo, Document_AdviseInfo, Document_ProjectComplainInfo, Document_ProjectOppugnInfo, Document_ProjectLitigationInfo, Document_ProjectReviewInfo, Document_WinInfo>((a, d, e,f,g,h,i,j,k,l,m,n) => new JoinQueryInfos @@ -665,11 +666,11 @@ .WhereIF(page.ddlSignUp > 0 && page.ddlSignUp == 1, (a, d, e, f, g, h, i, j, k, l, m, n) => (d.IsSignup == 0 || d.IsSignup == null)) .WhereIF(page.ddlSignUp > 0 && page.ddlSignUp != 1, (a, d, e, f, g, h, i, j, k, l, m, n) => d.IsSignup == 1 ) //淇濊瘉閲戠姸鎬� - .WhereIF(page.ddlTenderDeposit > 0 && page.ddlTenderDeposit == 12, (a, d, e, f, g, h, i, j, k, l, m, n) => d.TenderDepositStatus == null) + .WhereIF(page.ddlTenderDeposit > 0 && page.ddlTenderDeposit == 12, (a, d, e, f, g, h, i, j, k, l, m, n) => a.TenderDeposit != null && a.TenderDeposit > 0 && d.TenderDepositStatus == null) .WhereIF(page.ddlTenderDeposit > 0 && page.ddlTenderDeposit == 36, (a, d, e, f, g, h, i, j, k, l, m, n) => a.TenderTime < DateTime.Now.AddDays(15) && d.TenderDepositStatus == 13 ) .WhereIF(page.ddlTenderDeposit > 0 && page.ddlTenderDeposit != 12 && page.ddlTenderDeposit != 36, (a, d, e, f, g, h, i, j, k, l, m, n) => d.TenderDepositStatus == page.ddlTenderDeposit) //灞ョ害閲戠姸鎬� - .WhereIF(page.ddlBidbond > 0 && page.ddlBidbond == 32, (a, d, e, f, g, h, i, j, k, l, m, n) => (d.BidbondStatus == null)) + .WhereIF(page.ddlBidbond > 0 && page.ddlBidbond == 32, (a, d, e, f, g, h, i, j, k, l, m, n) => (a.Bidbond!=null && a.Bidbond >0 && d.BidbondStatus == null)) .WhereIF(page.ddlBidbond > 0 && page.ddlBidbond != 32, (a, d, e, f, g, h, i, j, k, l, m, n) => d.BidbondStatus == page.ddlBidbond ) //鏍囦功鐘舵�� .WhereIF(page.ddlDocumentStatus > 0 && page.ddlDocumentStatus == 15, (a, d, e, f, g, h, i, j, k, l, m, n) => (d.DocumentStatus == null || d.DocumentStatus == 0 || d.DocumentStatus == 15)) @@ -692,6 +693,9 @@ //璇夎鎯呭喌 .WhereIF(page.ddlLitigationStatus > 0 && page.ddlLitigationStatus == 1, (a, d, e, f, g, h, i, j, k, l, m, n) => (h.FilePath == null || h.FilePath == "")) .WhereIF(page.ddlLitigationStatus > 0 && page.ddlLitigationStatus != 1, (a, d, e, f, g, h, i, j, k, l, m, n) => (h.FilePath != null && h.FilePath != "")) + + .WhereIF(!string.IsNullOrEmpty(page.txtCompanyName), (a, d, e, f, g, h, i, j, k, l, m, n) => (n.FirstWinCompany.Contains(page.txtCompanyName) || n.SecondWinCompany.Contains(page.txtCompanyName) || n.ThirdCompany.Contains(page.txtCompanyName) || SqlFunc.Subqueryable<Document_OtherCompanyTenderInfo>().Where(s => s.TenantID == a.TenantID && s.ProjectId == a.ProjectId && s.CompanyName.Contains(page.txtCompanyName)).Any())) + .Select((a, d, e, f, g, h, i, j, k, l, m, n) => new DocumentProjectInfoDTO { ProjectId = a.ProjectId, @@ -719,7 +723,9 @@ NoticeTypeName = "鎷涙爣鍏憡", NoticeType = a.NoticeType, PurchaseMethod = a.PurchaseMethod, - DocumentStatus = d.DocumentStatus + DocumentStatus = d.DocumentStatus, + SignupMethod = a.SignupMethod, + } ) .OrderByDescending(a => a.ProjectId).ToPageList(page.PageIndex, page.PageSize, ref total); @@ -746,7 +752,7 @@ documentProjectInfoDTO.xmqy = documentProjectInfoDTO.City+ documentProjectInfoDTO.County; } - if(documentProjectInfoDTO.IsSignup == 1) + if(documentProjectInfoDTO.IsSignup == 1 || documentProjectInfoDTO.SignupMethod == 9 ) { documentProjectInfoDTO.bm = "鈭�"; } @@ -871,7 +877,18 @@ documentProjectInfoDTO.PurchaseMethodName = document_Dictionary.Name; } } - + + var sss = _db.Queryable<Document_ZhaobiaoFile>().Count(x => x.ProjectId == documentProjectInfoDTO.ProjectId && x.UnitId == page.UnitId); + if (sss > 0) + { + documentProjectInfoDTO.zbwj = "鈭�"; + } + else + { + documentProjectInfoDTO.zbwj = "鎷涙爣鏂囦欢"; + } + + } } @@ -1803,7 +1820,7 @@ public List<Doc_Classification> GetDocClassificationList() { - var ret = _db.Queryable<Doc_Classification>().Where(x => x.parent_code =="003" && x.status == 1 && x.is_system == true).ToList(); + var ret = _db.Queryable<Doc_Classification>().Where(x => x.parent_code =="003" && x.is_system == true).ToList(); return ret; } @@ -1822,5 +1839,275 @@ return true; } + + + + + + + public PageResult<DocClassificationDTO> postDocClassificationList(DocumentProjectInfoPageSearch page) + { + var aaa = GetJwtInfo(); + + SqlSugar.PageModel pg = new SqlSugar.PageModel(); + pg.PageSize = page.PageSize; + pg.PageIndex = page.PageIndex; + //page.ToEmployeeId = a.EID; + int total = 0; + PageResult<DocClassificationDTO> result = new PageResult<DocClassificationDTO>(); + + + + result.Items = _db.Queryable<Doc_Classification, Doc_ClassDel>((a, b) => + new JoinQueryInfos + ( + JoinType.Left, a.id == b.doc_classification_id && b.tenant_code == page.TenantID + )) + .Where((a, b) => ( a.tenant_code == page.TenantID || a.is_system == true) ) + //鏂囦欢鍚嶇О + .WhereIF(!string.IsNullOrEmpty(page.FileName), (a, b) => a.doc_classification.Contains(page.FileName)) + .WhereIF(!string.IsNullOrEmpty(page.parentcode), (a, b) => a.parent_code == page.parentcode ) + .WhereIF(page.Status.HasValue, (a, b) => (a.is_system == false && a.status == page.Status.Value ) || (page.Status.Value == 1 && a.is_system == true && b.tenant_code == null ) || (page.Status.Value == 0 && a.is_system == true && b.tenant_code != null)) + + .Select((a, b) => new DocClassificationDTO + { + id = a.id, + doc_classification_code = a.doc_classification_code, + doc_classification = a.doc_classification, + parent_code = a.parent_code, + is_system = a.is_system, + sort_id = a.sort_id, + tenant_code = a.tenant_code, + add_time = a.add_time, + status = a.status, + + } + ) + .OrderBy(a => a.sort_id).ToPageList(page.PageIndex, page.PageSize, ref total); + + + if (result.Items != null && result.Items.Count > 0) + { + + foreach (var item in result.Items) + { + if (item.is_system) + { + var doc_ClassDel = _db.Queryable<Doc_ClassDel>().Where(x => x.doc_classification_id == item.id && x.tenant_code == page.TenantID ).First();//鎵ц鏌ヨ + + if (doc_ClassDel != null) + { + item.status = 0; + item.statusName = "鍋滅敤"; + } + else + { + item.statusName = "鍚敤"; + } + } + else + { + if(item.status == 1) + { + item.statusName = "鍚敤"; + } + else + { + item.statusName = "鍋滅敤"; + } + + } + + } + } + + result.TotalCount = total; + result.TotalPage = total % page.PageSize == 0 ? total / page.PageSize : total / page.PageSize + 1; + + + + return result; + } + + + public Doc_Classification GetDocClassificationInfo(int ID) + { + var aaa = GetJwtInfo(); + var result = _db.Queryable<Doc_Classification>().Where(x => x.id == ID).First();//鎵ц鏌ヨ + if (result!=null && result.is_system) + { + var doc_ClassDel = _db.Queryable<Doc_ClassDel>().Where(x => x.doc_classification_id == result.id && x.tenant_code == aaa.TEID).First();//鎵ц鏌ヨ + + if (doc_ClassDel != null) + { + result.status = 0; + } + else + { + result.status = 1; + } + } + + + return result; + } + + + public bool GetDeleteDocClassDel(int ID , int tenantId) + { + + _db.Deleteable<Doc_ClassDel>().Where(x => x.doc_classification_id == ID && x.tenant_code == tenantId ).ExecuteCommand(); + + return true; + } + + + public bool GetDeleteDocClassification(int ID ) + { + var result = _db.Queryable<Doc_Classification>().Where(x => x.id == ID).First();//鎵ц鏌ヨ + if (result != null) + { + _db.Deleteable<Doc_Classification>().Where(x => x.parent_code == result.doc_classification_code).ExecuteCommand(); + } + + _db.Deleteable<Doc_Classification>().Where(x => x.id == ID ).ExecuteCommand(); + + return true; + } + + public bool SaveDocClassificationInfo(Doc_Classification dp) + { + + + + + + if (dp.id > 0) + { + _db.Updateable<Doc_Classification>(dp).ExecuteCommand(); + } + else + { + _db.Insertable<Doc_Classification>(dp).ExecuteCommand(); + } + + return true; + } + + public bool SaveDocClassDelInfo(Doc_ClassDel dp) + { + + if (dp.id > 0) + { + _db.Updateable<Doc_ClassDel>(dp).ExecuteCommand(); + } + else + { + _db.Insertable<Doc_ClassDel>(dp).ExecuteCommand(); + } + return true; + } + + + public List<Doc_Classification> GetDocClassificationList(int tenantId) + { + var ret = _db.Queryable<Doc_Classification>() + .Where(x => ((x.tenant_code == tenantId && x.status == 1) || x.is_system == true) && x.parent_code == "00" ) + //.Select(a => new Document_TBXYFile + //{ + // Id = a.Id, + // FileName = a.FileName, + // FilePath = a.FilePath, + // FileVersionNo = a.FileVersionNo, + // FileSize = a.FileSize, + // UnitId = a.UnitId, + // LastUpdateTime = a.LastUpdateTime, + // LastUpdateName = a.LastUpdateName, + // AdviseFlag = a.AdviseFlag, + // UserId = a.UserId, + // Sort = a.Sort, + // SaveFlag = a.SaveFlag, + // Classification = a.Classification, + //}) + .OrderBy(a => a.sort_id).ToList(); + + + if (ret != null && ret.Count > 0) + { + + foreach (var item in ret) + { + if (item.is_system) + { + var doc_ClassDel = _db.Queryable<Doc_ClassDel>().Where(x => x.doc_classification_id == item.id && x.tenant_code == tenantId).First();//鎵ц鏌ヨ + + if (doc_ClassDel != null) + { + item.status = 0; + + } + + } + + } + } + + ret = ret.Where(x => x.status == 1).ToList(); + + return ret; + } + + public Doc_Classification GetDocClassificationByFileName(int tenantId , string FileName, string parent_code) + { + var ret = _db.Queryable<Doc_Classification>().Where(x => ( x.tenant_code == tenantId || x.is_system == true ) && x.doc_classification == FileName && x.parent_code == parent_code).First(); + return ret; + } + + + public Doc_Classification GetDocClassificationcode(int tenantId,string parent_code) + { + var ret = _db.Queryable<Doc_Classification>().Where(x => (x.tenant_code == tenantId || x.is_system == true) && x.parent_code == parent_code).OrderByDescending(x=>x.doc_classification_code).First(); + string doc_classification_code = (int.Parse(ret.doc_classification_code) + 1).ToString().PadLeft(3, '0'); + Doc_Classification doc_Classification = new Doc_Classification(); + doc_Classification.doc_classification_code = doc_classification_code; + return doc_Classification; + } + + public Doc_Classification GetDocClassificationInfoMaxSortId(int tenantId ,string docclassificationcode) + { + var ret = _db.Queryable<Doc_Classification>() + .Where(x => (x.tenant_code == tenantId || x.is_system == true)) + .WhereIF(!string.IsNullOrEmpty(docclassificationcode), x => x.parent_code == docclassificationcode) + .Where(x => x.sort_id <= 99999) + .Max(x => x.sort_id); + + Doc_Classification doc_Classification = new Doc_Classification(); + doc_Classification.sort_id = ret; + return doc_Classification; + } + + public Doc_Classification GetDocumentInfoMaxSortId(int unitId, string doccode) + { + var ret = _db.Queryable<Doc_Info>() + .Where(x => x.org_id == unitId ) + .WhereIF(!string.IsNullOrEmpty(doccode), x => x.doc_code == doccode) + .Max(x => x.sort); + + Doc_Classification doc_Classification = new Doc_Classification(); + doc_Classification.sort_id = ret??0; + return doc_Classification; + } + + public Doc_Classification GetAchievementInfoMaxSortId(int unitId) + { + var ret = _db.Queryable<Doc_Achievement>() + .Where(x => x.tenant_code == unitId) + //.WhereIF(!string.IsNullOrEmpty(doccode), x => x.doc_code == doccode) + .Max(x => x.sort); + + Doc_Classification doc_Classification = new Doc_Classification(); + doc_Classification.sort_id = ret ?? 0; + return doc_Classification; + } } } -- Gitblit v1.9.1