tangdi hace 2 años
padre
commit
fbc0a15624

+ 23 - 2
MicroServices/Business/Business.Application/ResourceExamineManagement/PurchaseOrderAppService.cs

@@ -95,13 +95,34 @@ namespace Business.ResourceExamineManagement
             DateTime toTime = DateTime.Now.Date;
 
             //先查询出满足日期,并且数量可满足占用的数据
-            var poDetails = poDetailList.Where(x => x.rarrdate.GetValueOrDefault() < DeliverDate && x.qty - x.rqty - x.esqty -
-                poOccupys.Where(p => p.polist_id == x.mysql_id)?.Sum(m => m.qty) > Quantity).OrderByDescending(x => x.rarrdate).ToList();
+            //var poDetails = poDetailList.Where(x => x.rarrdate.GetValueOrDefault() < DeliverDate && x.qty - x.rqty - x.esqty -
+            //poOccupys.Where(p => p.polist_id == x.mysql_id)?.Sum(m => m.qty) > Quantity).OrderByDescending(x => x.rarrdate).ToList();
+            List<mo_srm_po_list> poDetails = new List<mo_srm_po_list>();
+            //日期满足
+            /*var backPodtls = poDetailList.Where(x => x.rarrdate.GetValueOrDefault() < DeliverDate).ToList();
+            var occpolist = new List<mo_srm_po_occupy>();
+            foreach (var pdtl in backPodtls)
+            {
+                occpolist = poOccupys.Where(p => p.polist_id == pdtl.mysql_id).ToList();
+                decimal occqty = 0;
+                if (occpolist.Any())
+                {
+                    occqty = occpolist.Sum(m => m.qty.GetValueOrDefault());
+                }
+                if (pdtl.qty - pdtl.rqty - pdtl.esqty - occqty > Quantity)
+                {
+                    poDetails.Add(pdtl);
+                }
+            }*/
             //未满足则查询出满足日期的订单
             if (poDetails.Count == 0)
             {
                 poDetails = poDetailList.Where(x => x.rarrdate.GetValueOrDefault() < DeliverDate).OrderByDescending(x => x.rarrdate).ToList();
             }
+            else
+            {
+                poDetails = poDetails.OrderByDescending(x => x.rarrdate).ToList();
+            }
             var QuantityNumber = 0.00m;
             foreach (var item in poDetails)
             {

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

@@ -3794,13 +3794,12 @@ namespace Business.ResourceExamineManagement
                 AutoCreateBomBill(param.company_id.ToString(), autoCreates);
                 pretreatments = _mysql_b_bom_pretreatment.GetListAsync(s => boms.Select(c => c.mysql_id).ToList().Contains(s.sourceid)).Result;
             }
-            await AsyncItemStockFromWMS(pretreatments);
-
             //增加特殊工单的预处理结果,因为特殊工单是自定义物料清单
             List<string> tsWork = new List<string> { "试制工单", "返工工单" };
             var specialWork = mo_Mes_Morders.Where(x => tsWork.Contains(x.morder_type)).ToList();
             pretreatments.AddRange(_mysql_b_bom_pretreatment.GetListAsync(s => specialWork.Select(c => c.Id).ToList().Contains(s.sourceid)).Result);
 
+            await AsyncItemStockFromWMS(pretreatments);
             //数据库快照-同步mysql库数据到mongoDB中
             await DbSnapShot(param.company_id, param.factoryId, bangid, pretreatments);