Ver código fonte

日计划获取工单数据添加过期工单场景

heteng 2 anos atrás
pai
commit
a2039e0d38

+ 3 - 3
MicroServices/Business/Business.Application/ResourceExamineManagement/ProductionScheduleAppService.cs

@@ -237,13 +237,13 @@ namespace Business.ResourceExamineManagement
             IConfiguration configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build();
             domain = configuration.GetConnectionString("Factory_id");
 
-            //获取需要排产的工单(获取四周的工单:正常工单+已审批通过的特殊工单)
-            DateTime endDate = DateTime.Now.Date.AddDays(28).AddDays(1);
+            ////获取需要排产的工单(获取四周的工单:正常工单+已审批通过的特殊工单)
+            //DateTime endDate = DateTime.Now.Date.AddDays(28).AddDays(1);
             //取数开始时间为当前时间
             DateTime startTime = DateTime.Now;
             scheTime = startTime;
             //尚未开始生产的工单+正在生产的工单
-            var workOrds = _workOrdMaster.Select(p => p.IsActive && p.Domain == domain && ((p.OrdDate < endDate && p.OrdDate >= startTime && p.Status.ToLower() =="p" && (string.IsNullOrEmpty(p.Typed) || (!string.IsNullOrEmpty(p.Typed) && p.Typed.ToUpper() != "PW" && p.BusinessID >0 ))) || p.Status.ToLower() == "w")).ToList();
+            var workOrds = _workOrdMaster.Select(p => p.IsActive && p.Domain == domain && ((p.Status.ToUpper() =="P" && (string.IsNullOrEmpty(p.Typed) || (!string.IsNullOrEmpty(p.Typed) && p.Typed.ToUpper() != "PW" && p.BusinessID >0 ))) || p.Status.ToUpper() == "W")).ToList();
             if (workOrds.Any())
             {
                 await DoProductSchedule(startTime, workOrds, domain, 1);

+ 8 - 7
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -4877,12 +4877,13 @@ namespace Business.ResourceExamineManagement
         /// <exception cref="NotImplementedException"></exception>
         public async Task<string> ProductionSchedule(string domain)
         {
-            //获取需要排产的工单(获取四周的工单:正常工单+已审批通过的特殊工单)
-            DateTime endDate = DateTime.Now.Date.AddDays(28).AddDays(1);
             //取数开始时间为当前日期
             DateTime startTime = DateTime.Now;
-            //尚未开始生产的工单+正在生产的工单
-            var workOrds = _workOrdMaster.Select(p => p.IsActive && p.Domain == domain && ((p.OrdDate < endDate && p.OrdDate >= startTime && p.Status.ToUpper() == "P" && (string.IsNullOrEmpty(p.Typed) || (!string.IsNullOrEmpty(p.Typed) && p.Typed.ToUpper() != "PW" && p.BusinessID > 0))) || p.Status.ToUpper() == "W")).ToList();
+            ////获取需要排产的工单(获取四周的工单:正常工单+已审批通过的特殊工单)
+            //DateTime endDate = DateTime.Now.Date.AddDays(28).AddDays(1);
+            ////尚未开始生产的工单+正在生产的工单
+            //var workOrds = _workOrdMaster.Select(p => p.IsActive && p.Domain == domain && ((p.OrdDate < endDate && p.OrdDate >= startTime && p.Status.ToUpper() == "P" && (string.IsNullOrEmpty(p.Typed) || (!string.IsNullOrEmpty(p.Typed) && p.Typed.ToUpper() != "PW" && p.BusinessID > 0))) || p.Status.ToUpper() == "W")).ToList();
+            var workOrds = _workOrdMaster.Select(p=>p.IsActive && p.Domain == domain && ((p.Status.ToUpper() == "P" && (string.IsNullOrEmpty(p.Typed) || (!string.IsNullOrEmpty(p.Typed) && p.Typed.ToUpper() != "PW" && p.BusinessID > 0))) || p.Status.ToUpper() == "W")).ToList();
             if (workOrds.Any())
             {
                 await _productionScheduleAppService.DoProductSchedule(startTime, workOrds, domain, 2);
@@ -4898,12 +4899,12 @@ namespace Business.ResourceExamineManagement
         /// <exception cref="NotImplementedException"></exception>
         public async Task<string> UpdatePlanDate(UpdateDto input)
         {
-            //获取需要排产的工单(获取四周的工单:正常工单+已审批通过的特殊工单)
-            DateTime endDate = DateTime.Now.Date.AddDays(28).AddDays(1);
+            ////获取需要排产的工单(获取四周的工单:正常工单+已审批通过的特殊工单)
+            //DateTime endDate = DateTime.Now.Date.AddDays(28).AddDays(1);
             //取数开始时间为当前天的下一天
             DateTime startTime = DateTime.Now;
             //尚未开始生产的工单+正在生产的工单
-            var workOrds = _workOrdMaster.Select(p => p.IsActive && p.Domain == input.domain && (p.WorkOrd == input.workord || (p.OrdDate < endDate && p.OrdDate >= startTime && p.Status.ToUpper() == "P" && (string.IsNullOrEmpty(p.Typed) || (!string.IsNullOrEmpty(p.Typed) && p.Typed.ToUpper() != "PW" && p.BusinessID > 0))) || p.Status.ToLower() == "w")).ToList();
+            var workOrds = _workOrdMaster.Select(p => p.IsActive && p.Domain == input.domain && (p.WorkOrd == input.workord || (p.Status.ToUpper() == "P" && (string.IsNullOrEmpty(p.Typed) || (!string.IsNullOrEmpty(p.Typed) && p.Typed.ToUpper() != "PW" && p.BusinessID > 0))) || p.Status.ToUpper() == "W")).ToList();
             if (!workOrds.Exists(p=>p.WorkOrd == input.workord))
             {
                 return "NO|工单【" + input.workord + "】不存在,请联系系统管理员!";

+ 6 - 0
MicroServices/Business/Business.Domain/StructuredDB/Production/WorkOrdMaster.cs

@@ -63,6 +63,12 @@ namespace Business.Domain
         [Comment("订单数量")]
         public decimal QtyOrded { get; set; }
 
+        /// <summary>
+        /// 已完成数量
+        /// </summary>
+        [Comment("已完成数量")]
+        public decimal QtyCompleted { get; set; }
+
         /// <summary>
         /// 工艺路线编码
         /// </summary>