1.出库单据、生成出库单据、计算物料时增加货架类型用于区分信息化货架和智能货架的物料 实现分开出

This commit is contained in:
hehaibing-1996
2024-05-21 10:32:52 +08:00
parent 649e22b4ce
commit b2f9c7cc22
48 changed files with 976 additions and 125 deletions

View File

@ -4,10 +4,12 @@ using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;
using WCS.BLL.DbModels;
using WCS.Model;
using WCS.Model.ApiModel.Home;
using WCS.Model.ApiModel.MatInventoryDetail;
using .Api;
@ -35,6 +37,71 @@ namespace 货架标准上位机.ViewModels
SetProperty(ref selectedItemSource, value);
}
}
private List<ShelfTypeModel> shelfTypeItems;
public List<ShelfTypeModel> ShelfTypeItems
{
get { return shelfTypeItems; }
set
{
SetProperty(ref shelfTypeItems, value);
}
}
public void InitShelfTypeItems()
{
//调用接口更新!
Task.Run(() =>
{
var body = new RequestBase()
{
UserName = LocalStatic.CurrentUser,
DeviceType = LocalFile.Config.DeviceType,
};
var Result = ApiHelp.GetDataFromHttp<PageQueryResponse<ShelfTypeModel>>(LocalFile.Config.ApiIpHost + "home/getShelfTypes", body, "POST");
if (Result != null && Result.Data != null && Result.Data.Lists.Count() > 0)
{
ShelfTypeItems = Result.Data.Lists;
SelectedShelfTypeItem = Result.Data.Lists.First();
}
});
}
private ShelfTypeModel selectedShelfTypeItem;
public ShelfTypeModel SelectedShelfTypeItem
{
get { return selectedShelfTypeItem; }
set
{
SetProperty(ref selectedShelfTypeItem, value);
}
}
private int selectedTypeCount = 0;
public int SelectedTypeCount
{
get => selectedTypeCount;
set
{
SetProperty(ref selectedTypeCount, value);
if (selectedTypeCount == 0)
{
ShelfTypeIsEnabled = true;
}
else
{
ShelfTypeIsEnabled = false;
}
}
}
private bool shelfTypeIsEnabled = true;
public bool ShelfTypeIsEnabled
{
get => shelfTypeIsEnabled; set { SetProperty(ref shelfTypeIsEnabled, value); }
}
#endregion
#region Command
@ -44,7 +111,11 @@ namespace 货架标准上位机.ViewModels
public ICommand BtnAddCommand { get => new DelegateCommand(BtnAdd); }
public void BtnAdd()
{
var window = new OutInventoryAddMatView();
if (SelectedShelfTypeItem == null)
{
HandyControl.Controls.MessageBox.Show("请选择货架类型!");
}
var window = new OutInventoryAddMatView(SelectedShelfTypeItem.Id);
window.Owner = Application.Current.MainWindow;
var result = window.ShowDialog();
if (result == true)
@ -52,6 +123,7 @@ namespace 货架标准上位机.ViewModels
if (DataGridItemSource == null)
DataGridItemSource = new ObservableCollection<MatInventorySummaryModel>();
DataGridItemSource.Add(window.inventorySummary);
SelectedTypeCount = DataGridItemSource.Count;
}
else
{
@ -66,11 +138,12 @@ namespace 货架标准上位机.ViewModels
{
DataGridItemSource.Remove(obj);
;
SelectedTypeCount = DataGridItemSource.Count;
}
catch (Exception ex)
{
Growl.Info(ex.Message);
Logs.Write($"删除物料时发生异常", LogsType.Err);
}
}
@ -117,6 +190,8 @@ namespace 货架标准上位机.ViewModels
{
OrderType = "出库",
OrderSource = "WCS前端",
ShelfTypeId = SelectedShelfTypeItem.Id,
ShelfTypeName = SelectedShelfTypeItem.ShelfTypeName,
ItemList = DataGridItemSource.Select(t => new MatCodeItemList()
{
MatCode = t.MatCode,