Jelajahi Sumber

调整日计划自动下达。

tangdi 2 tahun lalu
induk
melakukan
b06a03a329

+ 10 - 3
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -5353,7 +5353,7 @@ namespace Business.ResourceExamineManagement
         {
             //取数开始时间为当前日期
             DateTime startTime = DateTime.Now.Date;
-            DateTime endDate = DateTime.Now.Date.AddDays(4);
+            DateTime endDate = DateTime.Now.Date.AddDays(6);
 
             var periodList = _periodSequenceDet.Select(x => x.PlanDate >= startTime && x.PlanDate <= endDate && string.IsNullOrEmpty(x.Status) == true && x.Domain == domain).ToList();
             if (periodList.Any())
@@ -5364,6 +5364,7 @@ namespace Business.ResourceExamineManagement
                     var workords = periodList.Select(s => s.WorkOrds);
                     var workordList = _workOrdMaster.Select(x => x.Domain == domain && x.Status.ToLower() == "r" && workords.Contains(x.WorkOrd)).ToList();
                     var nbrMasterList = _nbrMaster.Select(x => x.Domain == domain && x.Type == "SM" && workords.Contains(x.WorkOrd)).ToList();
+                    var nbrDetailList = _nbrDetail.Select(x => x.Domain == domain && x.Type == "SM" && workords.Contains(x.WorkOrd)).ToList();
                     foreach (var work in workordList)
                     {
                         bool flag = false;
@@ -5374,13 +5375,19 @@ namespace Business.ResourceExamineManagement
                             foreach (var nbr in nbrlist)
                             {
                                 //还有未出库数据
-                                if (nbr.Status.ToLower() != "c")
+                                //如果有任意一个出库,则下达
+                                if (!nbrDetailList.Where(x => x.NbrRecID == nbr.RecID && x.Status.ToUpper() == "C").Any())
                                 {
                                     flag = false;
                                     break;
                                 }
+                                /*if (nbr.Status.ToLower() != "c")
+                                {
+                                    flag = false;
+                                    break;
+                                }*/
                                 //需要前处理,但是前处理还未完成
-                                if (nbr.TransType == "PrevProcess" && nbr.PretreatmentState != "completed")
+                                if (nbr.TransType == "PrevProcess" && nbr.PretreatmentState != "completed" && nbr.PretreatmentState != "50")
                                 {
                                     flag = false;
                                     break;