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.
158 lines
4.9 KiB
C#
158 lines
4.9 KiB
C#
using Admin.Core.IService;
|
|
using Admin.Core.Service;
|
|
using Aucma.Core.BoxFoam.Views;
|
|
using CommunityToolkit.Mvvm.ComponentModel;
|
|
using CommunityToolkit.Mvvm.Input;
|
|
using CommunityToolkit.Mvvm.Messaging;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.ObjectModel;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using System.Windows;
|
|
|
|
namespace Aucma.Core.BoxFoam.ViewModels
|
|
{
|
|
/**
|
|
* 发泡计划
|
|
*
|
|
* */
|
|
public partial class FoamPlanPageViewModel : ObservableObject
|
|
{
|
|
protected readonly IBoxFoamPlanServices? _boxFoamPlanServices;
|
|
public FoamPlanPageViewModel()
|
|
{
|
|
_boxFoamPlanServices = App.ServiceProvider.GetService<IBoxFoamPlanServices>();
|
|
WeakReferenceMessenger.Default.Register<string>(this, Recive);
|
|
|
|
Task.Run(() =>
|
|
{
|
|
|
|
while (true)
|
|
{
|
|
InitData();
|
|
Thread.Sleep(3000);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void InitData()
|
|
{
|
|
try
|
|
{
|
|
MaterialCode.Clear();
|
|
MaterialName.Clear();
|
|
PlanAmount.Clear();
|
|
ComplateAmount.Clear();
|
|
DifferenceAmount.Clear();
|
|
|
|
var task = _boxFoamPlanServices.QueryAsync(x => x.ProductLineCode == "CX_02" && x.StationCode == "1005" && x.ShiftType == 1).Result;
|
|
if (task == null) return;
|
|
task.OrderBy(d => d.ObjId);
|
|
foreach (var item in task)
|
|
{
|
|
Id.Add(item.ObjId);
|
|
MaterialCode.Add(item.MaterialCode);
|
|
MaterialName.Add(item.MaterialName);
|
|
PlanAmount.Add(item.PlanAmount);
|
|
ComplateAmount.Add(item.CompleteAmount);
|
|
DifferenceAmount.Add(item.PlanAmount - item.CompleteAmount);
|
|
}
|
|
}catch(Exception ex)
|
|
{
|
|
Console.WriteLine($"刷新计划列表异常:{ex.Message}");
|
|
}
|
|
}
|
|
|
|
#region MyRegion
|
|
private ObservableCollection<int> _id = new ObservableCollection<int>();
|
|
public ObservableCollection<int> Id
|
|
{
|
|
get => _id;
|
|
set => SetProperty(ref _id, value);
|
|
}
|
|
private ObservableCollection<string> _materialCode = new ObservableCollection<string>();
|
|
public ObservableCollection<string> MaterialCode
|
|
{
|
|
get => _materialCode;
|
|
set => SetProperty(ref _materialCode, value);
|
|
}
|
|
private ObservableCollection<string> _materialName = new ObservableCollection<string>();
|
|
public ObservableCollection<string> MaterialName
|
|
{
|
|
get => _materialName;
|
|
set => SetProperty(ref _materialName, value);
|
|
}
|
|
private ObservableCollection<int> _planAmount = new ObservableCollection<int>();
|
|
public ObservableCollection<int> PlanAmount
|
|
{
|
|
get => _planAmount;
|
|
set => SetProperty(ref _planAmount, value);
|
|
}
|
|
|
|
private ObservableCollection<int> _complateAmount = new ObservableCollection<int>();
|
|
public ObservableCollection<int> ComplateAmount
|
|
{
|
|
get => _complateAmount;
|
|
set => SetProperty(ref _complateAmount, value);
|
|
}
|
|
|
|
//difference
|
|
private ObservableCollection<int> _differenceAmount = new ObservableCollection<int>();
|
|
public ObservableCollection<int> DifferenceAmount
|
|
{
|
|
get => _differenceAmount;
|
|
set => SetProperty(ref _differenceAmount, value);
|
|
}
|
|
#endregion
|
|
|
|
[RelayCommand]
|
|
public void AddPlan(string objId)
|
|
{
|
|
SplitPlanView plan = new SplitPlanView(objId);
|
|
plan.Show();
|
|
}
|
|
|
|
[RelayCommand]
|
|
public async void ClearPlan(string objId)
|
|
{
|
|
int id=int.Parse(objId);
|
|
var obj=await _boxFoamPlanServices.FirstAsync(d=>d.ObjId== id);
|
|
obj.MaterialCode = "";
|
|
obj.MaterialName = "";
|
|
obj.PlanAmount = 0;
|
|
var result= await _boxFoamPlanServices.UpdateAsync(obj);
|
|
if (result)
|
|
{
|
|
ClearData();
|
|
MessageBox.Show("清除计划成功!", "系统提醒");
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("清除计划失败!", "系统提醒");
|
|
}
|
|
}
|
|
|
|
|
|
private void Recive(object recipient, string message)
|
|
{
|
|
if (message == "RefreshTask")
|
|
{
|
|
ClearData();
|
|
}
|
|
}
|
|
public void ClearData()
|
|
{
|
|
Id.Clear();
|
|
MaterialCode.Clear();
|
|
MaterialName.Clear();
|
|
PlanAmount.Clear();
|
|
ComplateAmount.Clear();
|
|
DifferenceAmount.Clear();
|
|
}
|
|
}
|
|
}
|