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.

4377 lines
203 KiB
C#

9 months ago
using POSV.HttpApi;
using POSV.Language;
using POSV.MessageEvent;
using POSV.Utils;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using POSV.Entity;
using System.Threading.Tasks;
using POSV.StoreBusiness;
using POSV.Bean;
namespace POSV
{
public partial class FastDownloading : BaseForm
{
private const int TIMER_INTERVAL = 1000;
/// <summary>
/// 数据下载的计时器,用于判断是否下载成功
/// </summary>
private System.Timers.Timer timer;
/// <summary>
/// 是否开始下载
/// </summary>
private bool isDownloading = false;
/// <summary>
/// 是否下载完成
/// </summary>
private bool isFinished = false;
/// <summary>
/// 下载失败的集合
/// </summary>
private Dictionary<string, DownloadNotify> downloadError = null;
/// <summary>
/// 下载成功的集合
/// </summary>
private Dictionary<string, DownloadNotify> downloadSuccess = null;
public FastDownloading()
{
InitializeComponent();
this.Text = LangUtils.Instance.GetString("Application.Title");
this.timer = new System.Timers.Timer(TIMER_INTERVAL);
this.timer.Elapsed += OnTimerElapsed;
//下载云端参数
YunSet();
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (this.DesignMode) return;
//this.mainPanel.Location = new Point((this.Width - this.mainPanel.Width) / 2, (this.Height - this.mainPanel.Height - this.controlBox.Height) / 2);
//网络状态
//this.controlBox.NetworkStatus = Global.Instance.Online;
var splash = @"images/splash.jpg";
if (File.Exists(splash))
{
this.workspace.BackgroundImageLayout = ImageLayout.Tile;
this.workspace.BackgroundImage = Image.FromFile(splash);
}
this.timer.Interval = TIMER_INTERVAL;
this.timer.Start();
this.ShowMessage(this.lblStatus, "连接云端服务......", false);
}
protected override void NetworkEventNotify(object sender, MsgEventArgs args)
{
base.NetworkEventNotify(sender, args);
if (IsDisposed || !this.IsHandleCreated) return;
//呈现联机更新状态
this.BeginInvoke(new MethodInvoker(() =>
{
//this.controlBox.NetworkStatus = Global.Instance.Online;
}));
}
private void OnTimerElapsed(object sender, System.Timers.ElapsedEventArgs e)
{
if (!this.isDownloading)
{
this.isDownloading = true;
this.StartDownloadExt();
}
if (this.isDownloading && this.isFinished)
{
this.timer.Stop();
this.timer.Enabled = false;
//有错误发生
if (downloadError != null && downloadError.Keys.Count > 0)
{
this.DialogResult = DialogResult.None;
}
else
{
if (this.InvokeRequired)
{
this.BeginInvoke(new MethodInvoker(() =>
{
this.DialogResult = DialogResult.OK;
this.Close();
}));
}
else
{
this.DialogResult = DialogResult.OK;
this.Close();
}
}
}
}
private void AddDownloadError(string key, DownloadNotify notify)
{
if (this.downloadError.ContainsKey(key))
{
this.downloadError.Remove(key);
}
this.downloadError.Add(key, notify);
}
private void AddDownloadSuccess(string key, DownloadNotify notify)
{
if (this.downloadSuccess.ContainsKey(key))
{
this.downloadSuccess.Remove(key);
}
this.downloadSuccess.Add(key, notify);
}
/// <summary>
/// zhangy 2020-03-05 Edit 云端参数下载
/// </summary>
private void YunSet()
{
StoreYunSetRequest request = new StoreYunSetRequest();
request.StoreId = Global.Instance.Authc.StoreId;
var response = StoreBusinessUtils.StoreYunSet(request);
if (response.Item1 && response.Item3.Data != null)
{
Dictionary<string, object> pbody = JsonUtils.Deserialize<Dictionary<string, object>>(response.Item3.Data.Pbody);
List<Config> configList = new List<Config>();
using (var db = Global.Instance.OpenDataBase)
{
configList = db.Query<Config>().ToList();
}
string message = "云参数更新更新成功";
//更新的配置
List<Config> updateList = new List<Config>();
//新增的配置
List<Config> insertList = new List<Config>();
//桌面风格
if (pbody.ContainsKey("desktop"))
{
int desktop = StringUtils.GetInt(pbody["desktop"]);
LOGGER.Info("桌面风格===>" + desktop);
List<Config> desktopList = configList.FindAll(x => "layout".Equals(x.Group) && "layout_theme".Equals(x.Keys));
if (desktopList != null && desktopList.Count > 0)
{
Config config = desktopList[0];
switch (desktop)
{
case 0:
config.Values = "茶饮";
break;
case 1:
config.Values = "快餐";
break;
case 2:
config.Values = "称重";
break;
case 3:
config.Values = "食堂";//zhangy 2020-02-18 待删除,参数设置中已经删除了配置项
break;
case 4:
config.Values = "新食堂";
break;
default:
config.Values = "快餐";
break;
}
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.LAYOUT_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "layout_theme";
switch (desktop)
{
case 0:
config.Values = "茶饮";
break;
case 1:
config.Values = "快餐";
break;
case 2:
config.Values = "称重";
break;
case 3:
config.Values = "食堂";//zhangy 2020-02-18 待删除,参数设置中已经删除了配置项
break;
case 4:
config.Values = "新食堂";
break;
default:
config.Values = "快餐";
break;
}
insertList.Add(config);
}
}
//金额尾数处理方式
if (pbody.ContainsKey("amountMantissa"))
{
int amountMantissa = StringUtils.GetInt(pbody["amountMantissa"]);
LOGGER.Info("金额尾数处理方式===>" + amountMantissa);
List<Config> amountMantissaList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierMantissa".Equals(x.Keys));
if (amountMantissaList != null && amountMantissaList.Count > 0)
{
Config config = amountMantissaList[0];
config.Values = String.Format("{0}", amountMantissa);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierMantissa";
config.Values = String.Format("{0}", amountMantissa);
insertList.Add(config);
}
}
//单价显示小数位数
if (pbody.ContainsKey("priceDecimalDigit"))
{
int priceDecimalDigit = StringUtils.GetInt(pbody["priceDecimalDigit"]);
LOGGER.Info("单价显示小数位数===>" + priceDecimalDigit);
List<Config> priceDecimalDigitList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierPriceDigit".Equals(x.Keys));
if (priceDecimalDigitList != null && priceDecimalDigitList.Count > 0)
{
Config config = priceDecimalDigitList[0];
config.Values = String.Format("{0}", priceDecimalDigit);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierPriceDigit";
config.Values = String.Format("{0}", priceDecimalDigit);
insertList.Add(config);
}
}
//数量显示小数位数
if (pbody.ContainsKey("numberDecimalDigit"))
{
int numberDecimalDigit = StringUtils.GetInt(pbody["numberDecimalDigit"]);
LOGGER.Info("数量显示小数位数===>" + numberDecimalDigit);
List<Config> numberDecimalDigitList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierQuantityDigit".Equals(x.Keys));
if (numberDecimalDigitList != null && numberDecimalDigitList.Count > 0)
{
Config config = numberDecimalDigitList[0];
config.Values = String.Format("{0}", numberDecimalDigit);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierQuantityDigit";
config.Values = String.Format("{0}", numberDecimalDigit);
insertList.Add(config);
}
}
//小计显示小数位数
if (pbody.ContainsKey("subtotalDecimalDigit"))
{
int subtotalDecimalDigit = StringUtils.GetInt(pbody["subtotalDecimalDigit"]);
LOGGER.Info("小计显示小数位数===>" + subtotalDecimalDigit);
List<Config> subtotalDecimalDigitList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierSubTotalDigit".Equals(x.Keys));
if (subtotalDecimalDigitList != null && subtotalDecimalDigitList.Count > 0)
{
Config config = subtotalDecimalDigitList[0];
config.Values = String.Format("{0}", subtotalDecimalDigit);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierSubTotalDigit";
config.Values = String.Format("{0}", subtotalDecimalDigit);
insertList.Add(config);
}
}
//厨显号
if (pbody.ContainsKey("posNo"))
{
string posNo = StringUtils.GetString(pbody["posNo"]);
LOGGER.Info("厨显号===>" + posNo);
List<Config> posNoList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierPosNo".Equals(x.Keys));
if (posNoList != null && posNoList.Count > 0)
{
Config config = posNoList[0];
config.Values = posNo;
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierPosNo";
config.Values = posNo;
insertList.Add(config);
}
}
//常规多选框
if (pbody.ContainsKey("routine"))
{
List<int> routine = JsonUtils.Deserialize<List<int>>(pbody["routine"].ToString());
LOGGER.Info("常规多选框===>" + routine);
//前台结算以下付款方式全额付款时实款实收:微信、支付宝、银联钱包、储值卡
bool CashierNotAllowMantissa = routine.Exists(x => x == 0);
List<Config> CashierNotAllowMantissaList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierNotAllowMantissa".Equals(x.Keys));
if (CashierNotAllowMantissaList != null && CashierNotAllowMantissaList.Count > 0)
{
Config config = CashierNotAllowMantissaList[0];
config.Values = String.Format("{0}", CashierNotAllowMantissa ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierNotAllowMantissa";
config.Values = String.Format("{0}", CashierNotAllowMantissa ? 1 : 0);
insertList.Add(config);
}
//允许有未结账单据(含挂单)存在时退出系统
bool CashierAllowAccountEnRoute = routine.Exists(x => x == 1);
List<Config> CashierAllowAccountEnRouteList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierAllowAccountEnRoute".Equals(x.Keys));
if (CashierAllowAccountEnRouteList != null && CashierAllowAccountEnRouteList.Count > 0)
{
Config config = CashierAllowAccountEnRouteList[0];
config.Values = String.Format("{0}", CashierAllowAccountEnRoute ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierAllowAccountEnRoute";
config.Values = String.Format("{0}", CashierAllowAccountEnRoute ? 1 : 0);
insertList.Add(config);
}
//禁止退出系统时提示操作员
bool CashierAccountEnRouteNotity = routine.Exists(x => x == 2);
List<Config> CashierAccountEnRouteNotityList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierAccountEnRouteNotity".Equals(x.Keys));
if (CashierAccountEnRouteNotityList != null && CashierAccountEnRouteNotityList.Count > 0)
{
Config config = CashierAccountEnRouteNotityList[0];
config.Values = String.Format("{0}", CashierAccountEnRouteNotity ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierAccountEnRouteNotity";
config.Values = String.Format("{0}", CashierAccountEnRouteNotity ? 1 : 0);
insertList.Add(config);
}
//禁止收银前台赠送
bool CashierNotAllowGive = routine.Exists(x => x == 3);
List<Config> CashierNotAllowGiveList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierNotAllowGive".Equals(x.Keys));
if (CashierNotAllowGiveList != null && CashierNotAllowGiveList.Count > 0)
{
Config config = CashierNotAllowGiveList[0];
config.Values = String.Format("{0}", CashierNotAllowGive ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierNotAllowGive";
config.Values = String.Format("{0}", CashierNotAllowGive ? 1 : 0);
insertList.Add(config);
}
//禁止收银前台折扣
bool CashierNotAllowDiscount = routine.Exists(x => x == 4);
List<Config> CashierNotAllowDiscountList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierNotAllowDiscount".Equals(x.Keys));
if (CashierNotAllowDiscountList != null && CashierNotAllowDiscountList.Count > 0)
{
Config config = CashierNotAllowDiscountList[0];
config.Values = String.Format("{0}", CashierNotAllowDiscount ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierNotAllowDiscount";
config.Values = String.Format("{0}", CashierNotAllowDiscount ? 1 : 0);
insertList.Add(config);
}
//禁止收银前台议价
bool CashierNotAllowBargain = routine.Exists(x => x == 5);
List<Config> CashierNotAllowBargainList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierNotAllowBargain".Equals(x.Keys));
if (CashierNotAllowBargainList != null && CashierNotAllowBargainList.Count > 0)
{
Config config = CashierNotAllowBargainList[0];
config.Values = String.Format("{0}", CashierNotAllowBargain ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierNotAllowBargain";
config.Values = String.Format("{0}", CashierNotAllowBargain ? 1 : 0);
insertList.Add(config);
}
//前台支付助记码销售
bool CashierAllowMnemonicCode = routine.Exists(x => x == 6);
List<Config> CashierAllowMnemonicCodeList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierAllowMnemonicCode".Equals(x.Keys));
if (CashierAllowMnemonicCodeList != null && CashierAllowMnemonicCodeList.Count > 0)
{
Config config = CashierAllowMnemonicCodeList[0];
config.Values = String.Format("{0}", CashierAllowMnemonicCode ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierAllowMnemonicCode";
config.Values = String.Format("{0}", CashierAllowMnemonicCode ? 1 : 0);
insertList.Add(config);
}
//允许历史单据退款
bool CashierAllowBackPayHistory = routine.Exists(x => x == 7);
List<Config> CashierAllowBackPayHistoryList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierAllowBackPayHistory".Equals(x.Keys));
if (CashierAllowBackPayHistoryList != null && CashierAllowBackPayHistoryList.Count > 0)
{
Config config = CashierAllowBackPayHistoryList[0];
config.Values = String.Format("{0}", CashierAllowBackPayHistory ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierAllowBackPayHistory";
config.Values = String.Format("{0}", CashierAllowBackPayHistory ? 1 : 0);
insertList.Add(config);
}
//启动移动支付语音播报
bool IsPayVoicePlay = routine.Exists(x => x == 8);
List<Config> IsPayVoicePlayList = configList.FindAll(x => "cashier".Equals(x.Group) && "IsPayVoicePlay".Equals(x.Keys));
if (IsPayVoicePlayList != null && IsPayVoicePlayList.Count > 0)
{
Config config = IsPayVoicePlayList[0];
config.Values = String.Format("{0}", IsPayVoicePlay ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "IsPayVoicePlay";
config.Values = String.Format("{0}", IsPayVoicePlay ? 1 : 0);
insertList.Add(config);
}
//收银找零不允许超过一百元
bool CashierNotAllowMoneyMoreThan = routine.Exists(x => x == 9);
List<Config> CashierNotAllowMoneyMoreThanList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierNotAllowMoneyMoreThan".Equals(x.Keys));
if (CashierNotAllowMoneyMoreThanList != null && CashierNotAllowMoneyMoreThanList.Count > 0)
{
Config config = CashierNotAllowMoneyMoreThanList[0];
config.Values = String.Format("{0}", CashierNotAllowMoneyMoreThan ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierNotAllowMoneyMoreThan";
config.Values = String.Format("{0}", CashierNotAllowMoneyMoreThan ? 1 : 0);
insertList.Add(config);
}
//消单、整单取消操作是否进行提示
bool CashierOrderCancelNotity = routine.Exists(x => x == 10);
List<Config> CashierOrderCancelNotityList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierOrderCancelNotity".Equals(x.Keys));
if (CashierOrderCancelNotityList != null && CashierOrderCancelNotityList.Count > 0)
{
Config config = CashierOrderCancelNotityList[0];
config.Values = String.Format("{0}", CashierOrderCancelNotity ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierOrderCancelNotity";
config.Values = String.Format("{0}", CashierOrderCancelNotity ? 1 : 0);
insertList.Add(config);
}
//禁止显示赠送标识【赠】
bool CashierNotAllowShowGive = routine.Exists(x => x == 11);
List<Config> CashierNotAllowShowGiveList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierNotAllowShowGive".Equals(x.Keys));
if (CashierNotAllowShowGiveList != null && CashierNotAllowShowGiveList.Count > 0)
{
Config config = CashierNotAllowShowGiveList[0];
config.Values = String.Format("{0}", CashierNotAllowShowGive ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierNotAllowShowGive";
config.Values = String.Format("{0}", CashierNotAllowShowGive ? 1 : 0);
insertList.Add(config);
}
//禁止显示折扣标识【折】
bool CashierNotAllowShowDiscount = routine.Exists(x => x == 12);
List<Config> CashierNotAllowShowDiscountList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierNotAllowShowDiscount".Equals(x.Keys));
if (CashierNotAllowShowDiscountList != null && CashierNotAllowShowDiscountList.Count > 0)
{
Config config = CashierNotAllowShowDiscountList[0];
config.Values = String.Format("{0}", CashierNotAllowShowDiscount ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierNotAllowShowDiscount";
config.Values = String.Format("{0}", CashierNotAllowShowDiscount ? 1 : 0);
insertList.Add(config);
}
//禁止显示议价标识【议】
bool CashierNotAllowShowBargain = routine.Exists(x => x == 13);
List<Config> CashierNotAllowShowBargainList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierNotAllowShowBargain".Equals(x.Keys));
if (CashierNotAllowShowBargainList != null && CashierNotAllowShowBargainList.Count > 0)
{
Config config = CashierNotAllowShowBargainList[0];
config.Values = String.Format("{0}", CashierNotAllowShowBargain ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierNotAllowShowBargain";
config.Values = String.Format("{0}", CashierNotAllowShowBargain ? 1 : 0);
insertList.Add(config);
}
//商品做法参与折扣,赠送
bool CashierAllowMakeDiscount = routine.Exists(x => x == 14);
List<Config> CashierAllowMakeDiscountList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierAllowMakeDiscount".Equals(x.Keys));
if (CashierAllowMakeDiscountList != null && CashierAllowMakeDiscountList.Count > 0)
{
Config config = CashierAllowMakeDiscountList[0];
config.Values = String.Format("{0}", CashierAllowMakeDiscount ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierAllowMakeDiscount";
config.Values = String.Format("{0}", CashierAllowMakeDiscount ? 1 : 0);
insertList.Add(config);
}
//练习模式
bool EnableStudyMode = routine.Exists(x => x == 15);
List<Config> EnableStudyModeList = configList.FindAll(x => "cashier".Equals(x.Group) && "EnableStudyMode".Equals(x.Keys));
if (EnableStudyModeList != null && EnableStudyModeList.Count > 0)
{
Config config = EnableStudyModeList[0];
config.Values = String.Format("{0}", EnableStudyMode ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "EnableStudyMode";
config.Values = String.Format("{0}", EnableStudyMode ? 1 : 0);
insertList.Add(config);
}
//银行卡支付启用建行MIS
bool IsCCBMisPlay = routine.Exists(x => x == 16);
List<Config> IsCCBMisPlayList = configList.FindAll(x => "cashier".Equals(x.Group) && "IsCCBMisPlay".Equals(x.Keys));
if (IsCCBMisPlayList != null && IsCCBMisPlayList.Count > 0)
{
Config config = IsCCBMisPlayList[0];
config.Values = String.Format("{0}", IsCCBMisPlay ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "IsCCBMisPlay";
config.Values = String.Format("{0}", IsCCBMisPlay ? 1 : 0);
insertList.Add(config);
}
}
//最大金额设置
if (pbody.ContainsKey("maxAmount"))
{
string maxAmount = StringUtils.GetString(pbody["maxAmount"]);
LOGGER.Info("最大金额设置===>" + maxAmount);
List<Config> maxAmountList = configList.FindAll(x => "cashier".Equals(x.Group) && "MaxSaleMoney".Equals(x.Keys));
if (maxAmountList != null && maxAmountList.Count > 0)
{
Config config = maxAmountList[0];
config.Values = maxAmount;
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "MaxSaleMoney";
config.Values = maxAmount;
insertList.Add(config);
}
}
//商品附加信息符号
if (pbody.ContainsKey("productRemarks"))
{
int productRemarks = StringUtils.GetInt(pbody["productRemarks"]);
LOGGER.Info("商品附加信息符号===>" + productRemarks);
List<Config> CashierAdditionalList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierAdditional".Equals(x.Keys));
if (CashierAdditionalList != null && CashierAdditionalList.Count > 0)
{
Config config = CashierAdditionalList[0];
switch (productRemarks)
{
case 0:
config.Values = "不填充";
break;
case 1:
config.Values = "方括号";
break;
case 2:
config.Values = "圆括号";
break;
case 3:
config.Values = "花括号";
break;
case 4:
config.Values = "六角括号";
break;
case 5:
config.Values = "方头括号";
break;
default:
config.Values = "方括号";
break;
}
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierAdditional";
switch (productRemarks)
{
case 0:
config.Values = "不填充";
break;
case 1:
config.Values = "方括号";
break;
case 2:
config.Values = "圆括号";
break;
case 3:
config.Values = "花括号";
break;
case 4:
config.Values = "六角括号";
break;
case 5:
config.Values = "方头括号";
break;
default:
config.Values = "方括号";
break;
}
insertList.Add(config);
}
}
//商品列表排序方式
if (pbody.ContainsKey("productSort"))
{
int productSort = StringUtils.GetInt(pbody["productSort"]);
LOGGER.Info("商品列表排序方式===>" + productSort);
List<Config> CashierProductOrderList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierProductOrder".Equals(x.Keys));
if (CashierProductOrderList != null && CashierProductOrderList.Count > 0)
{
Config config = CashierProductOrderList[0];
switch (productSort)
{
case 0:
config.Values = "不排序";
break;
case 1:
config.Values = "按编号";
break;
case 2:
config.Values = "按价格";
break;
case 3:
config.Values = "按名称";
break;
default:
config.Values = "不排序";
break;
}
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierProductOrder";
switch (productSort)
{
case 0:
config.Values = "不排序";
break;
case 1:
config.Values = "按编号";
break;
case 2:
config.Values = "按价格";
break;
case 3:
config.Values = "按名称";
break;
default:
config.Values = "不排序";
break;
}
insertList.Add(config);
}
}
//高级多选框
if (pbody.ContainsKey("senior"))
{
List<int> senior = JsonUtils.Deserialize<List<int>>(pbody["senior"].ToString());
LOGGER.Info("高级多选框===>" + senior);
//点单列表中品名显示简称,否则显示全称
bool CashierOrderShowShortName = senior.Exists(x => x == 0);
List<Config> CashierOrderShowShortNameList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierOrderShowShortName".Equals(x.Keys));
if (CashierOrderShowShortNameList != null && CashierOrderShowShortNameList.Count > 0)
{
Config config = CashierOrderShowShortNameList[0];
config.Values = String.Format("{0}", CashierOrderShowShortName ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierOrderShowShortName";
config.Values = String.Format("{0}", CashierOrderShowShortName ? 1 : 0);
insertList.Add(config);
}
//点单列表中品名显示包含规则,否则不包含
bool CashierOrderShowSpecName = senior.Exists(x => x == 1);
List<Config> CashierOrderShowSpecNameList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierOrderShowSpecName".Equals(x.Keys));
if (CashierOrderShowSpecNameList != null && CashierOrderShowSpecNameList.Count > 0)
{
Config config = CashierOrderShowSpecNameList[0];
config.Values = String.Format("{0}", CashierOrderShowSpecName ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierOrderShowSpecName";
config.Values = String.Format("{0}", CashierOrderShowSpecName ? 1 : 0);
insertList.Add(config);
}
//多规格自动弹出选择,否则选中默认规格
bool CashierAutoSelectSpec = senior.Exists(x => x == 2);
List<Config> CashierAutoSelectSpecList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierAutoSelectSpec".Equals(x.Keys));
if (CashierAutoSelectSpecList != null && CashierAutoSelectSpecList.Count > 0)
{
Config config = CashierAutoSelectSpecList[0];
config.Values = String.Format("{0}", CashierAutoSelectSpec ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierAutoSelectSpec";
config.Values = String.Format("{0}", CashierAutoSelectSpec ? 1 : 0);
insertList.Add(config);
}
//做法选择采用弹窗,否则采用浮动
bool CashierAutoSelectFlavor = senior.Exists(x => x == 3);
List<Config> CashierAutoSelectFlavorList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierAutoSelectFlavor".Equals(x.Keys));
if (CashierAutoSelectFlavorList != null && CashierAutoSelectFlavorList.Count > 0)
{
Config config = CashierAutoSelectFlavorList[0];
config.Values = String.Format("{0}", CashierAutoSelectFlavor ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierAutoSelectFlavor";
config.Values = String.Format("{0}", CashierAutoSelectFlavor ? 1 : 0);
insertList.Add(config);
}
//门店外送单使用外送价
bool CashierWsOrderUseOtherPrice = senior.Exists(x => x == 4);
List<Config> CashierWsOrderUseOtherPriceList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierWsOrderUseOtherPrice".Equals(x.Keys));
if (CashierWsOrderUseOtherPriceList != null && CashierWsOrderUseOtherPriceList.Count > 0)
{
Config config = CashierWsOrderUseOtherPriceList[0];
config.Values = String.Format("{0}", CashierWsOrderUseOtherPrice ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierWsOrderUseOtherPrice";
config.Values = String.Format("{0}", CashierWsOrderUseOtherPrice ? 1 : 0);
insertList.Add(config);
}
//门店外送单送餐人默认为收银员
bool CashierDeliveryOrderSelf = senior.Exists(x => x == 5);
List<Config> CashierDeliveryOrderSelfList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierDeliveryOrderSelf".Equals(x.Keys));
if (CashierDeliveryOrderSelfList != null && CashierDeliveryOrderSelfList.Count > 0)
{
Config config = CashierDeliveryOrderSelfList[0];
config.Values = String.Format("{0}", CashierDeliveryOrderSelf ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierDeliveryOrderSelf";
config.Values = String.Format("{0}", CashierDeliveryOrderSelf ? 1 : 0);
insertList.Add(config);
}
//允许输入小数数量
bool CashierNotAllowInputDigit = senior.Exists(x => x == 6);
List<Config> CashierNotAllowInputDigitList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierNotAllowInputDigit".Equals(x.Keys));
if (CashierNotAllowInputDigitList != null && CashierNotAllowInputDigitList.Count > 0)
{
Config config = CashierNotAllowInputDigitList[0];
config.Values = String.Format("{0}", CashierNotAllowInputDigit ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierNotAllowInputDigit";
config.Values = String.Format("{0}", CashierNotAllowInputDigit ? 1 : 0);
insertList.Add(config);
}
//允许销售售价为零的商品
bool CashierAllowPriceZero = senior.Exists(x => x == 7);
List<Config> CashierAllowPriceZeroList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierAllowPriceZero".Equals(x.Keys));
if (CashierAllowPriceZeroList != null && CashierAllowPriceZeroList.Count > 0)
{
Config config = CashierAllowPriceZeroList[0];
config.Values = String.Format("{0}", CashierAllowPriceZero ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierAllowPriceZero";
config.Values = String.Format("{0}", CashierAllowPriceZero ? 1 : 0);
insertList.Add(config);
}
//售价为零的商品售卖时提醒
bool CashierPriceZeroNotify = senior.Exists(x => x == 8);
List<Config> CashierPriceZeroNotifyList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierPriceZeroNotify".Equals(x.Keys));
if (CashierPriceZeroNotifyList != null && CashierPriceZeroNotifyList.Count > 0)
{
Config config = CashierPriceZeroNotifyList[0];
config.Values = String.Format("{0}", CashierPriceZeroNotify ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierPriceZeroNotify";
config.Values = String.Format("{0}", CashierPriceZeroNotify ? 1 : 0);
insertList.Add(config);
}
//售价为零的商品售卖时输入售价
bool CashierPriceZeroInput = senior.Exists(x => x == 9);
List<Config> CashierPriceZeroInputList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierPriceZeroInput".Equals(x.Keys));
if (CashierPriceZeroInputList != null && CashierPriceZeroInputList.Count > 0)
{
Config config = CashierPriceZeroInputList[0];
config.Values = String.Format("{0}", CashierPriceZeroInput ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierPriceZeroInput";
config.Values = String.Format("{0}", CashierPriceZeroInput ? 1 : 0);
insertList.Add(config);
}
//允许销售零(负)库存商品
bool CashierAllowStockZero = senior.Exists(x => x == 10);
List<Config> CashierAllowStockZeroList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierAllowStockZero".Equals(x.Keys));
if (CashierAllowStockZeroList != null && CashierAllowStockZeroList.Count > 0)
{
Config config = CashierAllowStockZeroList[0];
config.Values = String.Format("{0}", CashierAllowStockZero ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierAllowStockZero";
config.Values = String.Format("{0}", CashierAllowStockZero ? 1 : 0);
insertList.Add(config);
}
//销售零(负)库存时提示
bool CashierStockZeroNotify = senior.Exists(x => x == 11);
List<Config> CashierStockZeroNotifyList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierStockZeroNotify".Equals(x.Keys));
if (CashierStockZeroNotifyList != null && CashierStockZeroNotifyList.Count > 0)
{
Config config = CashierStockZeroNotifyList[0];
config.Values = String.Format("{0}", CashierStockZeroNotify ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierStockZeroNotify";
config.Values = String.Format("{0}", CashierStockZeroNotify ? 1 : 0);
insertList.Add(config);
}
//全局单号获取失败时提示操作员
bool CashierTicketNoNofity = senior.Exists(x => x == 12);
List<Config> CashierTicketNoNofityList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierTicketNoNofity".Equals(x.Keys));
if (CashierTicketNoNofityList != null && CashierTicketNoNofityList.Count > 0)
{
Config config = CashierTicketNoNofityList[0];
config.Values = String.Format("{0}", CashierTicketNoNofity ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierTicketNoNofity";
config.Values = String.Format("{0}", CashierTicketNoNofity ? 1 : 0);
insertList.Add(config);
}
//全局单号获取失败时默认采用本机单号
bool CashierLocalTicketNo = senior.Exists(x => x == 13);
List<Config> CashierLocalTicketNoList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierLocalTicketNo".Equals(x.Keys));
if (CashierLocalTicketNoList != null && CashierLocalTicketNoList.Count > 0)
{
Config config = CashierLocalTicketNoList[0];
config.Values = String.Format("{0}", CashierLocalTicketNo ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierLocalTicketNo";
config.Values = String.Format("{0}", CashierLocalTicketNo ? 1 : 0);
insertList.Add(config);
}
//外卖转单计入门店实得
bool CashierOtherWaimai = senior.Exists(x => x == 14);
List<Config> CashierOtherWaimaiList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierOtherWaimai".Equals(x.Keys));
if (CashierOtherWaimaiList != null && CashierOtherWaimaiList.Count > 0)
{
Config config = CashierOtherWaimaiList[0];
config.Values = String.Format("{0}", CashierOtherWaimai ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierOtherWaimai";
config.Values = String.Format("{0}", CashierOtherWaimai ? 1 : 0);
insertList.Add(config);
}
//外卖单品未绑定,走默认厨显方案
bool CashierOtherWaimaiDefaultKDS = senior.Exists(x => x == 15);
List<Config> CashierOtherWaimaiDefaultKDSList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierOtherWaimaiDefaultKDS".Equals(x.Keys));
if (CashierOtherWaimaiDefaultKDSList != null && CashierOtherWaimaiDefaultKDSList.Count > 0)
{
Config config = CashierOtherWaimaiDefaultKDSList[0];
config.Values = String.Format("{0}", CashierOtherWaimaiDefaultKDS ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierOtherWaimaiDefaultKDS";
config.Values = String.Format("{0}", CashierOtherWaimaiDefaultKDS ? 1 : 0);
insertList.Add(config);
}
//交易完成后不清楚单据信息,显示已结账
bool CashierNotAllowShowPreOrder = senior.Exists(x => x == 16);
List<Config> CashierNotAllowShowPreOrderList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierNotAllowShowPreOrder".Equals(x.Keys));
if (CashierNotAllowShowPreOrderList != null && CashierNotAllowShowPreOrderList.Count > 0)
{
Config config = CashierNotAllowShowPreOrderList[0];
config.Values = String.Format("{0}", CashierNotAllowShowPreOrder ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierNotAllowShowPreOrder";
config.Values = String.Format("{0}", CashierNotAllowShowPreOrder ? 1 : 0);
insertList.Add(config);
}
//点单列表中单价和小计金额显示折后价
bool CashierOrderShowDiscountPrice = senior.Exists(x => x == 17);
List<Config> CashierOrderShowDiscountPriceList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierOrderShowDiscountPrice".Equals(x.Keys));
if (CashierOrderShowDiscountPriceList != null && CashierOrderShowDiscountPriceList.Count > 0)
{
Config config = CashierOrderShowDiscountPriceList[0];
config.Values = String.Format("{0}", CashierOrderShowDiscountPrice ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierOrderShowDiscountPrice";
config.Values = String.Format("{0}", CashierOrderShowDiscountPrice ? 1 : 0);
insertList.Add(config);
}
//更换套餐自动弹出选择,否则采用浮动
bool CashierAutoSelectSuit = senior.Exists(x => x == 18);
List<Config> CashierAutoSelectSuitList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierAutoSelectSuit".Equals(x.Keys));
if (CashierAutoSelectSuitList != null && CashierAutoSelectSuitList.Count > 0)
{
Config config = CashierAutoSelectSuitList[0];
config.Values = String.Format("{0}", CashierAutoSelectSuit ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierAutoSelectSuit";
config.Values = String.Format("{0}", CashierAutoSelectSuit ? 1 : 0);
insertList.Add(config);
}
//启用收银员权限不足自动弹出授权
bool CashierAutoLockDisable = senior.Exists(x => x == 19);
List<Config> CashierAutoLockDisableList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierAutoLockDisable".Equals(x.Keys));
if (CashierAutoLockDisableList != null && CashierAutoLockDisableList.Count > 0)
{
Config config = CashierAutoLockDisableList[0];
config.Values = String.Format("{0}", CashierAutoLockDisable ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierAutoLockDisable";
config.Values = String.Format("{0}", CashierAutoLockDisable ? 1 : 0);
insertList.Add(config);
}
//允许零售价低于最低售价销售
bool CashierAllowMinPriceSale = senior.Exists(x => x == 20);
List<Config> CashierAllowMinPriceSaleList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierAllowMinPriceSale".Equals(x.Keys));
if (CashierAllowMinPriceSaleList != null && CashierAllowMinPriceSaleList.Count > 0)
{
Config config = CashierAllowMinPriceSaleList[0];
config.Values = String.Format("{0}", CashierAllowMinPriceSale ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierAllowMinPriceSale";
config.Values = String.Format("{0}", CashierAllowMinPriceSale ? 1 : 0);
insertList.Add(config);
}
//零售价低于最低售价销售时提示
bool CashierMinPriceSaleNofity = senior.Exists(x => x == 21);
List<Config> CashierMinPriceSaleNofityList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierMinPriceSaleNofity".Equals(x.Keys));
if (CashierMinPriceSaleNofityList != null && CashierMinPriceSaleNofityList.Count > 0)
{
Config config = CashierMinPriceSaleNofityList[0];
config.Values = String.Format("{0}", CashierMinPriceSaleNofity ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierMinPriceSaleNofity";
config.Values = String.Format("{0}", CashierMinPriceSaleNofity ? 1 : 0);
insertList.Add(config);
}
//每单必须选择营业员
bool CashierMustInputSalesMan = senior.Exists(x => x == 22);
List<Config> CashierMustInputSalesManList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierMustInputSalesMan".Equals(x.Keys));
if (CashierMustInputSalesManList != null && CashierMustInputSalesManList.Count > 0)
{
Config config = CashierMustInputSalesManList[0];
config.Values = String.Format("{0}", CashierMustInputSalesMan ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierMustInputSalesMan";
config.Values = String.Format("{0}", CashierMustInputSalesMan ? 1 : 0);
insertList.Add(config);
}
//销售自动获取上一单营业员
bool CashierAutoSalesMan = senior.Exists(x => x == 23);
List<Config> CashierAutoSalesManList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierAutoSalesMan".Equals(x.Keys));
if (CashierAutoSalesManList != null && CashierAutoSalesManList.Count > 0)
{
Config config = CashierAutoSalesManList[0];
config.Values = String.Format("{0}", CashierAutoSalesMan ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierAutoSalesMan";
config.Values = String.Format("{0}", CashierAutoSalesMan ? 1 : 0);
insertList.Add(config);
}
//结账时自动弹出录入桌号
bool CheckAutoOpenDeskNo = senior.Exists(x => x == 24);
List<Config> CheckAutoOpenDeskNoList = configList.FindAll(x => "cashier".Equals(x.Group) && "CheckAutoOpenDeskNo".Equals(x.Keys));
if (CheckAutoOpenDeskNoList != null && CheckAutoOpenDeskNoList.Count > 0)
{
Config config = CheckAutoOpenDeskNoList[0];
config.Values = String.Format("{0}", CheckAutoOpenDeskNo ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CheckAutoOpenDeskNo";
config.Values = String.Format("{0}", CheckAutoOpenDeskNo ? 1 : 0);
insertList.Add(config);
}
//按区域选择餐桌(默认按类型)
bool CheckAutoOpenDeskArea = senior.Exists(x => x == 25);
List<Config> CheckAutoOpenDeskAreaList = configList.FindAll(x => "cashier".Equals(x.Group) && "CheckAutoOpenDeskArea".Equals(x.Keys));
if (CheckAutoOpenDeskAreaList != null && CheckAutoOpenDeskAreaList.Count > 0)
{
Config config = CheckAutoOpenDeskAreaList[0];
config.Values = String.Format("{0}", CheckAutoOpenDeskArea ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CheckAutoOpenDeskArea";
config.Values = String.Format("{0}", CheckAutoOpenDeskArea ? 1 : 0);
insertList.Add(config);
}
//按区域选择餐桌(默认按类型)
bool OrderTypeDefaultTS = senior.Exists(x => x == 26);
List<Config> OrderTypeDefaultTSList = configList.FindAll(x => "cashier".Equals(x.Group) && "OrderTypeDefaultTS".Equals(x.Keys));
if (OrderTypeDefaultTSList != null && OrderTypeDefaultTSList.Count > 0)
{
Config config = OrderTypeDefaultTSList[0];
config.Values = String.Format("{0}", OrderTypeDefaultTS ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "OrderTypeDefaultTS";
config.Values = String.Format("{0}", OrderTypeDefaultTS ? 1 : 0);
insertList.Add(config);
}
//点套餐自动弹出换菜窗口
bool AddSuitAutoOpenChangeForm = senior.Exists(x => x == 27);
List<Config> AddSuitAutoOpenChangeFormList = configList.FindAll(x => "cashier".Equals(x.Group) && "AddSuitAutoOpenChangeForm".Equals(x.Keys));
if (AddSuitAutoOpenChangeFormList != null && AddSuitAutoOpenChangeFormList.Count > 0)
{
Config config = AddSuitAutoOpenChangeFormList[0];
config.Values = String.Format("{0}", AddSuitAutoOpenChangeForm ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "AddSuitAutoOpenChangeForm";
config.Values = String.Format("{0}", AddSuitAutoOpenChangeForm ? 1 : 0);
insertList.Add(config);
}
//触摸屏,启用软键盘
bool EnableSoftKeyboard = senior.Exists(x => x == 28);
List<Config> EnableSoftKeyboardList = configList.FindAll(x => "cashier".Equals(x.Group) && "EnableSoftKeyboard".Equals(x.Keys));
if (EnableSoftKeyboardList != null && EnableSoftKeyboardList.Count > 0)
{
Config config = EnableSoftKeyboardList[0];
config.Values = String.Format("{0}", EnableSoftKeyboard ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "EnableSoftKeyboard";
config.Values = String.Format("{0}", EnableSoftKeyboard ? 1 : 0);
insertList.Add(config);
}
//启用外卖商品绑定厨显方案
bool CashierOtherWaimaiPlanKDS = senior.Exists(x => x == 29);
List<Config> CashierOtherWaimaiPlanKDSList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierOtherWaimaiPlanKDS".Equals(x.Keys));
if (CashierOtherWaimaiPlanKDSList != null && CashierOtherWaimaiPlanKDSList.Count > 0)
{
Config config = CashierOtherWaimaiPlanKDSList[0];
config.Values = String.Format("{0}", CashierOtherWaimaiPlanKDS ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierOtherWaimaiPlanKDS";
config.Values = String.Format("{0}", CashierOtherWaimaiPlanKDS ? 1 : 0);
insertList.Add(config);
}
//启用外卖商品绑定厨打方案
bool CashierOtherWaimaiPlanKIT = senior.Exists(x => x == 30);
List<Config> CashierOtherWaimaiPlanKITList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierOtherWaimaiPlanKIT".Equals(x.Keys));
if (CashierOtherWaimaiPlanKITList != null && CashierOtherWaimaiPlanKITList.Count > 0)
{
Config config = CashierOtherWaimaiPlanKITList[0];
config.Values = String.Format("{0}", CashierOtherWaimaiPlanKIT ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierOtherWaimaiPlanKIT";
config.Values = String.Format("{0}", CashierOtherWaimaiPlanKIT ? 1 : 0);
insertList.Add(config);
}
//外卖转单自动匹配本地同名商品
bool CashierOtherWaimaiMapping = senior.Exists(x => x == 31);
List<Config> CashierOtherWaimaiMappingList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierOtherWaimaiMapping".Equals(x.Keys));
if (CashierOtherWaimaiMappingList != null && CashierOtherWaimaiMappingList.Count > 0)
{
Config config = CashierOtherWaimaiMappingList[0];
config.Values = String.Format("{0}", CashierOtherWaimaiMapping ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierOtherWaimaiMapping";
config.Values = String.Format("{0}", CashierOtherWaimaiMapping ? 1 : 0);
insertList.Add(config);
}
}
//会员规则处理
var cardItem = new MemberCardItem();
cardItem.Enable = true;
var list = new List<MemberCardReadType>();
//会员身份
if (pbody.ContainsKey("memberIdentity"))
{
List<int> memberIdentity = JsonUtils.Deserialize<List<int>>(pbody["memberIdentity"].ToString());
LOGGER.Info("会员身份===>" + memberIdentity);
bool memberIdentity0 = memberIdentity.Exists(x => x == 0);
if (memberIdentity0)
{
list.Add(MemberCardReadType.IC);
}
bool memberIdentity1 = memberIdentity.Exists(x => x == 1);
if (memberIdentity1)
{
list.Add(MemberCardReadType.);
}
bool memberIdentity2 = memberIdentity.Exists(x => x == 2);
if (memberIdentity2)
{
list.Add(MemberCardReadType.);
}
}
cardItem.ListReader = list;
//会员卡介质
var types = new List<MemberCardType>();
//会员卡介质
if (pbody.ContainsKey("memberCardType"))
{
List<int> memberCardType = JsonUtils.Deserialize<List<int>>(pbody["memberCardType"].ToString());
LOGGER.Info("会员卡介质===>" + memberCardType);
bool memberCardType0 = memberCardType.Exists(x => x == 0);
if (memberCardType0)
{
types.Add(MemberCardType.Magnetic);
}
bool memberCardType1 = memberCardType.Exists(x => x == 1);
if (memberCardType1)
{
types.Add(MemberCardType.Mifare);
}
}
cardItem.ListType = types;
//会员卡功能设置
var funs = new List<MemberCardFunctions>();
//会员功能
if (pbody.ContainsKey("memberFunction"))
{
List<int> memberFunction = JsonUtils.Deserialize<List<int>>(pbody["memberFunction"].ToString());
LOGGER.Info("会员功能===>" + memberFunction);
bool memberFunction0 = memberFunction.Exists(x => x == 0);
if (memberFunction0)
{
funs.Add(MemberCardFunctions.);
}
bool memberFunction1 = memberFunction.Exists(x => x == 1);
if (memberFunction1)
{
funs.Add(MemberCardFunctions.);
}
bool memberFunction2 = memberFunction.Exists(x => x == 2);
if (memberFunction2)
{
funs.Add(MemberCardFunctions.);
}
}
cardItem.Function = funs;
//会员卡支付类型
if (pbody.ContainsKey("memberPayType"))
{
int memberPayType = StringUtils.GetInt(pbody["memberPayType"]);
LOGGER.Info("会员卡支付类型===>" + memberPayType);
//会员卡支付认证
if (memberPayType == 0)
{
cardItem.PaymentType = 1;
}
else
{
cardItem.PaymentType = 0;
}
}
string _cardItemValue = JsonUtils.Serialize(cardItem);
List<Config> CashierMemberCardList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierMemberCard".Equals(x.Keys));
if (CashierMemberCardList != null && CashierMemberCardList.Count > 0)
{
Config config = CashierMemberCardList[0];
config.Values = _cardItemValue;
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierMemberCard";
config.Values = _cardItemValue;
insertList.Add(config);
}
//卡号前缀
if (pbody.ContainsKey("cardNoPrefix"))
{
string cardNoPrefix = StringUtils.GetString(pbody["cardNoPrefix"]);
LOGGER.Info("卡号前缀===>" + cardNoPrefix);
List<Config> CashierCardNoPrefixList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierCardNoPrefix".Equals(x.Keys));
if (CashierCardNoPrefixList != null && CashierCardNoPrefixList.Count > 0)
{
Config config = CashierCardNoPrefixList[0];
config.Values = cardNoPrefix;
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierCardNoPrefix";
config.Values = cardNoPrefix;
insertList.Add(config);
}
}
//会员其他设置
if (pbody.ContainsKey("memberOtherSet"))
{
List<int> memberOtherSet = JsonUtils.Deserialize<List<int>>(pbody["memberOtherSet"].ToString());
LOGGER.Info("会员其他设置===>" + memberOtherSet);
//允许会员刷卡使用键盘输入
bool CashierAllowInputCardNo = memberOtherSet.Exists(x => x == 0);
List<Config> CashierAllowInputCardNoList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierAllowInputCardNo".Equals(x.Keys));
if (CashierAllowInputCardNoList != null && CashierAllowInputCardNoList.Count > 0)
{
Config config = CashierAllowInputCardNoList[0];
config.Values = String.Format("{0}", CashierAllowInputCardNo ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierAllowInputCardNo";
config.Values = String.Format("{0}", CashierAllowInputCardNo ? 1 : 0);
insertList.Add(config);
}
//禁止会员价销售时前台赠送
bool CashierNotAllowMemberGive = memberOtherSet.Exists(x => x == 1);
List<Config> CashierNotAllowMemberGiveList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierNotAllowMemberGive".Equals(x.Keys));
if (CashierNotAllowMemberGiveList != null && CashierNotAllowMemberGiveList.Count > 0)
{
Config config = CashierNotAllowMemberGiveList[0];
config.Values = String.Format("{0}", CashierNotAllowMemberGive ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierNotAllowMemberGive";
config.Values = String.Format("{0}", CashierNotAllowMemberGive ? 1 : 0);
insertList.Add(config);
}
//禁止会员价销售时前台折扣
bool CashierNotAllowMemberDiscount = memberOtherSet.Exists(x => x == 2);
List<Config> CashierNotAllowMemberDiscountList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierNotAllowMemberDiscount".Equals(x.Keys));
if (CashierNotAllowMemberDiscountList != null && CashierNotAllowMemberDiscountList.Count > 0)
{
Config config = CashierNotAllowMemberDiscountList[0];
config.Values = String.Format("{0}", CashierNotAllowMemberDiscount ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierNotAllowMemberDiscount";
config.Values = String.Format("{0}", CashierNotAllowMemberDiscount ? 1 : 0);
insertList.Add(config);
}
//禁止会员价销售时前台议价
bool CashierNotAllowMemberBargain = memberOtherSet.Exists(x => x == 3);
List<Config> CashierNotAllowMemberBargainList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierNotAllowMemberBargain".Equals(x.Keys));
if (CashierNotAllowMemberBargainList != null && CashierNotAllowMemberBargainList.Count > 0)
{
Config config = CashierNotAllowMemberBargainList[0];
config.Values = String.Format("{0}", CashierNotAllowMemberBargain ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierNotAllowMemberBargain";
config.Values = String.Format("{0}", CashierNotAllowMemberBargain ? 1 : 0);
insertList.Add(config);
}
//会员卡结账跳过确认扣款金额
bool CashierCardPaySkipConfirmMoney = memberOtherSet.Exists(x => x == 4);
List<Config> CashierCardPaySkipConfirmMoneyList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierCardPaySkipConfirmMoney".Equals(x.Keys));
if (CashierCardPaySkipConfirmMoneyList != null && CashierCardPaySkipConfirmMoneyList.Count > 0)
{
Config config = CashierCardPaySkipConfirmMoneyList[0];
config.Values = String.Format("{0}", CashierCardPaySkipConfirmMoney ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierCardPaySkipConfirmMoney";
config.Values = String.Format("{0}", CashierCardPaySkipConfirmMoney ? 1 : 0);
insertList.Add(config);
}
//使用电子卡券不允许退单
bool CashierAllowMemberBackTicket = memberOtherSet.Exists(x => x == 5);
List<Config> CashierAllowMemberBackTicketList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierAllowMemberBackTicket".Equals(x.Keys));
if (CashierAllowMemberBackTicketList != null && CashierAllowMemberBackTicketList.Count > 0)
{
Config config = CashierAllowMemberBackTicketList[0];
config.Values = String.Format("{0}", CashierAllowMemberBackTicket ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierAllowMemberBackTicket";
config.Values = String.Format("{0}", CashierAllowMemberBackTicket ? 1 : 0);
insertList.Add(config);
}
//禁止无卡或者手机号支付免密
bool CashierNotAllowMobileNoPwd = memberOtherSet.Exists(x => x == 6);
List<Config> CashierNotAllowMobileNoPwdList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierNotAllowMobileNoPwd".Equals(x.Keys));
if (CashierNotAllowMobileNoPwdList != null && CashierNotAllowMobileNoPwdList.Count > 0)
{
Config config = CashierNotAllowMobileNoPwdList[0];
config.Values = String.Format("{0}", CashierNotAllowMobileNoPwd ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierNotAllowMobileNoPwd";
config.Values = String.Format("{0}", CashierNotAllowMobileNoPwd ? 1 : 0);
insertList.Add(config);
}
//会员卡功能以管理端设置参数优先
bool CashierMemberFunctionsPrior = memberOtherSet.Exists(x => x == 7);
List<Config> CashierMemberFunctionsPriorList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierMemberFunctionsPrior".Equals(x.Keys));
if (CashierMemberFunctionsPriorList != null && CashierMemberFunctionsPriorList.Count > 0)
{
Config config = CashierMemberFunctionsPriorList[0];
config.Values = String.Format("{0}", CashierMemberFunctionsPrior ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierMemberFunctionsPrior";
config.Values = String.Format("{0}", CashierMemberFunctionsPrior ? 1 : 0);
insertList.Add(config);
}
//禁止会员卡享受会员价
bool CashierNotAllowMemberPrice = memberOtherSet.Exists(x => x == 8);
List<Config> CashierNotAllowMemberPriceList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierNotAllowMemberPrice".Equals(x.Keys));
if (CashierNotAllowMemberPriceList != null && CashierNotAllowMemberPriceList.Count > 0)
{
Config config = CashierNotAllowMemberPriceList[0];
config.Values = String.Format("{0}", CashierNotAllowMemberPrice ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierNotAllowMemberPrice";
config.Values = String.Format("{0}", CashierNotAllowMemberPrice ? 1 : 0);
insertList.Add(config);
}
//会员认证自动弹出选择,否则采用浮动
bool CashierAutoSelectMember = memberOtherSet.Exists(x => x == 9);
List<Config> CashierAutoSelectMemberList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierAutoSelectMember".Equals(x.Keys));
if (CashierAutoSelectMemberList != null && CashierAutoSelectMemberList.Count > 0)
{
Config config = CashierAutoSelectMemberList[0];
config.Values = String.Format("{0}", CashierAutoSelectMember ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierAutoSelectMember";
config.Values = String.Format("{0}", CashierAutoSelectMember ? 1 : 0);
insertList.Add(config);
}
//会员储值余额为零禁止使用
bool CashierCardPaySkipNoMoney = memberOtherSet.Exists(x => x == 10);
List<Config> CashierCardPaySkipNoMoneyList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierCardPaySkipNoMoney".Equals(x.Keys));
if (CashierCardPaySkipNoMoneyList != null && CashierCardPaySkipNoMoneyList.Count > 0)
{
Config config = CashierCardPaySkipNoMoneyList[0];
config.Values = String.Format("{0}", CashierCardPaySkipNoMoney ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierCardPaySkipNoMoney";
config.Values = String.Format("{0}", CashierCardPaySkipNoMoney ? 1 : 0);
insertList.Add(config);
}
}
//点餐设置
if (pbody.ContainsKey("takeOutSet"))
{
List<int> takeOutSet = JsonUtils.Deserialize<List<int>>(pbody["takeOutSet"].ToString());
LOGGER.Info("点餐设置===>" + takeOutSet);
//是否启用小程序点餐
bool EnableAppletOrder = takeOutSet.Exists(x => x == 0);
List<Config> EnableAppletOrderList = configList.FindAll(x => "cashier".Equals(x.Group) && "EnableAppletOrder".Equals(x.Keys));
if (EnableAppletOrderList != null && EnableAppletOrderList.Count > 0)
{
Config config = EnableAppletOrderList[0];
config.Values = String.Format("{0}", EnableAppletOrder ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "EnableAppletOrder";
config.Values = String.Format("{0}", EnableAppletOrder ? 1 : 0);
insertList.Add(config);
}
}
//交班设置
if (pbody.ContainsKey("shiftExchange"))
{
List<int> shiftExchange = JsonUtils.Deserialize<List<int>>(pbody["shiftExchange"].ToString());
LOGGER.Info("交班设置===>" + shiftExchange);
//交班采用盲交模式(手工录入现金)
bool CashierShiftMode = shiftExchange.Exists(x => x == 0);
List<Config> CashierShiftModeList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierShiftMode".Equals(x.Keys));
if (CashierShiftModeList != null && CashierShiftModeList.Count > 0)
{
Config config = CashierShiftModeList[0];
config.Values = String.Format("{0}", CashierShiftMode ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierShiftMode";
config.Values = String.Format("{0}", CashierShiftMode ? 1 : 0);
insertList.Add(config);
}
//交班提示未核销订单
bool IsVerificationOrder = shiftExchange.Exists(x => x == 1);
List<Config> IsVerificationOrderList = configList.FindAll(x => "cashier".Equals(x.Group) && "IsVerificationOrder".Equals(x.Keys));
if (IsVerificationOrderList != null && IsVerificationOrderList.Count > 0)
{
Config config = IsVerificationOrderList[0];
config.Values = String.Format("{0}", IsVerificationOrder ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "IsVerificationOrder";
config.Values = String.Format("{0}", IsVerificationOrder ? 1 : 0);
insertList.Add(config);
}
//交班提示外送未交单数量
bool WsUnfinishNumNotify = shiftExchange.Exists(x => x == 2);
List<Config> WsUnfinishNumNotifyList = configList.FindAll(x => "cashier".Equals(x.Group) && "WsUnfinishNumNotify".Equals(x.Keys));
if (WsUnfinishNumNotifyList != null && WsUnfinishNumNotifyList.Count > 0)
{
Config config = WsUnfinishNumNotifyList[0];
config.Values = String.Format("{0}", WsUnfinishNumNotify ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "WsUnfinishNumNotify";
config.Values = String.Format("{0}", WsUnfinishNumNotify ? 1 : 0);
insertList.Add(config);
}
//交班开钱箱
bool IsShiftOpenCash = shiftExchange.Exists(x => x == 3);
List<Config> IsShiftOpenCashList = configList.FindAll(x => "cashier".Equals(x.Group) && "IsShiftOpenCash".Equals(x.Keys));
if (IsShiftOpenCashList != null && IsShiftOpenCashList.Count > 0)
{
Config config = IsShiftOpenCashList[0];
config.Values = String.Format("{0}", IsShiftOpenCash ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "IsShiftOpenCash";
config.Values = String.Format("{0}", IsShiftOpenCash ? 1 : 0);
insertList.Add(config);
}
//交班后订单不能退款
bool ShiftIsAllowRefund = shiftExchange.Exists(x => x == 18);
List<Config> ShiftIsAllowRefundList = configList.FindAll(x => "cashier".Equals(x.Group) && "ShiftIsAllowRefund".Equals(x.Keys));
if (ShiftIsAllowRefundList != null && ShiftIsAllowRefundList.Count > 0)
{
Config config = ShiftIsAllowRefundList[0];
config.Values = String.Format("{0}", ShiftIsAllowRefund ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "ShiftIsAllowRefund";
config.Values = String.Format("{0}", ShiftIsAllowRefund ? 1 : 0);
insertList.Add(config);
}
//交班打印营业合计数据
bool ShiftPrintHJ = shiftExchange.Exists(x => x == 4);
List<Config> ShiftPrintHJList = configList.FindAll(x => "cashier".Equals(x.Group) && "ShiftPrintHJ".Equals(x.Keys));
if (ShiftPrintHJList != null && ShiftPrintHJList.Count > 0)
{
Config config = ShiftPrintHJList[0];
config.Values = String.Format("{0}", ShiftPrintHJ ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "ShiftPrintHJ";
config.Values = String.Format("{0}", ShiftPrintHJ ? 1 : 0);
insertList.Add(config);
}
//交班打印营业成交数据
bool ShiftPrintCJ = shiftExchange.Exists(x => x == 5);
List<Config> ShiftPrintCJList = configList.FindAll(x => "cashier".Equals(x.Group) && "ShiftPrintCJ".Equals(x.Keys));
if (ShiftPrintCJList != null && ShiftPrintCJList.Count > 0)
{
Config config = ShiftPrintCJList[0];
config.Values = String.Format("{0}", ShiftPrintCJ ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "ShiftPrintCJ";
config.Values = String.Format("{0}", ShiftPrintCJ ? 1 : 0);
insertList.Add(config);
}
//交班打印营业退单数据
bool ShiftPrintTD = shiftExchange.Exists(x => x == 6);
List<Config> ShiftPrintTDList = configList.FindAll(x => "cashier".Equals(x.Group) && "ShiftPrintTD".Equals(x.Keys));
if (ShiftPrintTDList != null && ShiftPrintTDList.Count > 0)
{
Config config = ShiftPrintTDList[0];
config.Values = String.Format("{0}", ShiftPrintTD ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "ShiftPrintTD";
config.Values = String.Format("{0}", ShiftPrintTD ? 1 : 0);
insertList.Add(config);
}
//交班打印卡务数据
bool ShiftPrintKW = shiftExchange.Exists(x => x == 7);
List<Config> ShiftPrintKWList = configList.FindAll(x => "cashier".Equals(x.Group) && "ShiftPrintKW".Equals(x.Keys));
if (ShiftPrintKWList != null && ShiftPrintKWList.Count > 0)
{
Config config = ShiftPrintKWList[0];
config.Values = String.Format("{0}", ShiftPrintKW ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "ShiftPrintKW";
config.Values = String.Format("{0}", ShiftPrintKW ? 1 : 0);
insertList.Add(config);
}
//交班打印非营业数据
bool ShiftPrintFYY = shiftExchange.Exists(x => x == 8);
List<Config> ShiftPrintFYYList = configList.FindAll(x => "cashier".Equals(x.Group) && "ShiftPrintFYY".Equals(x.Keys));
if (ShiftPrintFYYList != null && ShiftPrintFYYList.Count > 0)
{
Config config = ShiftPrintFYYList[0];
config.Values = String.Format("{0}", ShiftPrintFYY ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "ShiftPrintFYY";
config.Values = String.Format("{0}", ShiftPrintFYY ? 1 : 0);
insertList.Add(config);
}
//交班打印支付虚实收入
bool ShiftPrintZFXSS = shiftExchange.Exists(x => x == 9);
List<Config> ShiftPrintZFXSSList = configList.FindAll(x => "cashier".Equals(x.Group) && "ShiftPrintZFXSS".Equals(x.Keys));
if (ShiftPrintZFXSSList != null && ShiftPrintZFXSSList.Count > 0)
{
Config config = ShiftPrintZFXSSList[0];
config.Values = String.Format("{0}", ShiftPrintZFXSS ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "ShiftPrintZFXSS";
config.Values = String.Format("{0}", ShiftPrintZFXSS ? 1 : 0);
insertList.Add(config);
}
//交班打配送费(微信点餐)
bool ShiftPrintWXDCPSF = shiftExchange.Exists(x => x == 10);
List<Config> ShiftPrintWXDCPSFList = configList.FindAll(x => "cashier".Equals(x.Group) && "ShiftPrintWXDCPSF".Equals(x.Keys));
if (ShiftPrintWXDCPSFList != null && ShiftPrintWXDCPSFList.Count > 0)
{
Config config = ShiftPrintWXDCPSFList[0];
config.Values = String.Format("{0}", ShiftPrintWXDCPSF ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "ShiftPrintWXDCPSF";
config.Values = String.Format("{0}", ShiftPrintWXDCPSF ? 1 : 0);
insertList.Add(config);
}
//交班打印销售分析
bool CashierShiftPrint = shiftExchange.Exists(x => x == 11);
List<Config> CashierShiftPrintList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierShiftPrint".Equals(x.Keys));
if (CashierShiftPrintList != null && CashierShiftPrintList.Count > 0)
{
Config config = CashierShiftPrintList[0];
config.Values = String.Format("{0}", CashierShiftPrint ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierShiftPrint";
config.Values = String.Format("{0}", CashierShiftPrint ? 1 : 0);
insertList.Add(config);
}
//交班打印分类汇总
bool ShiftPrintProductType = shiftExchange.Exists(x => x == 12);
List<Config> ShiftPrintProductTypeList = configList.FindAll(x => "cashier".Equals(x.Group) && "ShiftPrintProductType".Equals(x.Keys));
if (ShiftPrintProductTypeList != null && ShiftPrintProductTypeList.Count > 0)
{
Config config = ShiftPrintProductTypeList[0];
config.Values = String.Format("{0}", ShiftPrintProductType ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "ShiftPrintProductType";
config.Values = String.Format("{0}", ShiftPrintProductType ? 1 : 0);
insertList.Add(config);
}
//交班打印收银支付方式
bool ShiftPrintSalePayType = shiftExchange.Exists(x => x == 13);
List<Config> ShiftPrintSalePayTypeList = configList.FindAll(x => "cashier".Equals(x.Group) && "ShiftPrintSalePayType".Equals(x.Keys));
if (ShiftPrintSalePayTypeList != null && ShiftPrintSalePayTypeList.Count > 0)
{
Config config = ShiftPrintSalePayTypeList[0];
config.Values = String.Format("{0}", ShiftPrintSalePayType ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "ShiftPrintSalePayType";
config.Values = String.Format("{0}", ShiftPrintSalePayType ? 1 : 0);
insertList.Add(config);
}
//交班打印卡务收银支付方式
bool ShiftPrintCardPayType = shiftExchange.Exists(x => x == 14);
List<Config> ShiftPrintCardPayTypeList = configList.FindAll(x => "cashier".Equals(x.Group) && "ShiftPrintCardPayType".Equals(x.Keys));
if (ShiftPrintCardPayTypeList != null && ShiftPrintCardPayTypeList.Count > 0)
{
Config config = ShiftPrintCardPayTypeList[0];
config.Values = String.Format("{0}", ShiftPrintCardPayType ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "ShiftPrintCardPayType";
config.Values = String.Format("{0}", ShiftPrintCardPayType ? 1 : 0);
insertList.Add(config);
}
//交班打印支付汇总
bool ShiftPrintSaleCardPayType = shiftExchange.Exists(x => x == 15);
List<Config> ShiftPrintSaleCardPayTypeList = configList.FindAll(x => "cashier".Equals(x.Group) && "ShiftPrintSaleCardPayType".Equals(x.Keys));
if (ShiftPrintSaleCardPayTypeList != null && ShiftPrintSaleCardPayTypeList.Count > 0)
{
Config config = ShiftPrintSaleCardPayTypeList[0];
config.Values = String.Format("{0}", ShiftPrintSaleCardPayType ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "ShiftPrintSaleCardPayType";
config.Values = String.Format("{0}", ShiftPrintSaleCardPayType ? 1 : 0);
insertList.Add(config);
}
//交班打印优惠汇总
bool ShiftPrintSaleInfo = shiftExchange.Exists(x => x == 16);
List<Config> ShiftPrintSaleInfoList = configList.FindAll(x => "cashier".Equals(x.Group) && "ShiftPrintSaleInfo".Equals(x.Keys));
if (ShiftPrintSaleInfoList != null && ShiftPrintSaleInfoList.Count > 0)
{
Config config = ShiftPrintSaleInfoList[0];
config.Values = String.Format("{0}", ShiftPrintSaleInfo ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "ShiftPrintSaleInfo";
config.Values = String.Format("{0}", ShiftPrintSaleInfo ? 1 : 0);
insertList.Add(config);
}
//交班打印营业模式汇总
bool ShiftPrintSaleMode = shiftExchange.Exists(x => x == 17);
List<Config> ShiftPrintSaleModeList = configList.FindAll(x => "cashier".Equals(x.Group) && "ShiftPrintSaleMode".Equals(x.Keys));
if (ShiftPrintSaleModeList != null && ShiftPrintSaleModeList.Count > 0)
{
Config config = ShiftPrintSaleModeList[0];
config.Values = String.Format("{0}", ShiftPrintSaleMode ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "ShiftPrintSaleMode";
config.Values = String.Format("{0}", ShiftPrintSaleMode ? 1 : 0);
insertList.Add(config);
}
}
//库存设置
if (pbody.ContainsKey("stockSet"))
{
List<int> stockSet = JsonUtils.Deserialize<List<int>>(pbody["stockSet"].ToString());
LOGGER.Info("库存设置===>" + stockSet);
//交班采用盲交模式(手工录入现金)
bool CashierAskGoodsCount = stockSet.Exists(x => x == 0);
List<Config> CashierAskGoodsCountList = configList.FindAll(x => "cashier".Equals(x.Group) && "CashierAskGoodsCount".Equals(x.Keys));
if (CashierAskGoodsCountList != null && CashierAskGoodsCountList.Count > 0)
{
Config config = CashierAskGoodsCountList[0];
config.Values = String.Format("{0}", CashierAskGoodsCount ? 1 : 0);
updateList.Add(config);
}
else
{
Config config = new Config();
config.Id = IdWorkerUtils.Instance.NextId();
config.Group = ConfigConstant.CASHIER_GROUP;
config.TenantId = Global.Instance.Authc.TenantId;
config.Keys = "CashierAskGoodsCount";
config.Values = String.Format("{0}", CashierAskGoodsCount ? 1 : 0);
insertList.Add(config);
}
}
try
{
using (var db = Global.Instance.OpenDataBase)
{
using (var trans = db.GetTransaction())
{
foreach (var config in insertList)
{
db.Save(config);
}
foreach (var config in updateList)
{
db.Update(config);
}
trans.Complete();
}
}
LOGGER.Error(message);
}
catch (Exception ex)
{
message = "云参数更新异常";
LOGGER.Error(ex, message);
}
}
}
private void StartDownloadExt()
{
Stopwatch sw = Stopwatch.StartNew();
this.downloadError = new Dictionary<string, DownloadNotify>();
this.downloadSuccess = new Dictionary<string, DownloadNotify>();
this.ShowMessage(this.lblStatus, "数据清理......", false);
InitUtils.Instance.CleanHistoryData();
bool CY_WORKERDATA = true;//员工类下载
bool CY_PRODUCTDATA = true;//产品类下载
bool CY_PAYDATA = true;//支付类下载
bool CY_STOREDATA = true;//门店资料下载
bool CY_OTHERDATA = true;//其他资料下载
bool CY_VISITORDATA = true;//熟客资料下载
bool CY_PROMOTIONDATA = true;//促销信息下载
List<PosServerDataVersionResponse> responseList = new List<PosServerDataVersionResponse>();
//检测数据版本
this.ShowMessage(this.lblStatus, "开始检测数据版本......", false);
PosServerDataVersionRequest request = new PosServerDataVersionRequest();
var response = StoreBusinessUtils.PosServerDataVersion(request);
if (response.Item1)
{
responseList = response.Item3.List;
List<PosServerDataVersion> versionList = StoreBusinessUtils.LocalVersion();
foreach (PosServerDataVersionResponse versionResponse in responseList)
{
foreach (PosServerDataVersion dataVersion in versionList)
{
if ("CY_WORKERDATA".Equals(versionResponse.DataType) && "CY_WORKERDATA".Equals(dataVersion.DataType))
{
if (versionResponse.DataVersion.Equals(dataVersion.DataVersion))
{
LOGGER.Info("员工类接口不用下载");
CY_WORKERDATA = false;
break;
}
}
if ("CY_PRODUCTDATA".Equals(versionResponse.DataType) && "CY_PRODUCTDATA".Equals(dataVersion.DataType))
{
if (versionResponse.DataVersion.Equals(dataVersion.DataVersion))
{
LOGGER.Info("商品类接口不用下载");
CY_PRODUCTDATA = false;
break;
}
}
if ("CY_PAYDATA".Equals(versionResponse.DataType) && "CY_PAYDATA".Equals(dataVersion.DataType))
{
if (versionResponse.DataVersion.Equals(dataVersion.DataVersion))
{
LOGGER.Info("支付类接口不用下载");
CY_PAYDATA = false;
break;
}
}
if ("CY_STOREDATA".Equals(versionResponse.DataType) && "CY_STOREDATA".Equals(dataVersion.DataType))
{
if (versionResponse.DataVersion.Equals(dataVersion.DataVersion))
{
LOGGER.Info("门店类接口不用下载");
CY_STOREDATA = false;
break;
}
}
if ("CY_VISITORDATA".Equals(versionResponse.DataType) && "CY_VISITORDATA".Equals(dataVersion.DataType))
{
if (versionResponse.DataVersion.Equals(dataVersion.DataVersion))
{
LOGGER.Info("熟客类接口不用下载");
CY_VISITORDATA = false;
break;
}
}
}
}
}
//检测数据版本
this.ShowMessage(this.lblStatus, "开始下载门店数据......", false);
//清理历史数据
FastDownloadApi.Instance.InitCache();
TaskFactory taskFactory = new TaskFactory();
Task[] tasks = new Task[]
{
//员工类
taskFactory.StartNew(() => {
if (CY_WORKERDATA) {
try
{
this.Download1();
}
catch (Exception ex)
{
LOGGER.Error(ex, "Download1发生错误");
}
}else{
LOGGER.Info("Download1跳过下载");
}
}),
//商品资料类
taskFactory.StartNew(()=>{
if(CY_PRODUCTDATA){
try{
this.Download2();
}catch(Exception ex){
LOGGER.Error(ex , "Download2发生错误");
}
}else{
LOGGER.Info("Download2跳过下载");
}
}),
//收银类别
taskFactory.StartNew(()=>{
if(CY_PAYDATA){
try{
this.Download3();
}catch(Exception ex){
LOGGER.Error(ex , "Download3发生错误");
}
}else{
LOGGER.Info("Download3跳过下载");
}
}),
//门店资料
taskFactory.StartNew(()=>{
if(CY_STOREDATA){
try{
this.Download4();
}catch(Exception ex){
LOGGER.Error(ex , "Download4发生错误");
}
}else{
LOGGER.Info("Download4跳过下载");
}
}),
//其他类别
taskFactory.StartNew(()=>{
try{
this.Download5();
}catch(Exception ex){
LOGGER.Error(ex , "Download5发生错误");
}
}),
//熟客信息
taskFactory.StartNew(()=>{
if(CY_VISITORDATA){
try{
this.Download6();
}catch(Exception ex){
LOGGER.Error(ex , "Download6发生错误");
}
}else{
LOGGER.Info("Download6跳过下载");
}
}),
//线上促销
taskFactory.StartNew(()=>{
try{
this.Download7();
}catch(Exception ex){
LOGGER.Error(ex , "Download3发生错误");
}
}),
#region subin 2023-07-12 add 分账相关信息下载
//分账相关配置信息
taskFactory.StartNew(()=>{
try{
this.Download8();
}catch(Exception ex){
LOGGER.Error(ex , "Download8发生错误");
}
}),
#endregion
};
Task.WaitAll(tasks);
LOGGER.Info("下载完成<{0}>", sw.ElapsedMilliseconds);
//taskFactory.ContinueWhenAll(tasks , (Task) => { });
sw.Restart();
bool isError = EndDownload();
//如果下载没有异常,更新数据版本
if (!isError)
{
if (responseList != null && responseList.Count > 0)
{
List<PosServerDataVersion> versionList = new List<PosServerDataVersion>();
foreach (PosServerDataVersionResponse re in responseList)
{
PosServerDataVersion posServerDataVersion = new PosServerDataVersion();
posServerDataVersion.Id = IdWorkerUtils.Instance.NextId();
posServerDataVersion.TenantId = "373001";
posServerDataVersion.DataType = re.DataType;
posServerDataVersion.DataVersion = re.DataVersion;
posServerDataVersion.Ext1 = re.Ext1;
posServerDataVersion.Ext2 = re.Ext2;
posServerDataVersion.Ext3 = re.Ext3;
posServerDataVersion.CreateDate = DateTime.Now.ToString("yyyy-MM-dd");
posServerDataVersion.CreateUser = Constant.DEFAULT_SYNC_USER;
versionList.Add(posServerDataVersion);
}
StoreBusinessUtils.SaveVersion(versionList);
}
}
LOGGER.Info("保存完成<{0}>", sw.ElapsedMilliseconds);
}
/// <summary>
/// 1)下载操作员
/// 2)下载员工角色
/// 3)下载模块权限信息
/// </summary>
#region 下载一
private void Download1()
{
//下载操作员数据
var worker = FastDownloadApi.DownloadWorker();
this.ShowMessage(this.lblStatus, worker.Message);
if (worker.Success)
{
this.AddDownloadSuccess(worker.CacheName, worker);
}
else
{
this.AddDownloadError(worker.CacheName, worker);
}
//下载员工角色信息
var workerRole = FastDownloadApi.DownloadWorkerRole(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, workerRole.Message);
//第一页下载成功
if (workerRole.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (workerRole.IsPager)
{
//当前页码
int pageNum = workerRole.PageNumber;
//总页数
int pageCount = workerRole.PageCount;
//每页大小
int pageSize = workerRole.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadWorkerRoleNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(workerRole.CacheName, workerRole);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(workerRole.CacheName, workerRole);
}
//下载模块权限信息
var workerPermissions = FastDownloadApi.DownloadWorkerPermissions(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, workerPermissions.Message);
//第一页下载成功
if (workerPermissions.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (workerPermissions.IsPager)
{
//当前页码
int pageNum = workerPermissions.PageNumber;
//总页数
int pageCount = workerPermissions.PageCount;
//每页大小
int pageSize = workerPermissions.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadWorkerPermissionsNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(workerPermissions.CacheName, workerPermissions);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(workerPermissions.CacheName, workerPermissions);
}
}
#endregion
/// <summary>
/// 1)下载商品类别信息
/// 2)下载商品信息
/// 3)下载单位信息
/// 4)下载图片信息
/// 5)下载规格信息
/// 6)下载做法类型
/// 7)下载做法信息
/// 8)下载私有做法信息
/// 9)下载套菜
/// 10)下载套菜明细
/// 11)下载厨打方案
/// 12)下载厨打商品
/// 13)下载厨显方案
/// 14)下载厨显商品
/// 15)下载饿了么映射关系
/// 16)下载美团映射关系
/// 17)下载百度映射关系
/// 18)下载库存系数
/// 19)下载商品耗料配方
/// 20)下载做法耗料配方
/// </summary>
#region 下载二
private void Download2()
{
//下载商品类别信息
var productType = FastDownloadApi.DownloadProductType(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, productType.Message);
//第一页下载成功
if (productType.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (productType.IsPager)
{
//当前页码
int pageNum = productType.PageNumber;
//总页数
int pageCount = productType.PageCount;
//每页大小
int pageSize = productType.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadProductTypeNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(productType.CacheName, productType);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(productType.CacheName, productType);
}
//下载菜品
var product = FastDownloadApi.DownloadProduct(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, product.Message);
//第一页下载成功
if (product.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (product.IsPager)
{
//当前页码
int pageNum = product.PageNumber;
//总页数
int pageCount = product.PageCount;
//每页大小
int pageSize = product.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadProductNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(product.CacheName, product);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(product.CacheName, product);
}
//下载商品单位信息
var productUnit = FastDownloadApi.DownloadProductUnit(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, productUnit.Message);
//第一页下载成功
if (productUnit.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (productUnit.IsPager)
{
//当前页码
int pageNum = productUnit.PageNumber;
//总页数
int pageCount = productUnit.PageCount;
//每页大小
int pageSize = productUnit.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadProductUnitNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(productUnit.CacheName, productUnit);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(productUnit.CacheName, productUnit);
}
//下载商品图片信息
var productImage = FastDownloadApi.DownloadProductImage(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, productImage.Message);
//第一页下载成功
if (productImage.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (productImage.IsPager)
{
//当前页码
int pageNum = productImage.PageNumber;
//总页数
int pageCount = productImage.PageCount;
//每页大小
int pageSize = productImage.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadProductImageNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(productImage.CacheName, productImage);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(productImage.CacheName, productImage);
}
//下载商品规格信息
var productSpec = FastDownloadApi.DownloadProductSpec(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, productSpec.Message);
//第一页下载成功
if (productSpec.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (productSpec.IsPager)
{
//当前页码
int pageNum = productSpec.PageNumber;
//总页数
int pageCount = productSpec.PageCount;
//每页大小
int pageSize = productSpec.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadProductSpecNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(productSpec.CacheName, productSpec);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(productSpec.CacheName, productSpec);
}
//下载做法类型数据
var productMakeType = FastDownloadApi.DownloadProductMakeType();
this.ShowMessage(this.lblStatus, productMakeType.Message);
if (productMakeType.Success)
{
this.AddDownloadSuccess(productMakeType.CacheName, productMakeType);
}
else
{
this.AddDownloadError(productMakeType.CacheName, productMakeType);
}
//下载做法信息数据
var productMakeDetail = FastDownloadApi.DownloadProductMakeDetail();
this.ShowMessage(this.lblStatus, productMakeDetail.Message);
if (productMakeDetail.Success)
{
this.AddDownloadSuccess(productMakeDetail.CacheName, productMakeDetail);
}
else
{
this.AddDownloadError(productMakeDetail.CacheName, productMakeDetail);
}
//下载商品私有做法信息
var productMakeDetailPrivate = FastDownloadApi.DownloadProductMakeDetailPrivate(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, productMakeDetailPrivate.Message);
//第一页下载成功
if (productMakeDetailPrivate.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (productMakeDetailPrivate.IsPager)
{
//当前页码
int pageNum = productMakeDetailPrivate.PageNumber;
//总页数
int pageCount = productMakeDetailPrivate.PageCount;
//每页大小
int pageSize = productMakeDetailPrivate.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadProductMakeDetailPrivateNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(productMakeDetailPrivate.CacheName, productMakeDetailPrivate);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(productMakeDetailPrivate.CacheName, productMakeDetailPrivate);
}
//下载套菜信息
var productSuit = FastDownloadApi.DownloadProductSuit(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, productSuit.Message);
//第一页下载成功
if (productSuit.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (productSuit.IsPager)
{
//当前页码
int pageNum = productSuit.PageNumber;
//总页数
int pageCount = productSuit.PageCount;
//每页大小
int pageSize = productSuit.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadProductSuitNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(productSuit.CacheName, productSuit);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(productSuit.CacheName, productSuit);
}
//下载套菜明细信息
var productSuitDetail = FastDownloadApi.DownloadProductSuitDetail(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, productSuitDetail.Message);
//第一页下载成功
if (productSuitDetail.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (productSuitDetail.IsPager)
{
//当前页码
int pageNum = productSuitDetail.PageNumber;
//总页数
int pageCount = productSuitDetail.PageCount;
//每页大小
int pageSize = productSuitDetail.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadProductSuitDetailNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(productSuitDetail.CacheName, productSuitDetail);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(productSuitDetail.CacheName, productSuitDetail);
}
//下载厨打方案
var kitPlan = FastDownloadApi.DownloadKitPlan();
this.ShowMessage(this.lblStatus, kitPlan.Message);
if (kitPlan.Success)
{
this.AddDownloadSuccess(kitPlan.CacheName, kitPlan);
}
else
{
this.AddDownloadError(kitPlan.CacheName, kitPlan);
}
//下载厨打商品信息
var kitProduct = FastDownloadApi.DownloadKitProduct(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, kitProduct.Message);
//第一页下载成功
if (kitProduct.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (kitProduct.IsPager)
{
//当前页码
int pageNum = kitProduct.PageNumber;
//总页数
int pageCount = kitProduct.PageCount;
//每页大小
int pageSize = kitProduct.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadKitProductNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(kitProduct.CacheName, kitProduct);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(kitProduct.CacheName, kitProduct);
}
//下载厨显方案
var kdsPlan = FastDownloadApi.DownloadKdsPlan();
this.ShowMessage(this.lblStatus, kdsPlan.Message);
if (kdsPlan.Success)
{
this.AddDownloadSuccess(kdsPlan.CacheName, kdsPlan);
}
else
{
this.AddDownloadError(kdsPlan.CacheName, kdsPlan);
}
//下载厨显商品信息
var kdsProduct = FastDownloadApi.DownloadKdsProduct(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, kdsProduct.Message);
//第一页下载成功
if (kdsProduct.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (kdsProduct.IsPager)
{
//当前页码
int pageNum = kdsProduct.PageNumber;
//总页数
int pageCount = kdsProduct.PageCount;
//每页大小
int pageSize = kdsProduct.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadKdsProductNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(kdsProduct.CacheName, kdsProduct);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(kdsProduct.CacheName, kdsProduct);
}
//下载饿了么映射关系
var mappingDishEleMe = FastDownloadApi.DownloadMappingDishEleMe();
this.ShowMessage(this.lblStatus, mappingDishEleMe.Message);
if (mappingDishEleMe.Success)
{
this.AddDownloadSuccess(mappingDishEleMe.CacheName, mappingDishEleMe);
}
else
{
this.AddDownloadError(mappingDishEleMe.CacheName, mappingDishEleMe);
}
//下载美团映射关系
var meituanMappingDish = FastDownloadApi.DownloadMeituanMappingDish();
this.ShowMessage(this.lblStatus, meituanMappingDish.Message);
if (meituanMappingDish.Success)
{
this.AddDownloadSuccess(meituanMappingDish.CacheName, meituanMappingDish);
}
else
{
this.AddDownloadError(meituanMappingDish.CacheName, meituanMappingDish);
}
//下载百度映射关系
//var baiduMappingDish = FastDownloadApi.DownloadBaiDuMappingDish();
//this.ShowMessage(this.lblStatus, baiduMappingDish.Message);
//if (baiduMappingDish.Success)
//{
// this.AddDownloadSuccess(baiduMappingDish.CacheName, baiduMappingDish);
//}
//else
//{
// this.AddDownloadError(baiduMappingDish.CacheName, baiduMappingDish);
//}
//下载商品库存系数
var productRatio = FastDownloadApi.DownloadProductRatio(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, productRatio.Message);
//第一页下载成功
if (productRatio.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (productRatio.IsPager)
{
//当前页码
int pageNum = productRatio.PageNumber;
//总页数
int pageCount = productRatio.PageCount;
//每页大小
int pageSize = productRatio.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadProductRatioNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(productRatio.CacheName, productRatio);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(productRatio.CacheName, productRatio);
}
//下载商品配方
var productBurden = FastDownloadApi.DownloadProductBurden(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, productBurden.Message);
//第一页下载成功
if (productBurden.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (productBurden.IsPager)
{
//当前页码
int pageNum = productBurden.PageNumber;
//总页数
int pageCount = productBurden.PageCount;
//每页大小
int pageSize = productBurden.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadProductBurdenNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(productBurden.CacheName, productBurden);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(productBurden.CacheName, productBurden);
}
//下载做法配方
var makeBurden = FastDownloadApi.DownloadMakeBurden(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, makeBurden.Message);
//第一页下载成功
if (makeBurden.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (makeBurden.IsPager)
{
//当前页码
int pageNum = makeBurden.PageNumber;
//总页数
int pageCount = makeBurden.PageCount;
//每页大小
int pageSize = makeBurden.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadMakeBurdenNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(makeBurden.CacheName, makeBurden);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(makeBurden.CacheName, makeBurden);
}
}
#endregion
/// <summary>
/// 1)下载付款类型
/// 2)下载收银方式
/// 3)下载支付方式结算扣率 zhangy 2020-02-18 Add
/// </summary>
#region 下载三
private void Download3()
{
//下载付款类型
var payType = FastDownloadApi.DownloadPayType();
this.ShowMessage(this.lblStatus, payType.Message);
if (payType.Success)
{
this.AddDownloadSuccess(payType.CacheName, payType);
}
else
{
this.AddDownloadError(payType.CacheName, payType);
}
//下载收银方式
var payMode = FastDownloadApi.DownloadPayMode();
this.ShowMessage(this.lblStatus, payMode.Message);
if (payMode.Success)
{
this.AddDownloadSuccess(payMode.CacheName, payMode);
}
else
{
this.AddDownloadError(payMode.CacheName, payMode);
}
}
#endregion
/// <summary>
/// 1)门店营业方案
/// 2)班次方案
/// 3)餐桌区域
/// 4)餐桌类型
/// 5)餐桌信息
/// 6)门店品牌
/// 7)门店信息
/// 8)门店小票图片信息
/// 9)门店双屏图片信息
/// 10)门店双屏字幕信息
/// 11)门店费用项目列表
/// 12)门店仓库
/// </summary>
#region 下载四
private void Download4()
{
//下载门店营业方案
var businessPlan = FastDownloadApi.DownloadBusinessPlan();
this.ShowMessage(this.lblStatus, businessPlan.Message);
if (businessPlan.Success)
{
this.AddDownloadSuccess(businessPlan.CacheName, businessPlan);
}
else
{
this.AddDownloadError(businessPlan.CacheName, businessPlan);
}
//下载营业日方案班次
var businessPlanDetail = FastDownloadApi.DownloadBusinessPlanDetail();
this.ShowMessage(this.lblStatus, businessPlanDetail.Message);
if (businessPlanDetail.Success)
{
this.AddDownloadSuccess(businessPlanDetail.CacheName, businessPlanDetail);
}
else
{
this.AddDownloadError(businessPlanDetail.CacheName, businessPlanDetail);
}
//下载餐桌区域
var tableArea = FastDownloadApi.DownloadTableArea();
this.ShowMessage(this.lblStatus, tableArea.Message);
if (tableArea.Success)
{
this.AddDownloadSuccess(tableArea.CacheName, tableArea);
}
else
{
this.AddDownloadError(tableArea.CacheName, tableArea);
}
//下载餐桌类型
var tableType = FastDownloadApi.DownloadTableType();
this.ShowMessage(this.lblStatus, tableType.Message);
if (tableType.Success)
{
this.AddDownloadSuccess(tableType.CacheName, tableType);
}
else
{
this.AddDownloadError(tableType.CacheName, tableType);
}
//下载餐桌信息
var table = FastDownloadApi.DownloadTable();
this.ShowMessage(this.lblStatus, table.Message);
if (table.Success)
{
this.AddDownloadSuccess(table.CacheName, table);
}
else
{
this.AddDownloadError(table.CacheName, table);
}
//下载门店品牌
var brand = FastDownloadApi.DownloadBrand();
this.ShowMessage(this.lblStatus, brand.Message);
if (brand.Success)
{
this.AddDownloadSuccess(brand.CacheName, brand);
}
else
{
this.AddDownloadError(brand.CacheName, brand);
}
//下载门店信息
var storeInfo = FastDownloadApi.DownloadStoreInfo();
this.ShowMessage(this.lblStatus, storeInfo.Message);
if (storeInfo.Success)
{
this.AddDownloadSuccess(storeInfo.CacheName, storeInfo);
}
else
{
this.AddDownloadError(storeInfo.CacheName, storeInfo);
}
//下载门店双屏图片信息
var storeAdvertPicture = FastDownloadApi.DownloadStoreAdvertPicture();
this.ShowMessage(this.lblStatus, storeAdvertPicture.Message);
if (storeAdvertPicture.Success)
{
this.AddDownloadSuccess(storeAdvertPicture.CacheName, storeAdvertPicture);
}
else
{
this.AddDownloadError(storeAdvertPicture.CacheName, storeAdvertPicture);
}
//下载门店双屏字幕信息
var storeAdvertCaption = FastDownloadApi.DownloadStoreAdvertCaption();
this.ShowMessage(this.lblStatus, storeAdvertCaption.Message);
if (storeAdvertCaption.Success)
{
this.AddDownloadSuccess(storeAdvertCaption.CacheName, storeAdvertCaption);
}
else
{
this.AddDownloadError(storeAdvertCaption.CacheName, storeAdvertCaption);
}
//下载门店小票图片信息
var storePrintImage = FastDownloadApi.DownloadStorePrintImage();
this.ShowMessage(this.lblStatus, storePrintImage.Message);
if (storePrintImage.Success)
{
this.AddDownloadSuccess(storePrintImage.CacheName, storePrintImage);
}
else
{
this.AddDownloadError(storePrintImage.CacheName, storePrintImage);
}
//下载费用项目
var feeitem = FastDownloadApi.DownloadFeeitem();
this.ShowMessage(this.lblStatus, feeitem.Message);
if (feeitem.Success)
{
this.AddDownloadSuccess(feeitem.CacheName, feeitem);
}
else
{
this.AddDownloadError(feeitem.CacheName, feeitem);
}
// 下载门店仓库
var storeStorage = FastDownloadApi.DownloadStoreStorage();
this.ShowMessage(this.lblStatus, storeStorage.Message);
if (storeStorage.Success)
{
this.AddDownloadSuccess(storeStorage.CacheName, storeStorage);
}
else
{
this.AddDownloadError(storeStorage.CacheName, storeStorage);
}
}
#endregion
/// <summary>
/// 1)打印机信息
/// 2)读卡器信息
/// 3)设置支付参数
/// </summary>
#region 下载五
private void Download5()
{
//下载打印机列表
var printer = FastDownloadApi.DownloadPrinter();
this.ShowMessage(this.lblStatus, printer.Message);
if (printer.Success)
{
this.AddDownloadSuccess(printer.CacheName, printer);
}
else
{
this.AddDownloadError(printer.CacheName, printer);
}
//下载读卡器列表
var carder = FastDownloadApi.DownloadCarder();
this.ShowMessage(this.lblStatus, carder.Message);
if (carder.Success)
{
this.AddDownloadSuccess(carder.CacheName, carder);
}
else
{
this.AddDownloadError(carder.CacheName, carder);
}
//下载总部支付参数
var pechargeParameter = FastDownloadApi.DownloadRechargeParameter();
this.ShowMessage(this.lblStatus, pechargeParameter.Message);
if (pechargeParameter.Success)
{
this.AddDownloadSuccess(pechargeParameter.CacheName, pechargeParameter);
}
else
{
this.AddDownloadError(pechargeParameter.CacheName, pechargeParameter);
}
//下载总部POS方案
var setPlan = FastDownloadApi.DownloadSetPlan();
this.ShowMessage(this.lblStatus, setPlan.Message);
if (setPlan.Success)
{
this.AddDownloadSuccess(setPlan.CacheName, setPlan);
}
else
{
this.AddDownloadError(setPlan.CacheName, setPlan);
}
}
#endregion
/// <summary>
/// 1)门店熟客信息
/// 2)门店熟客标签
/// 3)门店熟客地址
/// </summary>
#region 下载六
private void Download6()
{
//下载门店熟客信息
var visitor = FastDownloadApi.DownloadVisitor(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, visitor.Message);
//第一页下载成功
if (visitor.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (visitor.IsPager)
{
//当前页码
int pageNum = visitor.PageNumber;
//总页数
int pageCount = visitor.PageCount;
//每页大小
int pageSize = visitor.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadVisitorNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(visitor.CacheName, visitor);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(visitor.CacheName, visitor);
}
//下载门店熟客标签信息
var visitorTag = FastDownloadApi.DownloadVisitorTag(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, visitorTag.Message);
//第一页下载成功
if (visitorTag.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (visitorTag.IsPager)
{
//当前页码
int pageNum = visitorTag.PageNumber;
//总页数
int pageCount = visitorTag.PageCount;
//每页大小
int pageSize = visitorTag.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadVisitorTagNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(visitorTag.CacheName, visitorTag);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(visitorTag.CacheName, visitorTag);
}
//下载门店熟客地址信息
var visitorAddress = FastDownloadApi.DownloadVisitorAddress(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, visitorAddress.Message);
//第一页下载成功
if (visitorAddress.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (visitorAddress.IsPager)
{
//当前页码
int pageNum = visitorAddress.PageNumber;
//总页数
int pageCount = visitorAddress.PageCount;
//每页大小
int pageSize = visitorAddress.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadVisitorAddressNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(50);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(visitorAddress.CacheName, visitorAddress);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(visitorAddress.CacheName, visitorAddress);
}
}
#endregion
/// <summary>
/// 1)线上促销
/// 2)门店促销
/// 3)门店优惠券
/// 4)门店商品优惠券
/// 5)商品库存
/// </summary>
#region 下载七
private void Download7()
{
//下载门店优惠券信息
var storeCoupon = FastDownloadApi.DownloadStoreCoupon(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, storeCoupon.Message);
//第一页下载成功
if (storeCoupon.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (storeCoupon.IsPager)
{
//当前页码
int pageNum = storeCoupon.PageNumber;
//总页数
int pageCount = storeCoupon.PageCount;
//每页大小
int pageSize = storeCoupon.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadStoreCouponNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(storeCoupon.CacheName, storeCoupon);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(storeCoupon.CacheName, storeCoupon);
}
//下载商品优惠券信息
var storeProductCoupon = FastDownloadApi.DownloadStoreProductCoupon(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, storeProductCoupon.Message);
//第一页下载成功
if (storeProductCoupon.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (storeProductCoupon.IsPager)
{
//当前页码
int pageNum = storeProductCoupon.PageNumber;
//总页数
int pageCount = storeProductCoupon.PageCount;
//每页大小
int pageSize = storeProductCoupon.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadStoreProductCouponNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(storeProductCoupon.CacheName, storeProductCoupon);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(storeProductCoupon.CacheName, storeProductCoupon);
}
//下载会员卡友日促销
var proDay = FastDownloadApi.DownloadCardProDay();
this.ShowMessage(this.lblStatus, proDay.Message);
if (proDay.Success)
{
this.AddDownloadSuccess(proDay.CacheName, proDay);
}
else
{
//由于卡系统可能存在尚未存在未启用会员的租户,所以这里的错误拦截暂时去掉
//this.AddDownloadError(proDay.CacheName, proDay);
}
//下载门店促销信息
var storeTask = FastDownloadApi.DownloadStoreTask(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, storeTask.Message);
//第一页下载成功
if (storeTask.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (storeTask.IsPager)
{
//当前页码
int pageNum = storeTask.PageNumber;
//总页数
int pageCount = storeTask.PageCount;
//每页大小
int pageSize = storeTask.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadStoreTaskNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(storeTask.CacheName, storeTask);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(storeTask.CacheName, storeTask);
}
//下载商品库存
var productStock = FastDownloadApi.DownloadProductStock(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, productStock.Message);
//第一页下载成功
if (productStock.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (productStock.IsPager)
{
//当前页码
int pageNum = productStock.PageNumber;
//总页数
int pageCount = productStock.PageCount;
//每页大小
int pageSize = productStock.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadProductStockNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(productStock.CacheName, productStock);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(productStock.CacheName, productStock);
}
}
#endregion
private bool EndDownload()
{
bool isError = false;
try
{
//判断是否发生下载错误
if (downloadError != null && downloadError.Keys.Count > 0)
{
this.ShowMessage(this.lblStatus, "数据下载不成功......");
this.BeginInvoke(new MethodInvoker(() =>
{
this.errorPanel.Location = new Point((this.workspace.Width - this.errorPanel.Width) / 2, (this.workspace.Height - this.errorPanel.Height - this.lblStatus.Height) / 2);
this.errorPanel.Visible = true;
this.lblInfo.Text = ("共" + downloadError.Keys.Count + "项数据下载失败" + Environment.NewLine);
int inx = 1;
foreach (DownloadNotify notify in downloadError.Values)
{
this.lblInfo.Text += ((inx++) + "." + notify.Message + Environment.NewLine);
}
this.errorPanel.Refresh();
}));
isError = true;
}
else
{
this.ShowMessage(this.lblStatus, "数据下载成功,更新中......");
var list = new ConcurrentQueue<string>();
foreach (var entity in FastDownloadApi.Instance.Cache())
{
list.Enqueue(entity.Sql);
}
lock (Global.Instance.CacheLock)
{
SqliteUtils.ExecuteTransaction(list);
}
this.ProcessProductType();
isError = false;
}
}
catch (Exception ex)
{
isError = true;
this.ShowMessage(this.lblStatus, "数据下载更新发生异常", true);
LOGGER.Error(ex, "数据下载更新发生异常");
}
finally
{
//下载完成
this.isFinished = true;
}
return isError;
}
private bool ProcessProductType()
{
bool isException = false;
try
{
List<ProductType> productTypes = null;
using (var db = Global.Instance.OpenDataBase)
{
productTypes = db.Query<ProductType>().ToList();
}
//将品类对应的单品数量汇总
if (productTypes != null)
{
var list = new ConcurrentQueue<string>();
var sql = "update pos_product_type set products = {0} where id = '{1}';";
foreach (var entity in productTypes)
{
using (var db = Global.Instance.OpenDataBase)
{
var products = from o in db.Query<Product>()
where o.Type >= 0 && o.Type <= 9 && o.StopFlag == 0 && o.TypePath.Contains(entity.Id)
select o;
list.Enqueue(string.Format(sql, products.Count(), entity.Id));
}
}
if (list.Count > 0)
{
lock (Global.Instance.SyncLock)
{
SqliteUtils.ExecuteTransaction(list);
}
}
}
}
catch (Exception ex)
{
isException = true;
LOGGER.Error(ex, "加工品类信息异常");
}
return isException;
}
private void OnControlBoxMinimizedClick(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Minimized;
}
private void OnCloseClick(object sender, EventArgs e)
{
//有错误提醒
if (this.errorPanel.Visible)
{
timer.Stop();
this.DialogResult = DialogResult.OK;
this.Close();
}
}
protected void OnButtonIgnoreClick(object sender, EventArgs e)
{
//有错误提醒
if (this.errorPanel.Visible)
{
timer.Stop();
this.DialogResult = DialogResult.OK;
this.Close();
}
}
protected void OnButtonRetryClick(object sender, EventArgs e)
{
//有错误提醒
if (this.errorPanel.Visible)
{
timer.Stop();
this.downloadError = null;
this.isDownloading = false;
this.isFinished = false;
this.ShowMessage(this.lblStatus, "连接云端服务......", false);
timer.Interval = TIMER_INTERVAL;
timer.Start();
this.ShowMessage(this.lblStatus, "准备同步数据......", false);
this.errorPanel.Visible = false;
}
}
#region subin 2023-07-10 add 下载分账配置相关信息 下载8
/// <summary>
/// 菜品分户账户关联信息
/// 店铺分帐户
/// </summary>
private void Download8()
{
//下载分店账号信息
var splitShopAccount = FastDownloadApi.DownloadSplitShopAccount(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, splitShopAccount.Message);
//第一页下载成功
if (splitShopAccount.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
if (splitShopAccount.IsPager)
{
//当前页码
int pageNum = splitShopAccount.PageNumber;
//总页数
int pageCount = splitShopAccount.PageCount;
//每页大小
int pageSize = splitShopAccount.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadSplitShopAccountNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(splitShopAccount.CacheName, splitShopAccount);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(splitShopAccount.CacheName, splitShopAccount);
}
//下载菜品分户账户信息
var splitFoodAccount = FastDownloadApi.DownloadSplitFoodAccount(Constant.DEFAULT_PAGESIZE);
this.ShowMessage(this.lblStatus, splitFoodAccount.Message);
//第一页下载成功
if (splitFoodAccount.Success)
{
//判断是否全部下载成功
bool isAllSuccess = true;
//记录最后下载失败的通知消息
DownloadNotify lastFailure = null;
//分页下载
if (splitFoodAccount.IsPager)
{
//当前页码
int pageNum = splitFoodAccount.PageNumber;
//总页数
int pageCount = splitFoodAccount.PageCount;
//每页大小
int pageSize = splitFoodAccount.PageSize;
//逐页下载,任意页下载失败退出下载
for (int page = pageNum + 1; page < pageCount + 1; page++)
{
var notify = FastDownloadApi.DownloadSplitFoodAccountNextPage(page, pageSize);
if (notify.Success)
{
this.ShowMessage(this.lblStatus, notify.Message);
}
else
{
//最后的失败通知
lastFailure = notify;
isAllSuccess = false;
break;
}
System.Threading.Thread.Sleep(10);
}
}
if (isAllSuccess && lastFailure == null)
{
this.AddDownloadSuccess(splitFoodAccount.CacheName, splitFoodAccount);
}
else
{
this.AddDownloadError(lastFailure.CacheName, lastFailure);
}
}
else
{
this.AddDownloadError(splitFoodAccount.CacheName, splitFoodAccount);
}
}
#endregion
}
}