Просмотр исходного кода

解决PR合并占用记录超时

Murphy 2 лет назад
Родитель
Сommit
3f654a4480

+ 9 - 1
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -1159,7 +1159,15 @@ namespace Business.ResourceExamineManagement
             List<srm_pr_main> alllist = _mysql_srm_pr_main.GetListAsync(s => s.company_id.ToString() == companyid && s.pr_ssend_date >= starttime && s.pr_ssend_date <= endtime && s.state == 1).Result;
             List<ic_item> ic_Items = _mysql_ic_item.GetListAsync(s => s.company_id.ToString() == companyid && alllist.Select(c => c.icitem_id).Distinct().Contains(s.Id)).Result;
 
-            var occupylist = _mysql_srm_po_occupy.GetListAsync(s => alllist.Select(c => c.Id).Contains(s.polist_id.GetValueOrDefault()) && s.company_id.ToString() == companyid && s.IsDeleted == false).Result;
+
+            var occupyListLINQ = _businessDbContext.srm_po_occupy.Where(x=>x.company_id.ToString()== companyid &&!x.IsDeleted).Join(_businessDbContext.srm_pr_main.Where(s => s.company_id.ToString() == companyid && s.pr_ssend_date >= starttime && s.pr_ssend_date <= endtime && s.state == 1), p => p.polist_id, pr => pr.Id, (p, pr) => new { p, pr }).ToList();
+            List<srm_po_occupy> occupylist = new List<srm_po_occupy>();
+            for (int i = 0; i < occupyListLINQ.Count; i++)
+            {
+                occupylist.Add(occupyListLINQ[i].p);
+            }
+
+            //var occupylist = _mysql_srm_po_occupy.GetListAsync(s => alllist.Select(c => c.Id).Contains(s.polist_id.GetValueOrDefault()) && s.company_id.ToString() == companyid && s.IsDeleted == false).Result;
 
             List<srm_pr_main> insetAllList = new List<srm_pr_main>();
             List<srm_pr_main> updateAllList = new List<srm_pr_main>();