You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
224 lines
6.3 KiB
C#
224 lines
6.3 KiB
C#
using System;
|
|
using CommunityToolkit.Mvvm.Input;
|
|
using Aucma.Core.Palletiz.Business;
|
|
using Admin.Core.Model;
|
|
using Aucma.Core.Palletiz.Models;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
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;
|
|
|
|
/*
|
|
* 成品分垛入库首页信息
|
|
* 2024-02-28
|
|
*/
|
|
namespace Aucma.Core.Palletiz.ViewModels
|
|
{
|
|
internal class IndexControlViewModel : ObservableObject
|
|
{
|
|
private InStoreBusiness inStoreBusiness;
|
|
|
|
public IndexControlViewModel()
|
|
{
|
|
|
|
new InStoreBusiness().Init();
|
|
SelectTypeViewModel.RefreshPageEvent += Init;
|
|
StatisticsPageViewModel.CountInstoreEvent += CountInstore;
|
|
this.inStoreBusiness = App.ServiceProvider.GetService<InStoreBusiness>();
|
|
InStoreBusiness.RefreshMsgEvent += RefreshMsg;
|
|
InStoreBusiness.RefreshProductInfoEvent += RefreshProductInfo;
|
|
UpdateInStoreFlagCommand = new RelayCommand<Int32>(obj =>
|
|
{
|
|
Console.WriteLine($"{obj};设置");
|
|
BaseSpaceInfo space = inStoreBusiness.GetSpaceinfosById(obj);
|
|
if (space != null)
|
|
{
|
|
SelectType direct = new SelectType(space);
|
|
direct.ShowDialog();
|
|
}
|
|
|
|
});
|
|
|
|
|
|
this.Init();
|
|
|
|
InStoreTaskContent = new StatisticsPageView();
|
|
}
|
|
|
|
public void CountInstore(int count)
|
|
{
|
|
InStoreAmount = "入库数量:";
|
|
InStoreAmount = inStoreAmount + count;
|
|
}
|
|
|
|
#region 参数定义
|
|
|
|
public string productSNCode = string.Empty;
|
|
public string ProductSNCode
|
|
{
|
|
get { return this.productSNCode; }
|
|
set => SetProperty(ref productSNCode, value);
|
|
|
|
}
|
|
|
|
public string productModel = string.Empty;
|
|
public string ProductModel
|
|
{
|
|
get { return this.productModel; }
|
|
set => SetProperty(ref productModel, value);
|
|
|
|
}
|
|
|
|
public string orderCode = string.Empty;
|
|
public string OrderCode
|
|
{
|
|
get { return this.orderCode; }
|
|
set => SetProperty(ref orderCode, value);
|
|
|
|
|
|
}
|
|
|
|
public string productScanTime = string.Empty;
|
|
public string ProductScanTime
|
|
{
|
|
get { return this.productScanTime; }
|
|
|
|
set => SetProperty(ref productScanTime, value);
|
|
}
|
|
|
|
public string msg = string.Empty;
|
|
public string Msg
|
|
{
|
|
get { return this.msg; }
|
|
set => SetProperty(ref msg, value);
|
|
|
|
}
|
|
public string inStoreAmount = "入库数量:";
|
|
public string InStoreAmount
|
|
{
|
|
get { return this.inStoreAmount; }
|
|
set => SetProperty(ref inStoreAmount, value);
|
|
|
|
|
|
}
|
|
|
|
public System.Windows.Controls.UserControl _content;
|
|
|
|
public System.Windows.Controls.UserControl InStoreTaskContent
|
|
{
|
|
get { return this._content; }
|
|
set => SetProperty(ref _content, value);
|
|
|
|
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// A区域货道集合
|
|
/// </summary>
|
|
public ObservableCollection<BaseSpaceInfo> _areaA_SpaceInfo;
|
|
|
|
public ObservableCollection<BaseSpaceInfo> AreaA_SpaceInfo
|
|
{
|
|
get { return _areaA_SpaceInfo; }
|
|
set => SetProperty(ref _areaA_SpaceInfo, value);
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// B区域货道集合
|
|
/// </summary>
|
|
public ObservableCollection<BaseSpaceInfo> _areaB_SpaceInfo;
|
|
|
|
public ObservableCollection<BaseSpaceInfo> AreaB_SpaceInfo
|
|
{
|
|
get { return _areaB_SpaceInfo; }
|
|
set => SetProperty(ref _areaB_SpaceInfo, value);
|
|
|
|
}
|
|
#endregion
|
|
|
|
public RelayCommand<Int32> UpdateInStoreFlagCommand { get; set; }
|
|
|
|
private ObservableCollection<BaseSpaceInfo> spaceItems = new ObservableCollection<BaseSpaceInfo>();
|
|
|
|
private ObservableCollection<BaseSpaceInfo> spaceItemsB = new ObservableCollection<BaseSpaceInfo>();
|
|
|
|
|
|
/// <summary>
|
|
/// 刷新界面提示信息
|
|
/// </summary>
|
|
/// <param name="msg"></param>
|
|
public void RefreshMsg(string msg)
|
|
{
|
|
Msg = msg;
|
|
}
|
|
/// <summary>
|
|
/// 刷新界面扫码信息
|
|
/// </summary>
|
|
/// <param name="productCode"></param>
|
|
/// <param name="productModel"></param>
|
|
/// <param name="orderCode"></param>
|
|
public void RefreshProductInfo(string productCode, string productModel, string orderCode)
|
|
{
|
|
ProductSNCode = productCode;
|
|
ProductModel = productModel;
|
|
OrderCode = orderCode;
|
|
ProductScanTime = DateTime.Now.ToString();
|
|
}
|
|
private async Task Init()
|
|
{
|
|
await Task.Run(() =>
|
|
{
|
|
var info = inStoreBusiness.GetBaseSpaceinfos("A");
|
|
info = info.OrderByDescending(x => x.ObjId).ToList();
|
|
if (info != null)
|
|
{
|
|
App.Current.Dispatcher.BeginInvoke((Action)(() =>
|
|
{
|
|
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)(() =>
|
|
{
|
|
if (spaceItemsB.Count > 0)
|
|
{
|
|
spaceItemsB.Clear();
|
|
}
|
|
foreach (var item in info2)
|
|
{
|
|
spaceItemsB.Add(item);
|
|
}
|
|
AreaB_SpaceInfo = spaceItemsB;
|
|
}));
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|