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.

155 lines
4.1 KiB
C#

using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using slnmesnac.rfidupload.Repository;
using SlnMesnac.RfidUpload.Model;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Data.Common;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TouchSocket.Core;
using static SlnMesnac.RfidUpload.UI.SelectRouterWindow;
namespace SlnMesnac.RfidUpload.UI.viewModel
{
public partial class ReUploadRecordWindowViewModel: ObservableObject
{
private ObservableCollection<UploadRecord> _uploadRecordItems = new ObservableCollection<UploadRecord>();
public ObservableCollection<UploadRecord> UploadRecordItems
{
get => _uploadRecordItems;
set => SetProperty(ref _uploadRecordItems, value);
}
/// <summary>
///
/// </summary>
private string _tipMsg = "";
public string TipMsg
{
get { return _tipMsg; }
set => SetProperty(ref _tipMsg, value);
}
/// <summary>
///
/// </summary>
private string _ffjhNo = "";
public string FfjhNo
{
get { return _ffjhNo; }
set => SetProperty(ref _ffjhNo, value);
}
/// <summary>
///
/// </summary>
public RelayCommand QueryCommand { get; set; }
/// <summary>
/// 重传
/// </summary>
public RelayCommand<string> ExecuteCommand { get; set; }
private SqlSugarHelper sqliteHelper = SqlSugarHelper.Instance;
public ReUploadRecordWindowViewModel()
{
QueryCommand = new RelayCommand(GetRecordList);
ExecuteCommand = new RelayCommand<string>(ReUpload);
GetRecordList();
}
private void GetRecordList()
{
UploadRecordItems.Clear();
List<UploadRecord> list;
if (string.IsNullOrEmpty(FfjhNo))
{
list = sqliteHelper.GetRecordList();
}
else
{
list = sqliteHelper.GetRecordList().Where(p => p.FfjhNo.Contains(FfjhNo)).ToList();
}
foreach (var item in list)
{
UploadRecordItems.Add(item);
}
}
private void ReUpload(string ffjhNo)
{
UploadRecord record = sqliteHelper.GetRecordByFfjhNo(ffjhNo);
if(record != null)
{
List<string> strList = record.StrList.FromJsonString<List<string>>();
var dt = new Dbt();
dt.opBatch = record.OpBatch;
dt.ffjhNo = record.FfjhNo;
dt.No = "";
dt.ffjhscrq = record.Ffjhscrq;
dt.stationOrgCode = record.StationOrgCode;
dt.stationOrgName = record.StationOrgName;
Action<int, string> ac = (x, msg) =>
{
if (x == 0)
{
TipMsg = $"封发-按调拨单接口结果 [{msg}]";
}
if (x == 1)
{
TipMsg = $"封发-按调拨单反馈接口,[{msg}]";
}
if (x == 2)
{
TipMsg = $"校验发运计划结果,[{msg}]";
}
if (x == 3)
{
TipMsg = $"库存容器封发配发 -- 6.13.容器直连配发-开始配发,[{msg}]";
}
if (x == 4)
{
TipMsg = $"反馈接收接口,确认是否和实际相符,[{msg}]";
}
};
try
{
Tool.Push(strList, dt, ac);
}
catch (Exception ex)
{
TipMsg = $"数据上传失败:{ex.Message}";
}
}
}
}
}