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.

116 lines
4.2 KiB
C#

using Admin.Core.Model;
using Aucma.Scada.UI.Common;
using Aucma.Scada.UI.PlanBusiness;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using System;
using System.Windows;
namespace Aucma.Scada.UI.ViewModel.AssemblyPlan
{
public partial class QuantityIssuedViewModel : ObservableObject
{
private AssemblyPlanBusiness assemblyPlanBusiness = AssemblyPlanBusiness.Instance;
private AppConfig appConfig = AppConfig.Instance;
public QuantityIssuedViewModel(ProductPlanInfo productPlanInfo)
{
PlanInfo = productPlanInfo;
}
private ProductPlanInfo _PlanInfo = new ProductPlanInfo();
public ProductPlanInfo PlanInfo
{
get => _PlanInfo;
set => SetProperty(ref _PlanInfo, value);
}
private string _TransmitAmount = string.Empty;
public string TransmitAmount
{
get => _TransmitAmount;
set => SetProperty(ref _TransmitAmount, value);
}
[RelayCommand]
private async void PlanInfoTransmit()
{
var productPlanInfo = _PlanInfo;
if(productPlanInfo != null)
{
var materialType = productPlanInfo.MaterialCode;
bool shellResult =await assemblyPlanBusiness.JudgmentStock(productPlanInfo, Convert.ToInt32(_TransmitAmount), appConfig.shellMaterialType,appConfig.shellStoreCode);
if (!shellResult)
{
MessageBox.Show("计划下达失败,箱壳物料库存不足", "提示", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly);
return;
}
bool linerResult =await assemblyPlanBusiness.JudgmentStock(productPlanInfo, Convert.ToInt32(_TransmitAmount), appConfig.linerMaterialType, appConfig.linerStoreCode);
if (!linerResult)
{
MessageBox.Show("计划下达失败,内胆物料库存不足", "提示", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly);
return;
}
//if (!shellResult && !linerResult)
//{
// MessageBox.Show("计划下达失败,箱壳、内胆物料库存不足");
// return;
//}else if(!shellResult || !linerResult)
//{
// if (!shellResult)
// {
// MessageBox.Show("计划下达失败,箱壳物料库存不足");
// return;
// }
// else if (!linerResult)
// {
// MessageBox.Show("计划下达失败,内胆物料库存不足");
// return;
// }
//}
}
else
{
MessageBox.Show("生产计划获取失败,加载为空", "提示", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly);
return;
}
bool result =await assemblyPlanBusiness.PlanTransmitByProductPlan(_PlanInfo.PlanCode, Convert.ToInt32(_TransmitAmount));
if (result)
{
MessageBox.Show("执行计划维护成功", "提示", MessageBoxButton.OK, MessageBoxImage.Information, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly);
}
}
[RelayCommand]
private void ClearTransmitAmount()
{
string amount = _TransmitAmount.ToString();
if(amount.Length > 0)
{
TransmitAmount = amount.Substring(0, amount.Length - 1);
}
}
[RelayCommand]
private void KeypadButton(object obj)
{
var info = obj as string;
TransmitAmount += info;
}
[RelayCommand]
private void CloseWindow(object parameter)
{
var window = parameter as Window;
if (window != null)
{
window.Close();
}
}
}
}