Bläddra i källkod

Merge branch 'dev' of http://123.60.180.165:4647/ZZYDOP/DOPCore into dev

heteng 2 år sedan
förälder
incheckning
0f5b2858a7

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

@@ -2705,7 +2705,7 @@ namespace Business.Replenishment
         {
             DateTime nextWeekMonday = getPreWeekStartTime().AddDays(14);
             DateTime next2WeekMonday = getPreWeekStartTime().AddDays(28);
-            var weekPlan = _replenishmentWeekPlan.GetListAsync(a => a.PlanStartDate >= nextWeekMonday && a.PlanStartDate < next2WeekMonday && a.IsReplenishmentModel == "N").Result.OrderBy(a => a.Priority).ToList();
+            var weekPlan = _replenishmentWeekPlan.GetListAsync(a => a.PlanStartDate >= nextWeekMonday && a.PlanStartDate < next2WeekMonday && a.IsReplenishmentModel == "N" && a.ProductionStatus=="").Result.OrderBy(a => a.Priority).ToList();
             List<WorkOrdMaster> workMasters = _workOrdMaster.Select(a => weekPlan.Select(s => s.ItemNumber).Contains(a.ItemNum) && weekPlan.Select(p => p.ProductionOrder).Contains(a.WorkOrd) && a.Domain == input.factory_id.ToString());
             List<mes_morder> mes_Morders = _mysql_mes_morder.GetListAsync(a => workMasters.Select(b => b.WorkOrd).ToList().Contains(a.morder_no) && a.factory_id == input.factory_id).Result;
             decimal priority = 1;
@@ -3532,7 +3532,8 @@ namespace Business.Replenishment
         {
             List<EOPDto> itemQty = new List<EOPDto>();
             var itemList=_mysql_ic_item.GetListAsync(a => itemNumbers.Contains(a.number) && a.factory_id == input.factory_id  && !a.IsDeleted).Result;
-            var itemStockList=_mysql_ic_item_stock.GetListAsync(a => itemNumbers.Contains(a.icitem_number) && a.factory_id == input.factory_id  && !a.IsDeleted).Result;
+            //获取成品库存、灭菌库存、在制库存(会从SAP同步的库存表更新到LocationDetail、ic_item表中)
+            var locations = _invMaster.Select(p => p.Domain == input.factory_id.ToString() && itemNumbers.Contains(p.ItemNum) && p.IsActive);
             var pooccupylist=_mysql_srm_po_occupy.GetListAsync(a => a.state == 1 && !a.IsDeleted && a.factory_id == input.factory_id ).Result;
             var poList = _mysql_srm_po_list.GetListAsync(a=> pooccupylist.Select(p=>p.polist_id).ToList().Contains(a.Id) && pooccupylist.Select(p => p.polist_row).ToList().Contains(a.polist_row) && a.factory_id == input.factory_id  && !a.IsDeleted).Result;
             var molist=_mysql_mes_morder.GetListAsync(a => itemNumbers.Contains(a.product_code) && a.factory_id == input.factory_id  && !a.IsDeleted).Result;
@@ -3551,9 +3552,9 @@ namespace Business.Replenishment
                 EOPDto eOPDto=new EOPDto();
                 eOPDto.ItemNumber = a;
                 decimal stockqty = 0;
-                if(itemStockList.Find(s => s.icitem_number == a)!=null)
+                if (locations.Find(s => s.ItemNum == a && (s.Location == "5008" || s.Location == "8000" || s.Location == "8001")) !=null)
                 {
-                    stockqty = itemStockList.Find(s => s.icitem_number == a).sqty.Value;
+                    stockqty = locations.Find(s => s.ItemNum == a && (s.Location == "5008" || s.Location == "8000" || s.Location == "8001")).AvailStatusQty.GetValueOrDefault();
                 }
                 decimal poOccupyQty = 0;
                 for(int i=0;i<pooccupylist.Count;i++)

+ 35 - 6
MicroServices/Business/Business.Application/ResourceExamineManagement/CalcBomViewAppService.cs

@@ -221,9 +221,9 @@ namespace Business.ResourceExamineManagement
             level1Dto.self_lack_qty = level1Dto.lack_qty;
             
             level1Dto.is_use = true;
+            //获取物料详情
             if (level1Dto.lack_qty > 0)
             {
-                //获取物料详情
                 var ic_item = icitemlist.Find(s => s.mysql_id == level1Dto.item_id);
                 _morderAppService.mo_Mes_Morders = mordersList;//工单
                 _morderAppService.mo_Mes_Moentry = moentriesList;//工单子表
@@ -262,6 +262,12 @@ namespace Business.ResourceExamineManagement
                     level1Dto.lack_qty = 0;
                     level1Dto.satisfy_time = mooccupylist[0].moo_etime;
                     level1Dto.kitting_time = level1Dto.satisfy_time;
+                    sentrys.sys_capacity_date = level1Dto.kitting_time.GetValueOrDefault().AddDays(1);
+                    if (ic_item != null)
+                    {
+                        double insLT = (double)Math.Ceiling(ic_item.self_inspection_date.GetValueOrDefault());
+                        sentrys.sys_capacity_date = sentrys.sys_capacity_date.GetValueOrDefault().AddDays(insLT);
+                    }
                     level1Dto.stock_state = 1;
                     return;
                 }
@@ -380,6 +386,11 @@ namespace Business.ResourceExamineManagement
                 level1Dto.kitting_time = DateTime.Now;
                 level1Dto.lack_qty = 0;
                 level1Dto.satisfy_time = DateTime.Now;
+                if (sentrys != null)
+                {
+                    //如果库存足够,则默认增加3天。
+                    sentrys.sys_capacity_date = level1Dto.satisfy_time.Value.AddDays(3);
+                }
                 level1Dto.stock_state = 1;
                 return;
             }
@@ -467,12 +478,16 @@ namespace Business.ResourceExamineManagement
                         mes_Morders.moentry_sys_etime = LeadTime;
                         TimeSpan span = ProductiveDate - mes_Morders.moentry_sys_stime.Value;
                         mes_Morders.morder_need_time = (decimal)span.TotalMinutes;*/
-
-                        //满足资源检查的时间需加上提前期
-                        level1Dto.satisfy_time = mes_Morders.moentry_sys_etime;
-                        if (sentrys != null)
+                    }
+                    //满足资源检查的时间需加上提前期
+                    level1Dto.satisfy_time = mes_Morders.moentry_sys_etime;
+                    if (sentrys != null)
+                    {
+                        sentrys.sys_capacity_date = level1Dto.satisfy_time.GetValueOrDefault().AddDays(1);
+                        if (plan != null)
                         {
-                            sentrys.sys_capacity_date = level1Dto.satisfy_time;
+                            double insLT = (double)Math.Ceiling(plan.self_inspection_date.GetValueOrDefault());
+                            sentrys.sys_capacity_date = sentrys.sys_capacity_date.GetValueOrDefault().AddDays(insLT);
                         }
                     }
                     level1Dto.make_list = new List<moorder>();
@@ -896,6 +911,13 @@ namespace Business.ResourceExamineManagement
                     {
                         CalcIcitem(cilList, returnlist, bangid, sklist, plan_date, icitemlist, sentrys, childidList);
                         item.kitting_time = cilList.Max(s => s.kitting_time);
+                        if (item.erp_cls == 4)
+                        {
+                            if (!cilList.Where(x => x.is_use == true && x.stock_state != 1).Any())
+                            {
+                                item.stock_state = 1;
+                            }
+                        }
                     }
                 }
             }
@@ -1429,6 +1451,13 @@ namespace Business.ResourceExamineManagement
                             {
                                 CalcIcitem(cilList, returnlist, bangid, sklist, plan_date, icitemlist, sentrys, childidList);
                                 sct.kitting_time = cilList.Max(s => s.kitting_time);
+                                if (sct.erp_cls == 4)
+                                {
+                                    if (!cilList.Where(x => x.is_use == true && x.stock_state != 1).Any())
+                                    {
+                                        sct.stock_state = 1;
+                                    }
+                                }
                             }
                         }
                     }

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

@@ -68,7 +68,8 @@ namespace Business.ResourceExamineManagement
         public void GetBomList(List<mo_ic_bom> bomlist, List<mo_ic_bom_child> bomchildlist, List<mo_ic_item> icitemlist, BomChildExamineDto dto, List<BomChildExamineDto> returnlist, int type, int orderNum)
         {
             int level = dto.level + 1;//初始化定义level层级
-
+            if (level > 10)
+                return;
             var bom = bomlist.Where(s => s.mysql_id == dto.bom_id).FirstOrDefault();
             mo_ic_item item = new mo_ic_item();
             if (bom != null)

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

@@ -597,7 +597,9 @@ namespace Business.ResourceExamineManagement
         /// <returns></returns>
         public async Task<string> receiveresultControllerApi(string companyid)
         {
-            var seorders = _mysql_crm_seorder.GetListAsync(s => s.company_id.ToString() == companyid).Result;
+            //获取订单行数据
+            var sentrys = await _mysql_crm_seorderentry.GetListAsync(p => (p.progress == "1" || p.progress == "2") && p.company_id.ToString() == companyid && !p.IsDeleted);
+            var seorders = _mysql_crm_seorder.GetListAsync(s => sentrys.Select(x => x.seorder_id.GetValueOrDefault()).Contains(s.Id) && s.company_id.ToString() == companyid).Result;
             string ids = string.Join(',', seorders.Select(x => x.Id));
             var rtn = await ReceiveResult(ids, 0, companyid);
             if (rtn == "ok")
@@ -791,7 +793,7 @@ namespace Business.ResourceExamineManagement
                 }
             }
             //计算订单行的建议交期(产能/物料)
-            CalcSuggestDate(sentrys, kittingTimes, icitemlist);
+            //CalcSuggestDate(sentrys, kittingTimes, icitemlist);
             examines.ForEach(p => {
                 var sent = sentrys.Find(s => s.Id == p.sentry_id);
                 if (sent != null)
@@ -3661,18 +3663,12 @@ namespace Business.ResourceExamineManagement
             List<b_bom_pretreatment> addList = new List<b_bom_pretreatment>();
             foreach (var bom in ic_Boms)
             {
-                /*var pret = pretreatment.Find(s => s.sourceid == bom.mysql_id && s.bom_id == bom.mysql_id);
-                if (pret != null)
+                var pret = pretreatment.Where(s => s.sourceid == bom.mysql_id).ToList();
+                if (pret.Any())
                 {
-                    if (pret.version == bom.version)
-                    {
-                        //如果存在,且版本相同,则不需要处理
-                        continue;
-                    }
                     //版本不同则重新生成
-                    deleteList.Add(pret);
-                }*/
-                deleteList.AddRange(pretreatment);
+                    deleteList.AddRange(pret);
+                }
                 //bom层级组装
                 var getBomList = _pretreatmentAppService.BomPretreatment(bom.mysql_id, bomlist, bomchildlist, icitemlist);
                 //bom替代关系组装

+ 1 - 1
MicroServices/Business/Business.Domain/StructuredDB/Bang/b_bom_child_examine.cs

@@ -79,7 +79,7 @@ namespace Business.Domain
         /// 项次号
         /// </summary>
         [Comment("项次号")]
-        [StringLength(50)]
+        [StringLength(100)]
         public string num { get; set; }
 
         /// <summary>

+ 1 - 1
MicroServices/Business/Business.Domain/StructuredDB/Bang/b_bom_pretreatment.cs

@@ -85,7 +85,7 @@ namespace Business.Domain
         /// 项次号
         /// </summary>
         [Comment("项次号")]
-        [StringLength(20)]
+        [StringLength(100)]
         public string num { get; set; }
 
         /// <summary>

+ 1 - 1
MicroServices/Business/Business.Host/Business.Host.csproj

@@ -9,7 +9,7 @@
   </PropertyGroup>
 
   <ItemGroup>
-	 <PackageReference Include="GZY.Quartz.MUI" Version="2.3.0" />
+	 <PackageReference Include="Huffey.Quartz.MUI" Version="1.0.2" />
 	 <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.3" />
     <PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="6.0.3" />
     <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.5">

+ 11 - 0
MicroServices/Business/Business.HttpApi/Controllers/SystemJobController.cs

@@ -86,5 +86,16 @@ namespace Business.Controllers
         {
             return _SystemJobAppService.TestTimeOut();
         }
+
+        /// <summary>
+        /// 测试接口超时
+        /// </summary>
+        /// <returns></returns>
+        [HttpGet]
+        [Route("systemversion")]
+        public string SystemVersion()
+        {
+            return "V2.7.9";
+        }
     }
 }