|
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Microsoft.Toolkit.Mvvm.ComponentModel;
- using System.Collections.Concurrent;
- using System.Collections.ObjectModel;
- using System.Windows;
- using BPASmartClient.Helper;
- using Microsoft.Toolkit.Mvvm.Input;
- using BPASmartClient.JXJFoodBigStation.Model;
- using BPASmartClient.JXJFoodBigStation.View;
- using BPASmartClient.CustomResource.UserControls;
- using BPASmartClient.CustomResource.UserControls.Model;
- using BPASmartClient.CustomResource.UserControls.Enum;
- using System.Windows.Media;
- using BPASmartClient.CustomResource.UserControls.MessageShow;
- using BPASmartClient.CustomResource.Pages.Model;
- using BPASmartClient.JXJFoodBigStation.Model.Siemens;
-
- namespace BPASmartClient.JXJFoodBigStation.ViewModel
- {
- public class RecipeReceiveViewModel : ObservableObject
- {
- public ObservableCollection<RawMaterial> RawMaterials { get; set; } = new ObservableCollection<RawMaterial>();
- public RecipeReceiveViewModel()
- {
- IsUseLocalRecipe = GVL_BigStation.IsUseLocalRecipe;
- Json<LocalRecipe>.Read();
- Recipes = Json<LocalRecipe>.Data.Recipes;
- DetailsCommand = new RelayCommand<object>((o) =>
- {
- if (o != null && o is string num)
- {
- ActionManage.GetInstance.CancelRegister("RecipeInfo");
- RecipeInfosView nrv = new RecipeInfosView();
- var res = Json<LocalRecipe>.Data.Recipes.FirstOrDefault(p => p.RecipeCode == num);
- ActionManage.GetInstance.Send("RecipeInfo", res);
- nrv.Show();
- MessageNotify.GetInstance.ShowUserLog($"编辑配方,配方名称:【{res.RecipeName}】");
- }
- });
- NewRecipe = new RelayCommand(() =>
- {
- RecipeInfosView nrv = new RecipeInfosView();
- nrv.ShowDialog();
- });
-
- //RefreshRecipe = new RelayCommand(() =>
- //{
- // foreach (var item in ProcessControl.GetInstance.RawMaterialsInfo)
- // {
- // RawMaterialNames.Add(item.RawMaterialName);
- // }
-
- // foreach (var item in Json<LocalRecipe>.Data.Recipes)
- // {
- // foreach (var tep in item.RawMaterial)
- // {
- // if (RawMaterialNames.Contains(tep.RawMaterialName))
- // {
- // int index = Array.FindIndex(ProcessControl.GetInstance.RawMaterialsInfo.ToArray(), p => p.RawMaterialName == tep.RawMaterialName);
- // tep.RawMaterialLocation = ProcessControl.GetInstance.RawMaterialsInfo.ElementAt(index).RawMaterialLocation;
- // }
- // }
- // }
- //});
-
- //模拟配方
- //NewSimulateRecipe = new RelayCommand(() =>
- //{
- // RawMaterials.Clear();
- // string recipeName = "配方" + (Json<LocaPar>.Data.Recipes.Count + 1) + "";
- //go:
- // string recipeCode = new Random().Next(10000, 99999).ToString();
- // foreach (var item in Recipes)
- // {
- // if (item.RecipeCode == recipeCode)
- // {
- // goto go;
- // }
- // }
- // int trayCode = new Random().Next(1,6);
- // for (int i = 1; i < 13; i++)
- // {
- // int a = new Random().Next(1, 5);
- // if (a == 3)
- // {
- // a = 1;
- // }
- // RawMaterials.Add(new RawMaterialModel()
- // {
- // RawMaterialWeight = new Random().Next(10, 1000),
- // RawMaterialBarrelNum = a,
- // RawMaterialLocation = i,
- // });
- // }
- // Json<LocaPar>.Data.Recipes.Add(new RecipeModel()
- // {
- // RecipeName = recipeName,
- // RecipeCode = recipeCode,
- // TrayCode = trayCode,
- // RawMaterial = RawMaterials,
- // });
- // Json<LocaPar>.Save();
- //});
- ClearAllRecipe = new RelayCommand(() =>
- {
- if (!MessageNotify.GetInstance.ShowDialog($"请确认,是否删除所有本地配方?",DialogType.Warning))
- {
- return;
- }
-
- Json<LocalRecipe>.Data.Recipes.Clear();
- Json<LocalRecipe>.Data.SelectedRecipes.Clear();
- Json<LocalRecipe>.Save();
-
- NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "成功", $"本地配方已全部删除!");
- MessageNotify.GetInstance.ShowUserLog($"手动清除所有配方。");
- });
-
- RemoveCommand = new RelayCommand<string>((recipeCode) =>
- {
- if (!MessageNotify.GetInstance.ShowDialog($"请确认,是否删除配方【{recipeCode}】?",DialogType.Warning))
- {
- return;
- }
- var res = Recipes.FirstOrDefault(p => p.RecipeCode == recipeCode);
- if (res != null)
- {
- Recipes.Remove(res);
- Json<LocalRecipe>.Save();
- NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "成功", $"配方删除完成");
- MessageNotify.GetInstance.ShowUserLog($"手动删除【{res.RecipeName}】配方,编号:【{recipeCode}】,");
- }
- });
- }
- public RelayCommand<object> DetailsCommand { get; set; }
- // public RelayCommand NewSimulateRecipe { get; set; }
- public RelayCommand ClearAllRecipe { get; set; }
- public RelayCommand NewRecipe { get; set; }
- public RelayCommand RefreshRecipe { get; set; }
- public bool IsUseLocalRecipe { get { return _isUseLocalRecipe; } set { _isUseLocalRecipe = value; OnPropertyChanged(); } }
- public bool _isUseLocalRecipe { get; set; }
- public RelayCommand<string> RemoveCommand { get; set; }
- public ObservableCollection<RecipeData> Recipes { get; set; } = new ObservableCollection<RecipeData>();
-
- public ObservableCollection<string> RawMaterialNames { get; set; } = new ObservableCollection<string>();
- }
- }
|