Quellcode durchsuchen

部分调整提交。

tangdi vor 2 Jahren
Ursprung
Commit
68c55a5a43

+ 32 - 5
MicroServices/Business/Business.Application/ReplenishmentManagement/ReplenishmentAppService.cs

@@ -2423,7 +2423,31 @@ namespace Business.Replenishment
                     if (list.Any())
                     if (list.Any())
                         rtn.srm_pr_list = _CalcBomViewAppService.SRMPRDtoList;
                         rtn.srm_pr_list = _CalcBomViewAppService.SRMPRDtoList;
                 }
                 }
-
+                if (prmainlist.Any())
+                {
+                    var nbrlistDto = _serialNumberAppService.GetBillNo(prmainlist[0].factory_id.ToString(), "PR", prmainlist.Count, "admin", 1);
+                    int index = 0;
+                    foreach (var p in prmainlist)
+                    {
+                        if (nbrlistDto[index] != null)
+                        {
+                            p.pr_billno = nbrlistDto[index].NbrResult;
+                        }
+                        index++;
+                        if (p.pr_purchaseid.GetValueOrDefault() == 0)
+                        {
+                            //数据丢失
+                            var list = _mysql_srm_purchase.GetListAsync(s => s.icitem_id == p.icitem_id).Result;
+                            if (list.Any())
+                            {
+                                var purchase = list.OrderBy(s => s.quota_priority).FirstOrDefault();
+                                p.pr_purchaseid = purchase.supplier_id;
+                                p.pr_purchasename = purchase.supplier_name;
+                                p.pr_purchasenumber = purchase.supplier_number;
+                            }
+                        }
+                    }
+                }
 
 
                 //获取工单数据
                 //获取工单数据
                 var workOrdMasters = _workOrdMaster.Select(p => mo_Mes_Morders.Select(c => c.morder_no).Contains(p.WorkOrd));
                 var workOrdMasters = _workOrdMaster.Select(p => mo_Mes_Morders.Select(c => c.morder_no).Contains(p.WorkOrd));
@@ -2437,7 +2461,7 @@ namespace Business.Replenishment
                     }
                     }
 
 
                 });
                 });
-                //优先级排序
+               /* //优先级排序
                 workOrdMasters = workOrdMasters.OrderBy(s => s.OrdDate).ToList();
                 workOrdMasters = workOrdMasters.OrderBy(s => s.OrdDate).ToList();
                 //排产
                 //排产
                 //await _productionScheduleAppService.DoProductSchedule(workOrdMasters, param.factoryId.ToString());
                 //await _productionScheduleAppService.DoProductSchedule(workOrdMasters, param.factoryId.ToString());
@@ -2448,7 +2472,7 @@ namespace Business.Replenishment
                     morder.moentry_sys_stime = wod.OrdDate;
                     morder.moentry_sys_stime = wod.OrdDate;
                     morder.moentry_sys_etime = wod.DueDate;
                     morder.moentry_sys_etime = wod.DueDate;
 
 
-                    /*var exa = rtn.examines.Find(s => s.morder_no == wod.WorkOrd);
+                    *//*var exa = rtn.examines.Find(s => s.morder_no == wod.WorkOrd);
                     exa.latest_times = morder.moentry_sys_etime.GetValueOrDefault().Date.AddDays(1);
                     exa.latest_times = morder.moentry_sys_etime.GetValueOrDefault().Date.AddDays(1);
                     //根据排产后得日期,反推PR。
                     //根据排产后得日期,反推PR。
                     var wkordPrList = prmainlist.Where(s => s.pr_mono == wod.WorkOrd).ToList();
                     var wkordPrList = prmainlist.Where(s => s.pr_mono == wod.WorkOrd).ToList();
@@ -2467,8 +2491,8 @@ namespace Business.Replenishment
                         {
                         {
                             pr.pr_ssend_date = DateTime.Now.Date.AddDays(1);
                             pr.pr_ssend_date = DateTime.Now.Date.AddDays(1);
                         }
                         }
-                    });*/
-                }
+                    });*//*
+                }*/
                 using (var unitOfWork = _unitOfWorkManager.Begin(false, true))
                 using (var unitOfWork = _unitOfWorkManager.Begin(false, true))
                 {
                 {
                     try
                     try
@@ -2477,6 +2501,9 @@ namespace Business.Replenishment
                         if (prmainlist.Any())
                         if (prmainlist.Any())
                         {
                         {
                             var pr_mainlist = ObjectMapper.Map<List<mo_srm_pr_main>, List<srm_pr_main>>(prmainlist);
                             var pr_mainlist = ObjectMapper.Map<List<mo_srm_pr_main>, List<srm_pr_main>>(prmainlist);
+
+
+
                             _businessDbContext.BulkInsert(pr_mainlist);
                             _businessDbContext.BulkInsert(pr_mainlist);
                         }
                         }
                         if (_CalcBomViewAppService.newStockOccList.Any())
                         if (_CalcBomViewAppService.newStockOccList.Any())

+ 8 - 0
MicroServices/Business/Business.Application/ResourceExamineManagement/CalcBomViewAppService.cs

@@ -1505,6 +1505,14 @@ namespace Business.ResourceExamineManagement
                 //委外暂时不做配额处理
                 //委外暂时不做配额处理
                 supplier = supplist.OrderBy(s => s.quota_priority).FirstOrDefault();//默认取配额优先级
                 supplier = supplist.OrderBy(s => s.quota_priority).FirstOrDefault();//默认取配额优先级
             }
             }
+            if (supplier == null)
+            {
+                returnlist.stock_state = 99;
+                sRMPR.lastStartTmie = DateTime.Now.AddDays(7);//默认采购提前期
+                sRMPR.totalLeadTime = 7;
+                return sRMPR;
+            }
+
             sRMPR.srm_Pr_Main = new List<mo_srm_pr_main>();
             sRMPR.srm_Pr_Main = new List<mo_srm_pr_main>();
             mo_srm_pr_main srm_Pr = new mo_srm_pr_main();
             mo_srm_pr_main srm_Pr = new mo_srm_pr_main();
             srm_Pr.GenerateNewId(help.NextId());
             srm_Pr.GenerateNewId(help.NextId());

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

@@ -1099,8 +1099,8 @@ namespace Business.ResourceExamineManagement
             //List<srm_pr_main> prlist = _mysql_srm_pr_main.GetListAsync(s => s.state == 1 || s.state == 2).Result;
             //List<srm_pr_main> prlist = _mysql_srm_pr_main.GetListAsync(s => s.state == 1 || s.state == 2).Result;
             //直接按间隔多少天一次来处理数据,定时任务按周四来考虑。
             //直接按间隔多少天一次来处理数据,定时任务按周四来考虑。
             DateTime toTime = DateTime.Now; //new DateTime(2023, 7, 6);
             DateTime toTime = DateTime.Now; //new DateTime(2023, 7, 6);
-            DateTime starttime = toTime.Date.AddDays(8);
-            DateTime endtime = toTime.Date.AddDays(14);
+            DateTime starttime = toTime.Date.AddDays(1);
+            DateTime endtime = toTime.Date.AddDays(8);
             List<srm_pr_main> prlist = _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<srm_pr_main> prlist = _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 && prlist.Select(c => c.icitem_id).Contains(s.Id)).Result;
             List<ic_item> ic_Items = _mysql_ic_item.GetListAsync(s => s.company_id.ToString() == companyid && prlist.Select(c => c.icitem_id).Contains(s.Id)).Result;
 
 
@@ -2597,7 +2597,7 @@ namespace Business.ResourceExamineManagement
                                 foreach (var bce in exm.BomChildExamineList)
                                 foreach (var bce in exm.BomChildExamineList)
                                 {
                                 {
                                     //如果有缺料
                                     //如果有缺料
-                                    if (bce.is_use && bce.stock_state == 0)
+                                    if (bce.is_use && (bce.stock_state == 0 || bce.stock_state == 99))
                                     {
                                     {
                                         //如果当前数据没有子级,则代表原材料齐套
                                         //如果当前数据没有子级,则代表原材料齐套
                                         if (exm.BomChildExamineList.Where(s => s.parent_id == bce.fid).Count() == 0)
                                         if (exm.BomChildExamineList.Where(s => s.parent_id == bce.fid).Count() == 0)
@@ -3201,6 +3201,32 @@ namespace Business.ResourceExamineManagement
                     if (list.Any())
                     if (list.Any())
                         rtn.srm_pr_list = _CalcBomViewAppService.SRMPRDtoList;
                         rtn.srm_pr_list = _CalcBomViewAppService.SRMPRDtoList;
                 }
                 }
+                if (prmainlist.Any())
+                {
+                    var nbrlistDto = _serialNumberAppService.GetBillNo(prmainlist[0].factory_id.ToString(), "PR", prmainlist.Count, "admin", 1);
+                    int index = 0;
+                    foreach (var p in prmainlist)
+                    {
+                        if (nbrlistDto[index] != null)
+                        {
+                            p.pr_billno = nbrlistDto[index].NbrResult;
+                        }
+                        index++;
+                        if (p.pr_purchaseid.GetValueOrDefault() == 0)
+                        {
+                            //数据丢失
+                            var list = _mysql_srm_purchase.GetListAsync(s => s.icitem_id == p.icitem_id).Result;
+                            if (list.Any())
+                            {
+                                var purchase = list.OrderBy(s => s.quota_priority).FirstOrDefault();
+                                p.pr_purchaseid = purchase.supplier_id;
+                                p.pr_purchasename = purchase.supplier_name;
+                                p.pr_purchasenumber = purchase.supplier_number;
+                            }
+                        }
+                    }
+                }
+
 
 
                 //获取工单数据
                 //获取工单数据
                 var workOrdMasters = _workOrdMaster.Select(p => mo_Mes_Morders.Select(c => c.morder_no).Contains(p.WorkOrd) && p.Domain == param.factoryId.ToString());
                 var workOrdMasters = _workOrdMaster.Select(p => mo_Mes_Morders.Select(c => c.morder_no).Contains(p.WorkOrd) && p.Domain == param.factoryId.ToString());