You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
954 lines
38 KiB
954 lines
38 KiB
using AutoMapper;
|
|
using AutoMapper.Internal;
|
|
using BBWY.Client.APIServices;
|
|
using BBWY.Client.Helpers;
|
|
using BBWY.Client.Models;
|
|
using BBWY.Client.Models.APIModel.Request;
|
|
using BBWY.Client.Models.APIModel.Response.PackTask;
|
|
using BBWY.Client.Models.PackTask;
|
|
using BBWY.Client.Views.PackTask;
|
|
using BBWY.Common.Models;
|
|
using GalaSoft.MvvmLight.Command;
|
|
using HandyControl.Controls;
|
|
using Microsoft.Extensions.Logging;
|
|
using NPOI.Util;
|
|
using Org.BouncyCastle.Asn1.Crmf;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.ObjectModel;
|
|
using System.Diagnostics;
|
|
using System.Drawing.Printing;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Reflection;
|
|
using System.Reflection.Metadata.Ecma335;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Controls.Primitives;
|
|
using System.Windows.Input;
|
|
using System.Windows.Media.Imaging;
|
|
|
|
namespace BBWY.Client.ViewModels.PackTask
|
|
{
|
|
public class PackServiceViewModel : BaseVM, IDenpendency
|
|
{
|
|
|
|
private string packUserName;
|
|
/// <summary>
|
|
/// 打包人
|
|
/// </summary>
|
|
public string PackUserName { get => packUserName; set { Set(ref packUserName, value); } }
|
|
|
|
|
|
private int incrementPartTaskCount;
|
|
/// <summary>
|
|
/// 配件任务数量
|
|
/// </summary>
|
|
public int IncrementPartTaskCount { get => incrementPartTaskCount; set { Set(ref incrementPartTaskCount, value); } }
|
|
|
|
|
|
|
|
//public ObservableCollection<string> incrementPartCountList = new ObservableCollection<string>() {
|
|
//"0","1","2","3","4件以上"
|
|
//};
|
|
|
|
//public ObservableCollection<string> IncrementPartCountList { get => incrementPartCountList; set { Set(ref incrementPartCountList, value); } }
|
|
|
|
private int incrementPartCount;
|
|
/// <summary>
|
|
/// 配件数量
|
|
/// </summary>
|
|
public int IncrementPartCount { get => incrementPartCount; set { Set(ref incrementPartCount, value); } }
|
|
|
|
private string directionalFees;
|
|
/// <summary>
|
|
/// 定向费用
|
|
/// </summary>
|
|
public string DirectionalFees { get => directionalFees; set { Set(ref directionalFees, value); } }
|
|
|
|
|
|
private BitmapImage barcodeImage;
|
|
/// <summary>
|
|
/// 任务Id条形码
|
|
/// </summary>
|
|
public BitmapImage BarcodeImage { get => barcodeImage; set { Set(ref barcodeImage, value); } }
|
|
|
|
private BitmapImage taskImage;
|
|
/// <summary>
|
|
/// 任务Id条形码
|
|
/// </summary>
|
|
public BitmapImage TaskImage { get => taskImage; set { Set(ref taskImage, value); } }
|
|
|
|
private string printName;
|
|
|
|
public string PrintName { get => printName; set { Set(ref printName, value); } }
|
|
|
|
private ObservableCollection<string> printList;
|
|
/// <summary>
|
|
/// 打印机列表
|
|
/// </summary>
|
|
public ObservableCollection<string> PrintList { get => printList; set { Set(ref printList, value); } }
|
|
|
|
private ObservableCollection<PackTaskModel> packTaskList;
|
|
/// <summary>
|
|
/// 动态数据表
|
|
/// </summary>
|
|
public ObservableCollection<PackTaskModel> PackTaskList { get => packTaskList; set { Set(ref packTaskList, value); } }
|
|
|
|
|
|
private PackTaskModel packTaskModel;
|
|
|
|
public PackTaskModel PackTaskModel { get => packTaskModel; set { Set(ref packTaskModel, value); } } //
|
|
|
|
|
|
public ICommand AddPackServiceCommand { get; set; }
|
|
|
|
public ICommand AddBasicPackServiceCommand { get; set; }
|
|
|
|
public ICommand AddIncreateServiceCommand { get; set; }
|
|
|
|
public ICommand AddConsumableCommand { get; set; }
|
|
|
|
public ICommand UpLoadPackCommand { get; set; }
|
|
|
|
public ICommand SetAllCountCommand { get; set; }
|
|
|
|
|
|
public ICommand PrintCommand { get; set; }
|
|
|
|
readonly PackTaskService packTaskService;
|
|
readonly ConsumableService consumableService;
|
|
readonly PackDetailService packDetailService;
|
|
readonly BatchPurchaseService batchPurchaseService;
|
|
private ObservableCollection<PackItemModel> increateList = new ObservableCollection<PackItemModel>();
|
|
public ObservableCollection<PackItemModel> IncreateList { get => increateList; set { Set(ref increateList, value); } } //
|
|
|
|
//private ObservableCollection<PackItemModel>
|
|
// packList = new ObservableCollection<PackItemModel>();
|
|
//public ObservableCollection<PackItemModel> PackList { get => packList; set { Set(ref packList, value); } } //
|
|
|
|
private ObservableCollection<PackItemModel>
|
|
consumableServiceList = new ObservableCollection<PackItemModel>();
|
|
public ObservableCollection<PackItemModel> ConsumableServiceList { get => consumableServiceList; set { Set(ref consumableServiceList, value); } } //
|
|
|
|
|
|
|
|
|
|
private ObservableCollection<PackItemModel> basicPackProcessList = new ObservableCollection<PackItemModel>();
|
|
private ObservableCollection<PackItemModel> incrementProcessList = new ObservableCollection<PackItemModel>();
|
|
/// <summary>
|
|
///增量工序
|
|
/// </summary>
|
|
public ObservableCollection<PackItemModel> IncrementProcessList { get => incrementProcessList; set { Set(ref incrementProcessList, value); } } //
|
|
/// <summary>
|
|
/// 基础包装工序
|
|
/// </summary>
|
|
public ObservableCollection<PackItemModel> BasicPackProcessList { get => basicPackProcessList; set { Set(ref basicPackProcessList, value); } }
|
|
|
|
|
|
|
|
|
|
|
|
private string discount = "1";
|
|
/// <summary>
|
|
/// 折扣
|
|
/// </summary>
|
|
public string Discount { get => discount; set { Set(ref discount, value); } } //
|
|
|
|
|
|
public ObservableCollection<PackServiceDTO> IncreateServiceList { get; set; } = new ObservableCollection<PackServiceDTO>();
|
|
public ObservableCollection<PackUser> MemberList { get; set; } = new ObservableCollection<PackUser>();
|
|
public ObservableCollection<ConsumableModel> ConsumableList { get; set; } = new ObservableCollection<ConsumableModel>();
|
|
public ObservableCollection<PackServiceDTO> PackServiceList { get; set; } = new ObservableCollection<PackServiceDTO>();
|
|
|
|
/// <summary>
|
|
/// 基础包装服务项目列表
|
|
/// </summary>
|
|
public ObservableCollection<PackServiceDTO> BasicPackServiceList { get; set; } = new ObservableCollection<PackServiceDTO>();
|
|
|
|
private readonly PackServiceService packServiceService;
|
|
|
|
/// <summary>
|
|
/// 加载原数据
|
|
/// </summary>
|
|
public List<PackItemModel> LoadList = new List<PackItemModel>();
|
|
|
|
|
|
|
|
public void InitPrintList()
|
|
{
|
|
|
|
|
|
|
|
TaskImage = MyPrintHelper.GetBarcodeImage(TaskId.ToString(), 300, 60);
|
|
|
|
BarcodeImage = MyPrintHelper.GetBarcodeImage(SkuId, 300, 60);
|
|
|
|
|
|
PrintList = new ObservableCollection<string>();
|
|
var printingNames = PrinterSettings.InstalledPrinters;//获取本机的打印机数据
|
|
int index = -1;
|
|
int selectIndex = 0;
|
|
foreach (string name in printingNames)
|
|
{
|
|
if (name == "Microsoft XPS Document Writer" || name == "Microsoft Print to PDF" || name == "Fax")
|
|
{
|
|
continue;
|
|
}
|
|
index++;
|
|
if (name.Contains("Deli"))
|
|
{
|
|
selectIndex = index;
|
|
}
|
|
PrintList.Add(name);
|
|
}
|
|
try
|
|
{
|
|
var applicationPath = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
|
|
string printNames = Path.Combine(applicationPath, "printName.init");
|
|
if (File.Exists(printNames))
|
|
{
|
|
PrintName = File.ReadAllText(printNames);
|
|
}
|
|
else
|
|
{
|
|
if (PrintList.Count > 0)
|
|
{
|
|
PrintName = PrintList[0].ToString();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
public PackServiceViewModel(PackTaskService packTaskService, ConsumableService consumableService, PackServiceService packServiceService, PackDetailService packDetailService, BatchPurchaseService batchPurchaseService)//, long taskId
|
|
{
|
|
//TaskId = taskId;
|
|
this.consumableService = consumableService;
|
|
this.packTaskService = packTaskService;
|
|
this.packServiceService = packServiceService;
|
|
this.packDetailService = packDetailService;
|
|
this.batchPurchaseService = batchPurchaseService;
|
|
|
|
|
|
AddIncreateServiceCommand = new RelayCommand(AddIncreateService);
|
|
AddPackServiceCommand = new RelayCommand(AddPackService);
|
|
AddBasicPackServiceCommand = new RelayCommand(AddBasicPackService);
|
|
AddConsumableCommand = new RelayCommand(AddConsumable);
|
|
UpLoadPackCommand = new RelayCommand<object>(UpLoadPack);
|
|
SetAllCountCommand = new RelayCommand<object>(SetAllCount);
|
|
|
|
//加载数据
|
|
//LoadPackDatas();
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 加载任务数据
|
|
/// </summary>
|
|
public void LoadPackDatas()
|
|
{
|
|
IncrementPartTaskCount = TaskCount;
|
|
try
|
|
{
|
|
InitPrintList();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
|
|
}
|
|
|
|
LoadList = new List<PackItemModel>();
|
|
Task task = Task.Factory.StartNew(() =>
|
|
{
|
|
var resMember = this.packTaskService.GetPackMembers();//成员表
|
|
if (resMember.Success)
|
|
{
|
|
MemberList = new ObservableCollection<PackUser>();
|
|
foreach (var item in resMember.Data)
|
|
{
|
|
App.Current.Dispatcher.Invoke(() =>
|
|
{
|
|
MemberList.Add(item);
|
|
});
|
|
}
|
|
}
|
|
var res = this.packDetailService.GetPackTaskDetail(TaskId);
|
|
|
|
|
|
|
|
if (res.Success)
|
|
{
|
|
IncrementPartCount = res.Data.IncrementPartCount==null? 0 : res.Data.IncrementPartCount.Value;
|
|
|
|
if (res.Data != null && res.Data.IncrementItemList.Count() > 0)
|
|
{
|
|
IncreateServiceList = new ObservableCollection<PackServiceDTO>();
|
|
foreach (var packService in res.Data.IncrementItemList)
|
|
{
|
|
if (packService.ServiceType == ServiceType.增值服务)
|
|
App.Current.Dispatcher.Invoke(() =>
|
|
{
|
|
IncreateServiceList.Add(packService);//加载增值服务列表
|
|
});
|
|
|
|
}
|
|
}
|
|
|
|
if (res.Data != null && res.Data.ProcessItemList.Count() > 0)
|
|
{
|
|
PackServiceList = new ObservableCollection<PackServiceDTO>();
|
|
BasicPackServiceList = new ObservableCollection<PackServiceDTO>();
|
|
foreach (var packService in res.Data.ProcessItemList)
|
|
{
|
|
if (packService.ServiceType == ServiceType.打包服务)
|
|
App.Current.Dispatcher.Invoke(() =>
|
|
{
|
|
PackServiceList.Add(packService);//加载工序服务列表
|
|
BasicPackServiceList.Add(packService);
|
|
});
|
|
}
|
|
}
|
|
|
|
if (res.Data != null && res.Data.ConsumableItemList.Count() > 0)
|
|
{
|
|
ConsumableList = new ObservableCollection<ConsumableModel>();
|
|
foreach (var item in res.Data.ConsumableItemList)
|
|
{
|
|
|
|
App.Current.Dispatcher.Invoke(() =>
|
|
{
|
|
|
|
ConsumableList.Add(new ConsumableModel(consumableService)
|
|
{
|
|
Width = item.Width,
|
|
Weigth = item.Weigth,
|
|
Remark = item.Remark,
|
|
Price = item.Price,
|
|
Name = item.Name,
|
|
Length = item.Length,
|
|
Heigth = item.Heigth,
|
|
Id = item.Id
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
if (res.Data.IncreateList != null)
|
|
{
|
|
IncreateList = new ObservableCollection<PackItemModel>();
|
|
|
|
foreach (var item in res.Data.IncreateList)
|
|
{
|
|
App.Current.Dispatcher.Invoke(() =>
|
|
{
|
|
IncreateList.Add(new PackItemModel()
|
|
{
|
|
MemberList = MemberList,
|
|
IncreateServiceList = IncreateServiceList,
|
|
ItemCount = item.ItemCount,
|
|
ItemName = item.ItemName,
|
|
SelectId = item.SelectId,
|
|
SelectUserId = item.SelectUserId,
|
|
MemberName = item.MemberName
|
|
|
|
});
|
|
});
|
|
}
|
|
|
|
}
|
|
if (res.Data.ConsumableList != null)
|
|
{
|
|
ConsumableServiceList = new ObservableCollection<PackItemModel>();
|
|
foreach (var item in res.Data.ConsumableList)
|
|
{
|
|
App.Current.Dispatcher.Invoke(() =>
|
|
{
|
|
ConsumableServiceList.Add(new PackItemModel()
|
|
{
|
|
MemberList = MemberList,
|
|
ConsumableList = ConsumableList,
|
|
ItemCount = item.ItemCount,
|
|
ItemName = item.ItemName,
|
|
SelectId = item.SelectId,
|
|
|
|
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
if (res.Data.IncrementProcessList != null)
|
|
{
|
|
IncrementProcessList = new ObservableCollection<PackItemModel>();
|
|
foreach (var item in res.Data.IncrementProcessList)
|
|
{
|
|
App.Current.Dispatcher.Invoke(() =>
|
|
{
|
|
IncrementProcessList.Add(new PackItemModel()
|
|
{
|
|
MemberList = MemberList,
|
|
PackServiceList = PackServiceList.Copy(),
|
|
ItemCount = item.ItemCount,
|
|
ItemName = item.ItemName,
|
|
SelectId = item.SelectId,
|
|
SelectUserId = item.SelectUserId,
|
|
MemberName = item.MemberName
|
|
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
if (res.Data.BasicPackProcessList != null)
|
|
{
|
|
BasicPackProcessList = new ObservableCollection<PackItemModel>();
|
|
foreach (var item in res.Data.BasicPackProcessList)
|
|
{
|
|
App.Current.Dispatcher.Invoke(() =>
|
|
{
|
|
BasicPackProcessList.Add(new PackItemModel()
|
|
{
|
|
MemberList = MemberList,
|
|
PackServiceList = PackServiceList.Copy(),
|
|
ItemCount = item.ItemCount,
|
|
ItemName = item.ItemName,
|
|
SelectId = item.SelectId,
|
|
SelectUserId = item.SelectUserId,
|
|
MemberName = item.MemberName
|
|
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
LoadList.AddRange(IncreateList);
|
|
LoadList.AddRange(IncrementProcessList);
|
|
DirectionalFees = res.Data.DirectionalFees?.ToString();
|
|
}
|
|
});
|
|
}
|
|
|
|
/// <summary>
|
|
/// 批量设置耗材数量
|
|
/// </summary>
|
|
/// <param name="obj"></param>
|
|
private void SetAllCount(object obj)
|
|
{
|
|
|
|
SetCountWindow set = new SetCountWindow();
|
|
set.SetCount = new Action<int>((s) =>
|
|
{
|
|
var lbox = obj as ListBox;
|
|
var serviceList = lbox.ItemsSource as ObservableCollection<PackItemModel>;
|
|
foreach (var item in serviceList)
|
|
{
|
|
if (item.ItemName == null)
|
|
{
|
|
item.ItemName = ConsumableList.SingleOrDefault(c => c.Id == item.SelectId).Name;
|
|
}
|
|
|
|
item.ItemCount = s;
|
|
}
|
|
lbox.ItemsSource = serviceList;
|
|
});
|
|
set.Show();
|
|
}
|
|
|
|
private long taskId;
|
|
public long TaskId { get => taskId; set { Set(ref taskId, value); } } //
|
|
|
|
|
|
private int taskCount;
|
|
public int TaskCount { get => taskCount; set { Set(ref taskCount, value); } } //
|
|
public string OrderId { get; set; }
|
|
public string SkuId { get; set; }
|
|
|
|
|
|
|
|
private List<PackItemModel> IsOverCount(ObservableCollection<PackItemModel> packItemModels, bool needUserId = true)
|
|
{
|
|
|
|
|
|
List<PackItemModel> disItems = new List<PackItemModel>();
|
|
|
|
foreach (var packItem in packItemModels)//增值服务上传
|
|
{
|
|
var item = new PackItemModel
|
|
{
|
|
ItemCount = packItem.ItemCount,
|
|
SelectId = packItem.SelectId,
|
|
SelectUserId = packItem.SelectUserId,
|
|
ItemName = packItem.ItemName,
|
|
MemberName = packItem.MemberName
|
|
};
|
|
if (needUserId)
|
|
if (item.SelectId <= 0 || string.IsNullOrEmpty(item.SelectUserId) || item.ItemCount <= 0)
|
|
{
|
|
System.Windows.MessageBox.Show($"数据输入有误");
|
|
return null;
|
|
}
|
|
else
|
|
if (item.SelectId <= 0 || item.ItemCount <= 0)
|
|
{
|
|
System.Windows.MessageBox.Show($"数据输入有误");
|
|
return null;
|
|
}
|
|
|
|
if (item.ItemCount > TaskCount)
|
|
{
|
|
System.Windows.MessageBox.Show($"{item.ItemName}:{item.ItemCount}超出任务量{TaskCount}");
|
|
return null;
|
|
}
|
|
|
|
|
|
|
|
if (disItems.Select(a => a.SelectId).Contains(item.SelectId))//相同服务 存在累加
|
|
{
|
|
|
|
var data = disItems.SingleOrDefault(a => a.SelectId == item.SelectId);
|
|
|
|
if (data != null) data.ItemCount += item.ItemCount;
|
|
|
|
if (data.ItemCount > TaskCount)//累积超出任务量
|
|
{
|
|
System.Windows.MessageBox.Show($"{item.ItemName}:{data.ItemCount}超出任务量{TaskCount}");
|
|
return null;
|
|
}
|
|
|
|
continue;
|
|
}
|
|
disItems.Add(item);
|
|
}
|
|
|
|
|
|
|
|
return disItems;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 上传数据 (判断是否超量) 统一上传
|
|
/// </summary>
|
|
private void UpLoadPack(object obj)
|
|
{
|
|
decimal? directFees = null;
|
|
if (!string.IsNullOrEmpty(DirectionalFees))
|
|
{
|
|
try
|
|
{
|
|
directFees = decimal.Parse(DirectionalFees);
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
directFees = null;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
PackTaskDetailRequest packTaskDetail = new PackTaskDetailRequest();
|
|
packTaskDetail.DirectionalFees = directFees;
|
|
packTaskDetail.IncrementPartCount = IncrementPartCount;
|
|
packTaskDetail.IncrementPartTaskCount = IncrementPartTaskCount;
|
|
packTaskDetail.TaskId = TaskId;
|
|
|
|
decimal IncreateFees = 0, PackFees = 0, ConsumableFees = 0, DiscountPrice = 0;
|
|
|
|
var disIncreateList = IsOverCount(IncreateList);
|
|
if (disIncreateList == null) return;
|
|
|
|
var disBasicPackProcessList = IsOverCount(BasicPackProcessList);
|
|
if (disBasicPackProcessList == null) return;
|
|
|
|
if (disBasicPackProcessList.Select(d => d.SelectId).Distinct().Count() > 2)
|
|
{
|
|
System.Windows.MessageBox.Show("基础包装工序不能超过两道");
|
|
return;
|
|
}
|
|
|
|
var disIncrementProcessList = IsOverCount(IncrementProcessList);
|
|
if (disIncrementProcessList == null) return;
|
|
|
|
var disConsumableServiceList = IsOverCount(ConsumableServiceList, false);
|
|
if (disConsumableServiceList == null) return;
|
|
|
|
packTaskDetail.IncreateList = IncreateList.ToList();
|
|
packTaskDetail.BasicPackProcessList = BasicPackProcessList.ToList();
|
|
packTaskDetail.IncrementProcessList = IncrementProcessList.ToList();
|
|
packTaskDetail.ConsumableList = disConsumableServiceList;
|
|
|
|
var res = packDetailService.SetPackTaskDetail(packTaskDetail);
|
|
if (res != null && res.Success)
|
|
{
|
|
// new TipsWindow("上传成功!").Show();
|
|
var win = obj as System.Windows.Window;
|
|
if (SetAllFees != null)
|
|
SetAllFees();
|
|
win.Close();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
//private void UpLoadPack1(object obj)
|
|
//{
|
|
// decimal upDisCount = 1;
|
|
// if (string.IsNullOrEmpty(Discount)) upDisCount = 1;
|
|
|
|
// decimal.TryParse(Discount, out upDisCount);
|
|
// if (upDisCount == 0)
|
|
// {
|
|
// new TipsWindow("折扣输入有误");
|
|
// return;
|
|
// }
|
|
// UploadServiceRequest uploadService = new UploadServiceRequest();
|
|
// uploadService.Discount = upDisCount;
|
|
|
|
// List<PackItemModel> packServiceList = new List<PackItemModel>();
|
|
|
|
|
|
|
|
// uploadService.TaskId = TaskId;
|
|
// List<PackServiceDTO> uploadServices = new List<PackServiceDTO>();
|
|
|
|
// // List<ConsumableTaskModel> consumableTasks = new List<ConsumableTaskModel>();
|
|
// ///上传 删除的数据 //上传保存数据 //上传总数据
|
|
// List<PersonTaskModel> addDatas = new List<PersonTaskModel>();
|
|
// List<PersonTaskModel> delDatas = new List<PersonTaskModel>();
|
|
|
|
// List<PersonTaskModel> PersonTaskModels = new List<PersonTaskModel>();
|
|
|
|
|
|
// List<PackServiceMemberModel> allPackServiceTasks = new List<PackServiceMemberModel>();
|
|
// List<ConsumableTaskModel> allConsumableTasks = new List<ConsumableTaskModel>();
|
|
// FeesItemResponse feesItem = new FeesItemResponse(); ;
|
|
// List<PackServiceMemberModel> PackServiceMembers = new List<PackServiceMemberModel>();
|
|
// //获取打包人员
|
|
// List<string> packUsers = new List<string>();
|
|
|
|
// decimal singleFees = 0;
|
|
// decimal AllFees = 0;
|
|
// decimal price = 0;
|
|
|
|
// decimal IncreateFees = 0, PackFees = 0, ConsumableFees = 0, DiscountPrice = 0;
|
|
// foreach (var item in IncreateList)//增值服务上传
|
|
// {
|
|
// if (item.SelectId <= 0 || string.IsNullOrEmpty(item.SelectUserId) || item.ItemCount <= 0)
|
|
// {
|
|
// new TipsWindow($"数据输入有误").Show();
|
|
// return;
|
|
// }
|
|
// var member = MemberList.SingleOrDefault(m => m.Id == item.SelectUserId);
|
|
// if (member != null && !packUsers.Contains(member.UserName))
|
|
// {
|
|
// packUsers.Add(member.UserName);
|
|
// }
|
|
|
|
// if (item.ItemCount > TaskCount)
|
|
// {
|
|
// new TipsWindow($"{item.ItemName}:{item.ItemCount}超出任务量{TaskCount}").Show();
|
|
// return;
|
|
// }
|
|
// price = IncreateServiceList.First(i => i.Id == item.SelectId).Price;
|
|
// singleFees += price;
|
|
// AllFees += item.ItemCount * price;
|
|
// IncreateFees += item.ItemCount * price;
|
|
|
|
|
|
|
|
// if (PackServiceMembers.Select(a => a.PackServiceId).Contains(item.SelectId))//相同服务 存在累加
|
|
// {
|
|
// var inMembers = PackServiceMembers.SingleOrDefault(a => a.UserId == item.SelectUserId && a.PackServiceId == item.SelectId);
|
|
// if (inMembers != null)
|
|
// inMembers.PackServiceCount += item.ItemCount;
|
|
|
|
|
|
|
|
// var data = PackServiceMembers.SingleOrDefault(a => a.PackServiceId == item.SelectId);
|
|
// var feeItem = feesItem.ServiceList.SingleOrDefault(f => f.ItemName == item.ItemName);
|
|
// if (data != null) data.PackServiceCount += item.ItemCount;
|
|
// if (feeItem != null) feeItem.ItemCount += item.ItemCount;
|
|
// if (data.PackServiceCount > TaskCount)//累积超出任务量
|
|
// {
|
|
// new TipsWindow($"{item.ItemName}:{data.PackServiceCount}超出任务量{TaskCount}").Show();
|
|
// return;
|
|
// }
|
|
|
|
// continue;
|
|
// }
|
|
|
|
// PackServiceMembers.Add(new PackServiceMemberModel
|
|
// {
|
|
// UserId = item.SelectUserId,
|
|
// PackServiceCount = item.ItemCount,
|
|
// PackServiceId = item.SelectId,
|
|
// Price = price,
|
|
// ServiceType = ServiceType.增值服务
|
|
// });
|
|
|
|
|
|
// feesItem.ServiceList.Add(new ServiceItemResponse
|
|
// {
|
|
// ServiceType = ServiceType.增值服务,
|
|
// ItemCount = item.ItemCount,
|
|
// ItemName = item.ItemName,
|
|
// ItemPrice = price
|
|
// });
|
|
|
|
// }
|
|
|
|
// foreach (var item in IncrementProcessList)//打包服务
|
|
// {
|
|
// if (item.SelectId <= 0 || string.IsNullOrEmpty(item.SelectUserId) || item.ItemCount <= 0)
|
|
// {
|
|
// new TipsWindow($"数据输入有误").Show();
|
|
// return;
|
|
// }
|
|
// if (item.ItemCount > TaskCount)
|
|
// {
|
|
// new TipsWindow($"{item.ItemName}:{item.ItemCount}超出任务量{TaskCount}").Show();
|
|
// return;
|
|
// }
|
|
// var member = MemberList.SingleOrDefault(m => m.Id == item.SelectUserId);
|
|
// if (member != null && !packUsers.Contains(member.UserName))
|
|
// {
|
|
// packUsers.Add(member.UserName);
|
|
// }
|
|
|
|
|
|
// price = PackServiceList.First(i => i.Id == item.SelectId).Price;
|
|
// singleFees += price;
|
|
// AllFees += item.ItemCount * price;
|
|
// PackFees += item.ItemCount * price;
|
|
// if (PackServiceMembers.Select(a => a.PackServiceId).Contains(item.SelectId))//存在累加
|
|
// {
|
|
// var inMembers = PackServiceMembers.SingleOrDefault(a => a.UserId == item.SelectUserId && a.PackServiceId == item.SelectId);
|
|
// if (inMembers != null)
|
|
// inMembers.PackServiceCount += item.ItemCount;
|
|
|
|
|
|
// var data = PackServiceMembers.SingleOrDefault(a => a.PackServiceId == item.SelectId);
|
|
// var feeItem = feesItem.ServiceList.SingleOrDefault(f => f.ItemName == item.ItemName);
|
|
// feeItem.ItemCount += item.ItemCount;
|
|
// data.PackServiceCount += item.ItemCount;
|
|
// if (data.PackServiceCount > TaskCount)//累积超出任务量
|
|
// {
|
|
// new TipsWindow($"{item.ItemName}:{data.PackServiceCount}超出任务量{TaskCount}").Show();
|
|
// return;
|
|
// }
|
|
// continue;
|
|
// }
|
|
// PackServiceMembers.Add(new PackServiceMemberModel
|
|
// {
|
|
// UserId = item.SelectUserId,
|
|
// PackServiceCount = item.ItemCount,
|
|
// PackServiceId = item.SelectId,
|
|
// Price = price,
|
|
// ServiceType = ServiceType.打包服务
|
|
// });
|
|
// feesItem.ServiceList.Add(new ServiceItemResponse
|
|
// {
|
|
// ServiceType = ServiceType.打包服务,
|
|
// ItemCount = item.ItemCount,
|
|
// ItemName = item.ItemName,
|
|
// ItemPrice = price
|
|
// });
|
|
|
|
|
|
|
|
// }
|
|
|
|
// foreach (var item in ConsumableServiceList)
|
|
// {
|
|
// if (item.SelectId <= 0 || item.ItemCount <= 0)
|
|
// {
|
|
// new TipsWindow($"数据输入有误").Show();
|
|
// return;
|
|
// }
|
|
// if (item.ItemCount > TaskCount)
|
|
// {
|
|
// new TipsWindow($"{item.ItemName}:{item.ItemCount}超出任务量{TaskCount}").Show();
|
|
// return;
|
|
// }
|
|
// price = ConsumableList.First(i => i.Id == item.SelectId).Price.Value;
|
|
// singleFees += price;
|
|
// AllFees += item.ItemCount * price;
|
|
// ConsumableFees += item.ItemCount * price;
|
|
// if (allConsumableTasks.Select(a => a.ConsumableId).Contains(item.SelectId))//存在累加
|
|
// {
|
|
// var data = allConsumableTasks.SingleOrDefault(a => a.ConsumableId == item.SelectId);
|
|
// var feeItem = feesItem.ServiceList.SingleOrDefault(f => f.ItemName == item.ItemName);
|
|
// feeItem.ItemCount += item.ItemCount;
|
|
// data.ConsumableCount += item.ItemCount;
|
|
// if (data.ConsumableCount > TaskCount)//累积超出任务量
|
|
// {
|
|
// new TipsWindow($"{item.ItemName}:{data.ConsumableCount}超出任务量{TaskCount}").Show();
|
|
// return;
|
|
// }
|
|
// continue;
|
|
// }
|
|
// feesItem.ServiceList.Add(new ServiceItemResponse
|
|
// {
|
|
// ServiceType = ServiceType.耗材服务,
|
|
// ItemCount = item.ItemCount,
|
|
// ItemName = item.ItemName,
|
|
// ItemPrice = price
|
|
// });
|
|
// allConsumableTasks.Add(new ConsumableTaskModel
|
|
// {
|
|
// ConsumableCount = item.ItemCount,
|
|
// ConsumableId = item.SelectId
|
|
// });
|
|
// }
|
|
// uploadService.ConsumableIds = string.Join(",", allConsumableTasks.Select(a => a.ConsumableId));
|
|
// uploadService.ConsumableNos = string.Join(",", allConsumableTasks.Select(a => a.ConsumableCount));
|
|
// uploadService.WorkProcessIds = string.Join(",", PackServiceMembers.Where(p => p.ServiceType == ServiceType.打包服务).Select(a => a.PackServiceId));
|
|
// uploadService.WorkProcessNos = string.Join(",", PackServiceMembers.Where(p => p.ServiceType == ServiceType.打包服务).Select(a => a.PackServiceCount));
|
|
// uploadService.IncreateServiceIds = string.Join(",", PackServiceMembers.Where(p => p.ServiceType == ServiceType.增值服务).Select(a => a.PackServiceId));
|
|
// uploadService.IncreateServiceNos = string.Join(",", PackServiceMembers.Where(p => p.ServiceType == ServiceType.增值服务).Select(a => a.PackServiceCount));
|
|
|
|
// uploadService.PackServiceIds = string.Join(",", PackServiceMembers.Select(a => a.PackServiceId));
|
|
// uploadService.PackServiceNos = string.Join(",", PackServiceMembers.Select(a => a.PackServiceCount));
|
|
// //var orgIds = LoadList.Select(p => p.SelectId).ToList();
|
|
// //var nowIds = PackServiceMembers.Select(p => p.PackServiceId).ToList();
|
|
|
|
// //var add = nowIds.Except(orgIds);
|
|
|
|
// foreach (var item in LoadList)
|
|
// {
|
|
// if (!PackServiceMembers.Any(p => p.UserId == item.SelectUserId && p.PackServiceId == item.SelectId))
|
|
// {
|
|
// delDatas.Add(new PersonTaskModel
|
|
// {
|
|
|
|
// TaskId = taskId,
|
|
// PackUserId = item.SelectUserId,
|
|
// ServiceId = item.SelectId
|
|
// });
|
|
// }
|
|
// }
|
|
|
|
|
|
// //var del = orgIds.Except(nowIds).ToList();
|
|
|
|
// foreach (var PackServiceMember in PackServiceMembers)
|
|
// {
|
|
// addDatas.Add(new PersonTaskModel
|
|
// {
|
|
// TaskId = taskId,
|
|
// CreateTime = DateTime.Now,
|
|
// IsDeleted = false,
|
|
// ServiceCount = PackServiceMember.PackServiceCount,
|
|
// PackUserId = PackServiceMember.UserId,
|
|
// ServiceId = PackServiceMember.PackServiceId,
|
|
// ServiceType = PackServiceMember.ServiceType
|
|
// });
|
|
// }
|
|
// uploadService.AddPackServices = addDatas;
|
|
// uploadService.DelPackServices = delDatas;
|
|
// //uploadService.DeletedPackServices = del;
|
|
|
|
// //uploadService.DeletedPackServices
|
|
// uploadService.SkuId = SkuId;
|
|
// uploadService.OrderId = OrderId;
|
|
// uploadService.AllFees = Convert.ToDecimal(AllFees.ToString("0.00"));
|
|
// uploadService.SingleFees = singleFees;
|
|
// uploadService.IncreaseFees = Convert.ToDecimal((IncreateFees).ToString("0.00"));
|
|
// uploadService.PackFees = Convert.ToDecimal((PackFees).ToString("0.00"));
|
|
// uploadService.ConsumableFees = Convert.ToDecimal((ConsumableFees).ToString("0.00"));
|
|
// uploadService.DiscountPrice = Convert.ToDecimal((AllFees * upDisCount).ToString("0.00"));
|
|
// var res = packDetailService.SetPackTaskDetail(uploadService);
|
|
// if (res != null && res.Success)
|
|
// {
|
|
// // new TipsWindow("上传成功!").Show();
|
|
// var win = obj as System.Windows.Window;
|
|
// feesItem.AllFees = AllFees;
|
|
// feesItem.SingleFees = singleFees;
|
|
// feesItem.TaskId = TaskId;
|
|
// feesItem.DisCount = upDisCount;
|
|
// feesItem.DiscountAllFees = upDisCount * AllFees;
|
|
// feesItem.DiscountSingleFees = singleFees * upDisCount;
|
|
// if (SetAllFees != null)
|
|
// SetAllFees(feesItem, packUsers);
|
|
// win.Close();
|
|
// }
|
|
//}
|
|
|
|
|
|
/// <summary>
|
|
/// 更新 打包员 和费用数据
|
|
/// </summary>
|
|
public Action SetAllFees { get; set; }
|
|
|
|
private void AddPackService()
|
|
{
|
|
App.Current.Dispatcher.Invoke(new Action(() =>
|
|
{
|
|
IncrementProcessList.Add(new PackItemModel()
|
|
{
|
|
ItemCount = TaskCount,
|
|
MemberList = MemberList,
|
|
PackServiceList = PackServiceList,
|
|
});
|
|
}));
|
|
|
|
}
|
|
|
|
|
|
private void AddBasicPackService()
|
|
{
|
|
App.Current.Dispatcher.Invoke(new Action(() =>
|
|
{
|
|
BasicPackProcessList.Add(new PackItemModel()
|
|
{
|
|
ItemCount = TaskCount,
|
|
MemberList = MemberList,
|
|
PackServiceList = PackServiceList
|
|
});
|
|
}));
|
|
|
|
}
|
|
|
|
private void AddIncreateService()
|
|
{
|
|
App.Current.Dispatcher.Invoke(new Action(() =>
|
|
{
|
|
IncreateList.Add(new PackItemModel()
|
|
{
|
|
ItemCount = TaskCount,
|
|
IncreateServiceList = IncreateServiceList,
|
|
MemberList = MemberList,
|
|
});
|
|
}));
|
|
|
|
|
|
}
|
|
|
|
private void AddConsumable()
|
|
{
|
|
App.Current.Dispatcher.Invoke(new Action(() =>
|
|
{
|
|
ConsumableServiceList.Add(new PackItemModel()
|
|
{
|
|
ItemCount = TaskCount,
|
|
ConsumableList = ConsumableList
|
|
});
|
|
}));
|
|
|
|
}
|
|
}
|
|
}
|
|
|