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.

139 lines
4.2 KiB
C#

7 months ago
using CommunityToolkit.Mvvm.Input;
using GalaSoft.MvvmLight;
using GalaSoft.MvvmLight.Command;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
7 months ago
using SlnMesnac.Model.domain;
using SlnMesnac.WPF.Page;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace SlnMesnac.WPF.ViewModel
{
public partial class TonerBoxingViewModel : ViewModelBase
{
private ISqlSugarClient? sqlSugarClient;
private readonly ILogger<TonerBoxingViewModel> _logger;
7 months ago
public TonerBoxingViewModel()
{
sqlSugarClient = App.ServiceProvider.GetService<ISqlSugarClient>();
SelectWindow.RefreshMsgEvent += RefreshMessage;
_logger = App.ServiceProvider.GetService<ILogger<TonerBoxingViewModel>>()!;
7 months ago
}
#region 界面属性定义
private string _boxCode = "";
public string BoxCode
{
get { return _boxCode; }
set
{
if (_boxCode != value)
{
_boxCode = value;
RaisePropertyChanged(nameof(BoxCode));
OnBoxCodeChanged(); // 调用处理逻辑
}
}
}
//提示信息
private string _msg = "";
public string Msg
{
get { return _msg; }
set
{
if (_msg != value)
{
_msg = value;
RaisePropertyChanged(nameof(Msg));
}
}
}
#endregion 界面属性定义
[RelayCommand]
private void Confirm()
{
Msg = "";
BoxCode = "";
}
private void OnBoxCodeChanged()
{
if (_boxCode.Length == 12)
{
_boxCode = _boxCode.ToUpper();
if (_boxCode.StartsWith("SH"))
{
SelectWindow selectWindow = new SelectWindow(_boxCode);
selectWindow.ShowDialog();
}
else
{
Msg = "编码规则有误请检查是否SHX/SHS开头的12位编码";
}
}
}
private void RefreshMessage(string Message, string code)
{
Msg = Message;
_boxCode = "";
WmsPalletInfo? wmsPalletInfo = sqlSugarClient.Queryable<WmsPalletInfo>().First(x => x.PalletInfoCode == code);
if (wmsPalletInfo != null)
{
string flag = wmsPalletInfo.TonerFlag == 1 ? "是" : "否";
Msg += $"库存:{wmsPalletInfo.Amount},是否携带色粉:{flag}";
}
_logger.LogInformation($"料箱{code}人工操作记录:" + Msg);
7 months ago
}
//[RelayCommand]
//private void Confirm()
//{
// if (string.IsNullOrEmpty(BoxCode))
// {
// MessageBox.Show("请先扫描或输入装色粉料箱条码");
// return;
// }
// //校验料箱编码规则
// if (BoxCode.Length != 12 || !BoxCode.StartsWith("SH"))
// {
// MessageBox.Show("编码规则有误请检查是否SHX/SHS开头的12位编码");
// return;
// }
// //RFID条码
// Console.WriteLine(BoxCode);
// WmsPalletInfo palletInfo = new WmsPalletInfo();
// palletInfo.PalletInfoCode = BoxCode;
// // palletInfo.Barcode = "SF0000001";
// palletInfo.UpdatedTime = DateTime.Now;
// palletInfo.UpdatedBy = "wpf";
// palletInfo.CreatedTime = DateTime.Now;
// palletInfo.CreatedBy = "wpf";
// int count = sqlSugarClient.Insertable<WmsPalletInfo>(palletInfo).ExecuteCommand();
// if (count > 0)
// {
// MessageBox.Show("装色粉料箱条码录入成功");
// }
// else
// {
// MessageBox.Show("录入失败");
// }
// BoxCode = "";
//}
}
}