提交代码

This commit is contained in:
hehaibing-1996
2024-04-25 09:48:38 +08:00
parent aaf7c17562
commit a1199028b3
22 changed files with 861 additions and 196 deletions

View File

@ -164,13 +164,18 @@ namespace 货架标准上位机.ViewModel
var Result = ApiHelp.GetDataFromHttp<ShelfGoInInstoreResponse>(LocalFile.Config.ApiIpHost + "instore/shelfGoInInStore", body, "POST");
if (Result != null && Result.Code == 200)
{
scanner.IsInstoreMode = true;
scanner.ShelfCode = Result.Data.ShelfCode;
scanner.ModulesStr = Result.Data.ModulesStr;
}
else if (Result != null && !string.IsNullOrEmpty(Result.Message))
{
Growl.Warning(Result.Message);
}
}
catch (Exception ex)
{
Growl.Warning(ex.Message);
}
#endregion
}
@ -196,13 +201,56 @@ namespace 货架标准上位机.ViewModel
{
scanner.MatSn = Result.Data.MatSN;
}
else if(Result != null && !string.IsNullOrEmpty(Result.Message))
{
Growl.Warning(Result.Message);
}
}
catch (Exception ex)
{
Growl.Warning(ex.Message);
}
#endregion
}
public ICommand BtnEndCommand { get => new DelegateCommand(BtnEnd); }
public void BtnEnd()
{
try
{
//获取当前入库的货架
ScannerManager.Scanners.Where(t => t.IsInstoreMode).ToList().ForEach(t =>
{
if (!string.IsNullOrEmpty(t.ShelfCode))
{
var body = new ShelfGoOutInStoreRequest()
{
ShelfCode = t.ShelfCode,
DeviceType = LocalFile.Config.DeviceType,
UserName = LocalStatic.CurrentUser,
};
var Result = ApiHelp.GetDataFromHttp<ResponseCommon>(LocalFile.Config.ApiIpHost + "instore/shelfGoOutInStore", body, "POST");
if (Result != null && Result.Code == 200)
{
t.IsInstoreMode = false;
t.ShelfCode = string.Empty;
t.MatSn = string.Empty;
t.ScannerDisplayControl.RefreshValues(t.ShelfCode, t.MatSn);
}
}
else
{
t.IsInstoreMode = false;
Logs.Write($"扫码枪{t.COM}的货架码因为某种原因丢失!");
}
});
}
catch (Exception ex)
{
Growl.Warning(ex.Message);
}
}
#endregion
}
}

View File

@ -1,11 +1,15 @@
using HandyControl.Controls;
using Ping9719.WpfEx.Mvvm;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Windows;
using System.Windows.Input;
using WCS.BLL.DbModels;
using WCS.Model;
using WCS.Model.ApiModel.MatInventoryDetail;
using .Api;
namespace .ViewModels
{
@ -21,6 +25,16 @@ namespace 货架标准上位机.ViewModels
SetProperty(ref dataGridItemSource, value);
}
}
private MatInventorySummaryModel selectedItemSource;
public MatInventorySummaryModel SelectedItemSource
{
get { return selectedItemSource; }
set
{
SetProperty(ref selectedItemSource, value);
}
}
#endregion
#region Command
@ -60,7 +74,75 @@ namespace 货架标准上位机.ViewModels
}
}
// 定义一个事件,当需要关闭窗口时触发
public event Action RequestClose;
#endregion
// 一个方法,当满足某些条件时调用,以触发关闭窗口
protected virtual void OnRequestClose()
{
RequestClose?.Invoke();
}
public ICommand GenerateOutOrderCommand { get => new DelegateCommand(GenerateOutOrder); }
public void GenerateOutOrder()
{
//数据校验
if (DataGridItemSource == null || DataGridItemSource.Count == 0)
{
HandyControl.Controls.MessageBox.Show("选择的物料为空无法生成出库单!");
return;
}
foreach (var itemSource in DataGridItemSource)
{
if (itemSource.NeedQty == 0)
{
Growl.Warning("需求数量未填!");
SelectedItemSource = itemSource;
return;
}
//问一下此处是否要做限制 TO DO 物料分类Group By的规则 分到哪一类
//else if (itemSource.NeedQty > itemSource.TotalQty)
//{
// Growl.Warning("需求数量大于库存数量!");
// SelectedItemSource = itemSource;
// return;
//}
#region
try
{
var body = new SysOutOrderByMatCodeRequest()
{
OrderType = "出库",
OrderSource = "WCS前端",
ItemList = DataGridItemSource.Select(t => new MatCodeItemList()
{
MatCode = t.MatCode,
MatBatch = t.MatBatch,
ReqQty = t.NeedQty
}).ToList(),
DeviceType = LocalFile.Config.DeviceType,
UserName = LocalStatic.CurrentUser
};
var Result = ApiHelp.GetDataFromHttp<ResponseCommon>(LocalFile.Config.ApiIpHost + "outstore/sysOutOrderByMatCode", body, "POST");
if (Result != null && Result.Code == 200)
{
Growl.Success(Result.Message);
OnRequestClose();
}
else if (Result != null)
{
Growl.Warning(Result.Message);
}
}
catch (Exception ex)
{
Growl.Error("加载数据失败:" + ex.Message);
}
finally
{
}
#endregion
}
}
#endregion
}
}