diff --git a/Aucma.Core.Palletiz/Business/InstoreBusiness.cs b/Aucma.Core.Palletiz/Business/InstoreBusiness.cs
index 9ceea115..9f319776 100644
--- a/Aucma.Core.Palletiz/Business/InstoreBusiness.cs
+++ b/Aucma.Core.Palletiz/Business/InstoreBusiness.cs
@@ -54,7 +54,14 @@ namespace Aucma.Core.Palletiz.Business
///
public delegate void RefreshMsg(string msg);
public static event RefreshMsg? RefreshMsgEvent;
-
+
+
+ ///
+ ///入库时DataGrid添加一条DataGrid记录
+ ///
+ public delegate void AddData(RecordInStore record);
+ public static event AddData? AddDataEvent;
+
#endregion
@@ -177,6 +184,8 @@ namespace Aucma.Core.Palletiz.Business
}
_ = _recordInstoreServices.AddAsync(recordInstore).Result;
+ //刷新页面
+ AddDataEvent?.Invoke(recordInstore);
#endregion
if (!result)
@@ -267,7 +276,7 @@ namespace Aucma.Core.Palletiz.Business
if (plcCon == null)
{
- Task.Delay(1000 * 5).Wait();
+ Task.Delay(1000 * 3).Wait();
plcCon = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("InStoreAPlc"));
if(plcCon == null)
diff --git a/Aucma.Core.Palletiz/ViewModels/HandPalletizViewModel.cs b/Aucma.Core.Palletiz/ViewModels/HandPalletizViewModel.cs
index 49058440..381dabac 100644
--- a/Aucma.Core.Palletiz/ViewModels/HandPalletizViewModel.cs
+++ b/Aucma.Core.Palletiz/ViewModels/HandPalletizViewModel.cs
@@ -97,14 +97,18 @@ namespace Aucma.Core.Palletiz.ViewModels
[RelayCommand]
public void Save(Window window)
{
- Console.WriteLine(Area);
+ if (Area == null)
+ {
+ MessageBox.Show("请先选择区域");
+ return;
+ }
if (string.IsNullOrEmpty(ProductCode))
{
MessageBox.Show("请先选择产品型号");
return;
}
- HandSendEvent?.Invoke("A", productCode);
+ HandSendEvent?.Invoke(Area.Content.ToString(), productCode);
MessageBox.Show("手动入库成功");
window.Close();
// 入库
diff --git a/Aucma.Core.Palletiz/ViewModels/IndexPageViewModel.cs b/Aucma.Core.Palletiz/ViewModels/IndexPageViewModel.cs
index 48f294cf..78ec4a3f 100644
--- a/Aucma.Core.Palletiz/ViewModels/IndexPageViewModel.cs
+++ b/Aucma.Core.Palletiz/ViewModels/IndexPageViewModel.cs
@@ -8,6 +8,8 @@ using System.Collections.ObjectModel;
using System.Linq;
using Aucma.Core.Palletiz.Views;
using CommunityToolkit.Mvvm.ComponentModel;
+using System.Threading.Tasks;
+using static Aucma.Core.Palletiz.ViewModels.StatisticsPageViewModel;
/*
* 成品分垛入库首页信息
@@ -24,6 +26,7 @@ namespace Aucma.Core.Palletiz.ViewModels
new InStoreBusiness().Init();
SelectTypeViewModel.RefreshPageEvent += Init;
+ StatisticsPageViewModel.CountInstoreEvent += CountInstore;
this.inStoreBusiness = App.ServiceProvider.GetService();
InStoreBusiness.RefreshMsgEvent += RefreshMsg;
InStoreBusiness.RefreshProductInfoEvent += RefreshProductInfo;
@@ -31,20 +34,26 @@ namespace Aucma.Core.Palletiz.ViewModels
{
Console.WriteLine($"{obj};设置");
BaseSpaceInfo space = inStoreBusiness.GetSpaceinfosById(obj);
- if(space != null )
+ if (space != null)
{
SelectType direct = new SelectType(space);
direct.ShowDialog();
}
-
+
});
this.Init();
- InStoreAmount = inStoreAmount + "19";
+
InStoreTaskContent = new StatisticsPageView();
}
+ public void CountInstore(int count)
+ {
+ InStoreAmount = "入库数量:";
+ InStoreAmount = inStoreAmount + count;
+ }
+
#region 参数定义
public string productSNCode = string.Empty;
@@ -55,12 +64,12 @@ namespace Aucma.Core.Palletiz.ViewModels
}
- public string productModel = string.Empty;
+ public string productModel = string.Empty;
public string ProductModel
{
get { return this.productModel; }
set => SetProperty(ref productModel, value);
-
+
}
public string orderCode = string.Empty;
@@ -69,7 +78,7 @@ namespace Aucma.Core.Palletiz.ViewModels
get { return this.orderCode; }
set => SetProperty(ref orderCode, value);
-
+
}
public string productScanTime = string.Empty;
@@ -77,7 +86,7 @@ namespace Aucma.Core.Palletiz.ViewModels
{
get { return this.productScanTime; }
- set => SetProperty(ref productScanTime, value);
+ set => SetProperty(ref productScanTime, value);
}
public string msg = string.Empty;
@@ -85,7 +94,7 @@ namespace Aucma.Core.Palletiz.ViewModels
{
get { return this.msg; }
set => SetProperty(ref msg, value);
-
+
}
public string inStoreAmount = "入库数量:";
public string InStoreAmount
@@ -93,7 +102,7 @@ namespace Aucma.Core.Palletiz.ViewModels
get { return this.inStoreAmount; }
set => SetProperty(ref inStoreAmount, value);
-
+
}
public System.Windows.Controls.UserControl _content;
@@ -104,7 +113,7 @@ namespace Aucma.Core.Palletiz.ViewModels
set => SetProperty(ref _content, value);
-
+
}
///
@@ -116,7 +125,7 @@ namespace Aucma.Core.Palletiz.ViewModels
{
get { return _areaA_SpaceInfo; }
set => SetProperty(ref _areaA_SpaceInfo, value);
-
+
}
///
@@ -128,7 +137,7 @@ namespace Aucma.Core.Palletiz.ViewModels
{
get { return _areaB_SpaceInfo; }
set => SetProperty(ref _areaB_SpaceInfo, value);
-
+
}
#endregion
@@ -160,46 +169,55 @@ namespace Aucma.Core.Palletiz.ViewModels
OrderCode = orderCode;
ProductScanTime = DateTime.Now.ToString();
}
- private void Init()
+ private async Task Init()
{
-
- var info = inStoreBusiness.GetBaseSpaceinfos("A");
- info = info.OrderByDescending(x => x.ObjId).ToList();
- if (info != null)
+ await Task.Run(() =>
{
- App.Current.Dispatcher.BeginInvoke((Action)(() =>
+ var info = inStoreBusiness.GetBaseSpaceinfos("A");
+ info = info.OrderByDescending(x => x.ObjId).ToList();
+ if (info != null)
{
- if (spaceItems.Count > 0)
+ App.Current.Dispatcher.BeginInvoke((Action)(() =>
{
- spaceItems.Clear();
- }
- foreach (var item in info)
+ if (spaceItems.Count > 0)
+ {
+ spaceItems.Clear();
+ }
+ foreach (var item in info)
+ {
+ spaceItems.Add(item);
+ }
+ AreaA_SpaceInfo = spaceItems;
+ }));
+ }
+
+ var info2 = inStoreBusiness.GetBaseSpaceinfos("A");
+ info2 = info2.OrderBy(x => x.ObjId).ToList();
+ if (info2 != null)
+ {
+ App.Current.Dispatcher.BeginInvoke((Action)(() =>
{
- spaceItems.Add(item);
- }
- AreaA_SpaceInfo = spaceItems;
- }));
- }
-
-
- //var info2 = inStoreBusiness.GetBaseSpaceinfos("A");
- //info2 = info2.OrderBy(x => x.ObjId).ToList();
- //if (info2 != null)
- //{
- // App.Current.Dispatcher.BeginInvoke((Action)(() =>
- // {
- // if (spaceItemsB.Count > 0)
- // {
- // spaceItemsB.Clear();
- // }
- // foreach (var item in info2)
- // {
- // spaceItemsB.Add(item);
- // }
- // AreaB_SpaceInfo = spaceItemsB;
- // }));
- //}
+ if (spaceItemsB.Count > 0)
+ {
+ spaceItemsB.Clear();
+ }
+ foreach (var item in info2)
+ {
+ spaceItemsB.Add(item);
+ }
+ AreaB_SpaceInfo = spaceItemsB;
+ }));
+ }
+
+ });
+
+
}
+
+
+
+
}
}
+
diff --git a/Aucma.Core.Palletiz/ViewModels/PalletizPageViewModel.cs b/Aucma.Core.Palletiz/ViewModels/PalletizPageViewModel.cs
index 250eb1e5..d4b6d6b5 100644
--- a/Aucma.Core.Palletiz/ViewModels/PalletizPageViewModel.cs
+++ b/Aucma.Core.Palletiz/ViewModels/PalletizPageViewModel.cs
@@ -20,7 +20,7 @@ namespace Aucma.Core.Palletiz.ViewModels
public PalletizPageViewModel() {
_baseSpaceInfoServices = App.ServiceProvider.GetService();
LoadDataGrid();
- SelectTypeViewModel.RefreshPageEvent += LoadDataGrid;
+ // SelectTypeViewModel.RefreshPageEvent += LoadDataGrid;
}
public void LoadDataGrid()
diff --git a/Aucma.Core.Palletiz/ViewModels/SelectTypeViewModel.cs b/Aucma.Core.Palletiz/ViewModels/SelectTypeViewModel.cs
index d4257d3c..651afb9f 100644
--- a/Aucma.Core.Palletiz/ViewModels/SelectTypeViewModel.cs
+++ b/Aucma.Core.Palletiz/ViewModels/SelectTypeViewModel.cs
@@ -33,7 +33,7 @@ namespace Aucma.Core.Palletiz.ViewModels
/// 刷新货道页面
///
///
- public delegate void RefreshPage();
+ public delegate Task RefreshPage();
public static event RefreshPage RefreshPageEvent;
private static readonly log4net.ILog logHelper = LogManager.GetLogger(typeof(BaseSpaceInfoServices));
diff --git a/Aucma.Core.Palletiz/ViewModels/StatisticsPageViewModel.cs b/Aucma.Core.Palletiz/ViewModels/StatisticsPageViewModel.cs
index 69cfb168..08348c86 100644
--- a/Aucma.Core.Palletiz/ViewModels/StatisticsPageViewModel.cs
+++ b/Aucma.Core.Palletiz/ViewModels/StatisticsPageViewModel.cs
@@ -1,6 +1,7 @@
using Admin.Core.Common;
using Admin.Core.IService;
using Admin.Core.Model;
+using Aucma.Core.Palletiz.Business;
using Aucma.Core.Palletiz.Models;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
@@ -13,15 +14,28 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
+using System.Windows.Documents;
namespace Aucma.Core.Palletiz.ViewModels
{
public partial class StatisticsPageViewModel : ObservableObject
{
- // private static readonly Lazy lazy = new Lazy(() => new StatisticsPageViewModel());
- // public static StatisticsPageViewModel Instance => lazy.Value;
- public StatisticsPageViewModel() {
+
+
+ ///
+ /// 入库数量统计
+ ///
+ public delegate void CountInstore(int count);
+ public static event CountInstore? CountInstoreEvent;
+
+
+
+ // private static readonly Lazy lazy = new Lazy(() => new StatisticsPageViewModel());
+ // public static StatisticsPageViewModel Instance => lazy.Value;
+ public StatisticsPageViewModel()
+ {
MainWindowViewModel.RefreshInfoEvent += LoadData;
+ InStoreBusiness.AddDataEvent += AddData;
LoadData();
}
private readonly IRecordInStoreServices? _recordInstoreServices = App.ServiceProvider.GetService();
@@ -30,36 +44,46 @@ namespace Aucma.Core.Palletiz.ViewModels
public string storeCodeB = Appsettings.app("StoreInfo", "PalletizStoreCodeB");
-
+
+ ///
+ /// 入库时DataGrid添加一条记录
+ ///
+ ///
+ public void AddData(RecordInStore record)
+ {
+ MaterialDataGrid.Add(record);
+ CountInstoreEvent?.Invoke(MaterialDataGrid.Count);
+ }
+
#region 加载DataGrid数据
- private async Task LoadData()
+ private async Task LoadData()
{
+ await Task.Run(() =>
+ {
+ try
+ {
- await Task.Run(() =>
- {
- try
- {
+ List list = _recordInstoreServices.QueryAsync(x => (x.StoreCode == storeCodeA || x.StoreCode == storeCodeB) && x.InStoreTime >= DateTime.Today).Result;
+ if (list != null && list.Count > 0)
+ {
+ CountInstoreEvent?.Invoke(list.Count);
+ list.OrderByDescending(x => x.InStoreTime);
+ foreach (RecordInStore record in list)
+ {
+ App.Current.Dispatcher.Invoke(() =>
+ {
+ MaterialDataGrid.Add(record);
+ });
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine("" + ex.Message.ToString());
- List list = _recordInstoreServices.QueryAsync(x => (x.StoreCode == storeCodeA || x.StoreCode == storeCodeB) && x.InStoreTime >= DateTime.Today).Result;
- if (list != null && list.Count > 0)
- {
- list.OrderByDescending(x => x.InStoreTime);
- foreach (RecordInStore record in list)
- {
- App.Current.Dispatcher.Invoke(() =>
- {
- MaterialDataGrid.Add(record);
- });
- }
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine("" + ex.Message.ToString());
+ }
+ });
- }
- });
-
//MaterialDataGrid.Add(new MaterialComplateInfo() { No = 1, ProductPlanCode = "8659452123",MaterialCode = "8659452123", MaterialName = "SC-AUCMA-农夫山泉,SC", PlanAmount = 50, CompleteAmount = 10 });
}
@@ -93,14 +117,14 @@ namespace Aucma.Core.Palletiz.ViewModels
List list = _recordInstoreServices.QueryAsync(x => (x.StoreCode == storeCodeA || x.StoreCode == storeCodeB) && x.BarCodeCode.Contains(result)).Result;
if (list != null && list.Count > 0)
{
- MaterialDataGrid.Clear();
- foreach (RecordInStore record in list)
+ App.Current.Dispatcher.Invoke(() =>
{
- App.Current.Dispatcher.Invoke(() =>
+ MaterialDataGrid.Clear();
+ foreach (RecordInStore record in list)
{
MaterialDataGrid.Add(record);
- });
- }
+ }
+ });
}
});
}
diff --git a/Aucma.Core.Palletiz/Views/StatisticsPageView.xaml b/Aucma.Core.Palletiz/Views/StatisticsPageView.xaml
index 518741da..4c377bb6 100644
--- a/Aucma.Core.Palletiz/Views/StatisticsPageView.xaml
+++ b/Aucma.Core.Palletiz/Views/StatisticsPageView.xaml
@@ -108,12 +108,20 @@
+
-
+
+
+
+
+
+
+
+
diff --git a/Aucma.Core.Palletiz/Views/StatisticsPageView.xaml.cs b/Aucma.Core.Palletiz/Views/StatisticsPageView.xaml.cs
index 5eae4837..9b6d4ddf 100644
--- a/Aucma.Core.Palletiz/Views/StatisticsPageView.xaml.cs
+++ b/Aucma.Core.Palletiz/Views/StatisticsPageView.xaml.cs
@@ -27,5 +27,9 @@ namespace Aucma.Core.Palletiz.Views
this.DataContext = new StatisticsPageViewModel();
}
+ private void DataGrid_LoadingRow(object sender, DataGridRowEventArgs e)
+ {
+ e.Row.Header = (e.Row.GetIndex() + 1).ToString();
+ }
}
}