Pengxy пре 1 година
родитељ
комит
e94fcca691

+ 13 - 3
MicroServices/Business/Business.Application/ReplenishmentManagement/ReplenishmentAppService.cs

@@ -4995,6 +4995,7 @@ namespace Business.Replenishment
                     if (list.Any())
                         rtn.srm_pr_list = _CalcBomViewAppService.SRMPRDtoList;
                 }
+                
                 if (prmainlist.Any())
                 {
                     var nbrlistDto = _serialNumberAppService.GetBillNo(prmainlist[0].factory_id.ToString(), "PR", prmainlist.Count, "admin", 1);
@@ -5125,6 +5126,8 @@ namespace Business.Replenishment
                     var dbitemstockList = _mysql_ic_item_stock.GetListAsync(a => AlignmentCalcList.Select(x => x.ItemNum).Contains(a.icitem_number) && a.factory_id == param.factoryId).Result;
                     //获取PR和PO
                     var DBprmainList = _mysql_srm_pr_main.GetListAsync(x => x.factory_id == param.factoryId && x.state != 0 && x.state != 4 && string.IsNullOrEmpty(x.analogcalcversion) == true && ic_items.Select(a => a.Id).Contains(x.icitem_id.GetValueOrDefault())).Result;
+                    //货源清单
+                    var dbPurchaseList = _mysql_srm_purchase.GetListAsync(x => x.factory_id == param.factoryId && x.quota_rate.GetValueOrDefault() > 0 && AlignmentCalcList.Select(c => c.ItemNum).Contains(x.number)).Result;
                     //PO、DO
                     var purordmstList = _PurOrdMaster.Select(x => string.IsNullOrEmpty(x.Status) && x.Status.ToUpper() != "C").ToList();
                     //过滤PO、DO:
@@ -5155,6 +5158,7 @@ namespace Business.Replenishment
                         {
                             x.InventoryQty += stock.sqty.GetValueOrDefault();
                         }
+                        var supplist = dbPurchaseList.Where(s => s.number == x.ItemNum).ToList();
                         if (DBprmainList.Any() || prmainlist.Any())
                         {
                             var icitem = ic_items.Find(a => a.number == x.ItemNum);
@@ -5164,9 +5168,15 @@ namespace Business.Replenishment
                                 x.ProcureQty += prmainlist.Where(a => a.icitem_id == icitem.Id).Sum(c => c.pr_aqty.GetValueOrDefault());
                             }
                         }
-                        if (purorddtlList.Any())
+                        List<PurOrdMaster> curpurordmstList = new List<PurOrdMaster>();
+                        if (purordmstList.Any())
                         {
-                            x.ProcureQty += purorddtlList.Where(a => a.ItemNum == x.ItemNum).Sum(c => c.QtyOrded - c.RctQty);
+                            //根据货源清单过滤
+                            curpurordmstList = purordmstList.Where(p => supplist.Select(s => s.supplier_number).ToList().Contains(p.Supp)).ToList();
+                        }
+                        if (curpurordmstList.Any() && purorddtlList.Any())
+                        {
+                            x.ProcureQty += purorddtlList.Where(a => a.ItemNum == x.ItemNum && curpurordmstList.Select(c=>c.PurOrd).ToList().Contains(a.PurOrd)).Sum(c => c.QtyOrded - c.RctQty);
                         }
                         //差异数量=工单需求总数-库存数量-PR、PO采购在途数量
                         x.DifferenceQty = x.NeedQty - x.InventoryQty - x.ProcureQty;
@@ -5175,7 +5185,7 @@ namespace Business.Replenishment
                     var prAddList = AlignmentCalcList.Where(x => x.DifferenceQty > 0).ToList();
                     //需要减少PR的集合
                     var prDelList = AlignmentCalcList.Where(x => x.DifferenceQty < 0).ToList();
-                    var dbPurchaseList = _mysql_srm_purchase.GetListAsync(x => x.factory_id == param.factoryId && x.quota_rate.GetValueOrDefault() > 0 && AlignmentCalcList.Select(c => c.ItemNum).Contains(x.number)).Result;
+                    
                     //获取需要新增的PR
                     var sysSet = _generalizedCodeMaster.Select(s => s.FldName == "SystemConfig" && s.Val == "ScheduleAgreement" && s.Domain == param.factoryId.ToString()).ToList();
                     int ScheduleAgreement = 0;//计划协议 0不启用,1启用

+ 18 - 0
MicroServices/Business/QuartzSettings/logs/logs.txt

@@ -2201,3 +2201,21 @@
 {"TaskName":"长周期物料PR","GroupName":"systemquartzjob","BeginDate":"2025-02-26T15:22:47.0678394+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
 {"TaskName":"TestTimeOut","GroupName":"systemquartzjob","BeginDate":"2025-02-26T15:22:47.0734298+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
 {"TaskName":"BOM预处理自动任务","GroupName":"BOM预处理自动任务","BeginDate":"2025-02-26T15:22:47.0758135+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步WMS物料订单等基础数据到MySQL","GroupName":"systemquartzjob","BeginDate":"2025-02-27T09:53:32.1467074+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时创建NLog日志按月分表","GroupName":"systemquartzjob","BeginDate":"2025-02-27T09:53:32.2015856+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步MySQL基础数据到MongoDB","GroupName":"systemquartzjob","BeginDate":"2025-02-27T09:53:32.2068788+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"长周期物料PR","GroupName":"systemquartzjob","BeginDate":"2025-02-27T09:53:32.2089193+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"TestTimeOut","GroupName":"systemquartzjob","BeginDate":"2025-02-27T09:53:32.2164761+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"BOM预处理自动任务","GroupName":"BOM预处理自动任务","BeginDate":"2025-02-27T09:53:32.2192237+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步WMS物料订单等基础数据到MySQL","GroupName":"systemquartzjob","BeginDate":"2025-02-27T10:21:03.1210411+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时创建NLog日志按月分表","GroupName":"systemquartzjob","BeginDate":"2025-02-27T10:21:03.178181+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步MySQL基础数据到MongoDB","GroupName":"systemquartzjob","BeginDate":"2025-02-27T10:21:03.1845748+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"长周期物料PR","GroupName":"systemquartzjob","BeginDate":"2025-02-27T10:21:03.1864907+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"TestTimeOut","GroupName":"systemquartzjob","BeginDate":"2025-02-27T10:21:03.1881985+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"BOM预处理自动任务","GroupName":"BOM预处理自动任务","BeginDate":"2025-02-27T10:21:03.1947517+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步WMS物料订单等基础数据到MySQL","GroupName":"systemquartzjob","BeginDate":"2025-02-27T11:43:14.2629702+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时创建NLog日志按月分表","GroupName":"systemquartzjob","BeginDate":"2025-02-27T11:43:14.324354+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"定时同步MySQL基础数据到MongoDB","GroupName":"systemquartzjob","BeginDate":"2025-02-27T11:43:14.3293047+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"长周期物料PR","GroupName":"systemquartzjob","BeginDate":"2025-02-27T11:43:14.3313329+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"TestTimeOut","GroupName":"systemquartzjob","BeginDate":"2025-02-27T11:43:14.3382966+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}
+{"TaskName":"BOM预处理自动任务","GroupName":"BOM预处理自动任务","BeginDate":"2025-02-27T11:43:14.3409973+08:00","EndDate":null,"Msg":"任务初始化启动成功:6","id":0,"timeflag":null,"changetime":null}