diff --git a/Admin.Core.Api/Admin.Core.Model.xml b/Admin.Core.Api/Admin.Core.Model.xml index 1263bf24..441f7753 100644 --- a/Admin.Core.Api/Admin.Core.Model.xml +++ b/Admin.Core.Api/Admin.Core.Model.xml @@ -1631,6 +1631,11 @@ SAP订单编码 + + + MES计划编号 + + 计划数量 diff --git a/Admin.Core.Model/Model_New/BoxFoamplan.cs b/Admin.Core.Model/Model_New/BoxFoamplan.cs index 979d7d81..036b6484 100644 --- a/Admin.Core.Model/Model_New/BoxFoamplan.cs +++ b/Admin.Core.Model/Model_New/BoxFoamplan.cs @@ -30,6 +30,13 @@ namespace Admin.Core.Model /// [SugarColumn(ColumnName = "ORDER_CODE")] public string OrderCode { get; set; } + + /// + /// MES计划编号 + /// + [SugarColumn(ColumnName = "PLAN_CODE")] + public string PlanCode { get; set; } + /// /// 计划数量 /// diff --git a/Admin.Core.Service/Service_New/ProductPlanInfoServices.cs b/Admin.Core.Service/Service_New/ProductPlanInfoServices.cs index f2a5b019..b27d6b30 100644 --- a/Admin.Core.Service/Service_New/ProductPlanInfoServices.cs +++ b/Admin.Core.Service/Service_New/ProductPlanInfoServices.cs @@ -64,10 +64,17 @@ namespace Admin.Core.Service ProductPlanInfo planInfo = null; try { - Expression> exp = s1 => true; - exp = exp.And(x => x.PlanCode == planCode); + //Expression> exp = s1 => true; + //exp = exp.And(x => x.PlanCode == planCode); + + //var info = await _dal.QueryAsync(exp); + + var info = _dal.Query(x=>x.PlanCode == planCode); - planInfo = await _dal.FirstAsync(exp); + if (info != null) + { + planInfo = info.OrderBy(x => x.CreatedTime).First(); + } logHelper.Info($"根据计划编号{planCode};获取到的计划信息:{planInfo.ToJson()}"); } diff --git a/Admin.Core.Service/Service_New/RecordBoxFoamFixtureComplateServices.cs b/Admin.Core.Service/Service_New/RecordBoxFoamFixtureComplateServices.cs index 77f3c8d9..f4bf345c 100644 --- a/Admin.Core.Service/Service_New/RecordBoxFoamFixtureComplateServices.cs +++ b/Admin.Core.Service/Service_New/RecordBoxFoamFixtureComplateServices.cs @@ -28,7 +28,10 @@ namespace Admin.Core.Service.Service_New private readonly ISysUserInfoServices _sysUserInfoServices; private readonly IBaseSpaceInfoServices _baseSpaceInfoServices; - public RecordBoxFoamFixtureComplateServices(IBaseRepository dal, IOldBoxFoamTypeServices boxFoamTypeServices, IBoxFoamPlanServices boxFoamPlanServices, IBoxFoamDataServices oldBoxFoamDataServices, ISysUserInfoServices sysUserInfoServices, IBaseSpaceInfoServices baseSpaceInfoServices) + + private readonly IProductPlanInfoServices _productPlanInfoServices; + + public RecordBoxFoamFixtureComplateServices(IBaseRepository dal, IOldBoxFoamTypeServices boxFoamTypeServices, IBoxFoamPlanServices boxFoamPlanServices, IBoxFoamDataServices oldBoxFoamDataServices, ISysUserInfoServices sysUserInfoServices, IBaseSpaceInfoServices baseSpaceInfoServices, IProductPlanInfoServices productPlanInfoServices) { this._dal = dal; base.BaseDal = dal; @@ -37,6 +40,7 @@ namespace Admin.Core.Service.Service_New _oldBoxFoamDataServices = oldBoxFoamDataServices; _sysUserInfoServices = sysUserInfoServices; _baseSpaceInfoServices = baseSpaceInfoServices; + _productPlanInfoServices = productPlanInfoServices; } /// @@ -118,7 +122,7 @@ namespace Admin.Core.Service.Service_New foreach (var boxFoamType in boxFoamTypeList) { - var boxPlanList = _boxFoamPlanServices.Query(x => x.ProductLineCode == productLineCode && x.StationCode == stationCode && x.MaterialCode == boxFoamType && x.PlanAmount > x.CompleteAmount); + var boxPlanList = _boxFoamPlanServices.Query(x => x.ProductLineCode == productLineCode && x.StationCode == stationCode && x.MaterialCode == boxFoamType && x.PlanAmount > x.CompleteAmount && x.ShiftType == 1); if (boxPlanList != null) { if (boxPlanList.Count > 0) @@ -133,6 +137,9 @@ namespace Admin.Core.Service.Service_New if (planResult) { Console.WriteLine($"生产计划更新成功:{boxPlan.CompleteAmount}"); + + //更新MES计划 + UpdateMesPlanInfo(boxPlan.PlanCode, item.RealOutPut); } else { @@ -308,5 +315,31 @@ namespace Admin.Core.Service.Service_New return result; } + + /// + /// 更新MES计划信息 + /// + private void UpdateMesPlanInfo(string planCode,int complateAmount) + { + if (string.IsNullOrEmpty(planCode)) + { + return; + } + var planInfo = _productPlanInfoServices.GetProductPlanByPlanCode(planCode).Result; + if(planInfo != null) + { + if(planInfo.PlanAmount > planInfo.CompleteAmount) + { + planInfo.CompleteAmount = planInfo.CompleteAmount + complateAmount; + if(planInfo.PlanAmount >= planInfo.CompleteAmount) + { + planInfo.EndTime = DateTime.Now; + } + + _productPlanInfoServices.UpdateProductPlanInfo(planInfo); + } + } + + } } } diff --git a/Aucma.Core.BoxFoam/Business/TeamSwitchBusiness.cs b/Aucma.Core.BoxFoam/Business/TeamSwitchBusiness.cs index 5a7762be..18b74064 100644 --- a/Aucma.Core.BoxFoam/Business/TeamSwitchBusiness.cs +++ b/Aucma.Core.BoxFoam/Business/TeamSwitchBusiness.cs @@ -240,12 +240,13 @@ namespace Aucma.Core.BoxFoam.Business log.Warn("班组切换小时数据记录保存失败"); } //当班计划,班组计划设为0 - var planInfoList = _boxFoamPlanServices.QueryAsync(x => x.ProductLineCode == "CX_02" && x.StationCode == "1005").Result; + var planInfoList = _boxFoamPlanServices.QueryAsync(x => x.ProductLineCode == "CX_02" && x.StationCode == "1005" && x.ShiftType == 1).Result; if (planInfoList != null) { foreach (var plan in planInfoList) { + plan.ShiftType = 0; bool updateFlag = _boxFoamPlanServices.UpdateAsync(plan).Result; @@ -274,7 +275,6 @@ namespace Aucma.Core.BoxFoam.Business { log.Warn($"计划:{plan.OrderCode},班组切换标识更新失败"); } - } } } diff --git a/Aucma.Core.OldBoxFoam/ViewModels/QuantityIssuedViewModel.cs b/Aucma.Core.OldBoxFoam/ViewModels/QuantityIssuedViewModel.cs index d494bb7c..b9fed985 100644 --- a/Aucma.Core.OldBoxFoam/ViewModels/QuantityIssuedViewModel.cs +++ b/Aucma.Core.OldBoxFoam/ViewModels/QuantityIssuedViewModel.cs @@ -111,6 +111,7 @@ namespace Aucma.Core.OldBoxFoam.ViewModels plan.UpdateTime = DateTime.Now; plan.CreateTime = DateTime.Now; plan.OrderCode = _planInfo.OrderCode; + plan.PlanCode = _planInfo.PlanCode; plan.ShiftType = 1; var result = _boxFoamPlanServices.AddAsync(plan).Result; if (result>=0) diff --git a/Aucma.Core.OldBoxFoam/ViewModels/SplitPlanViewModel.cs b/Aucma.Core.OldBoxFoam/ViewModels/SplitPlanViewModel.cs index b33e8533..24b3a744 100644 --- a/Aucma.Core.OldBoxFoam/ViewModels/SplitPlanViewModel.cs +++ b/Aucma.Core.OldBoxFoam/ViewModels/SplitPlanViewModel.cs @@ -63,6 +63,7 @@ namespace Aucma.Core.OldBoxFoam.ViewModels PlanAmount = item.PlanAmount, ResidueAmount = item.PlanAmount - item.CompleteAmount, SpliteResidueAmount = item.PlanAmount - residue, + CompleteAmount = item.CompleteAmount, StartDate = item.BeginTime }); i++; @@ -95,6 +96,7 @@ namespace Aucma.Core.OldBoxFoam.ViewModels PlanAmount = item.PlanAmount, ResidueAmount = item.PlanAmount - item.CompleteAmount, SpliteResidueAmount = item.PlanAmount - residue, + CompleteAmount = item.CompleteAmount, StartDate = item.BeginTime }); i++; diff --git a/Aucma.Core.OldBoxFoam/Views/RoadKindPageView.xaml b/Aucma.Core.OldBoxFoam/Views/RoadKindPageView.xaml index 95753424..8e1f07d9 100644 --- a/Aucma.Core.OldBoxFoam/Views/RoadKindPageView.xaml +++ b/Aucma.Core.OldBoxFoam/Views/RoadKindPageView.xaml @@ -189,6 +189,7 @@ + @@ -205,7 +206,7 @@ -