|
|
|
|
using POSV.Card;
|
|
|
|
|
using POSV.Component;
|
|
|
|
|
using POSV.Entity;
|
|
|
|
|
using POSV.Helper;
|
|
|
|
|
using POSV.Member;
|
|
|
|
|
using POSV.Promotion;
|
|
|
|
|
using POSV.Report;
|
|
|
|
|
using POSV.Stock;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.ComponentModel;
|
|
|
|
|
using System.Data;
|
|
|
|
|
using System.Drawing;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using System.Windows.Forms;
|
|
|
|
|
|
|
|
|
|
namespace POSV.Business
|
|
|
|
|
{
|
|
|
|
|
public partial class MoreDialogForm : BusinessForm
|
|
|
|
|
{
|
|
|
|
|
public MoreDialogForm()
|
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void OnMenuClick(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
var button = sender as ButtonXExt;
|
|
|
|
|
|
|
|
|
|
////针对食堂版授权控制
|
|
|
|
|
//var _form = (this.Owner as TransparentForm).m_overlay as FastTemplate;
|
|
|
|
|
//if (_form != null)
|
|
|
|
|
//{
|
|
|
|
|
//模块授权控制
|
|
|
|
|
if (!this.IsAccredit(button.Text.Trim()))
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
//}
|
|
|
|
|
this.Invoke((EventHandler)delegate
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
switch (button.Text.Trim())
|
|
|
|
|
{
|
|
|
|
|
case "营业单据":
|
|
|
|
|
{
|
|
|
|
|
var form = Application.OpenForms["MSaleDetail"];
|
|
|
|
|
if (form == null)
|
|
|
|
|
{
|
|
|
|
|
form = new MSaleDetail();
|
|
|
|
|
}
|
|
|
|
|
form.WindowState = FormWindowState.Maximized;
|
|
|
|
|
form.BringToFront();
|
|
|
|
|
form.ShowDialog();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "销售汇总":
|
|
|
|
|
{
|
|
|
|
|
var form = Application.OpenForms["MSaleSummary"];
|
|
|
|
|
if (form == null)
|
|
|
|
|
{
|
|
|
|
|
form = new MSaleSummary();
|
|
|
|
|
}
|
|
|
|
|
form.WindowState = FormWindowState.Maximized;
|
|
|
|
|
form.BringToFront();
|
|
|
|
|
form.ShowDialog();
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "收银报表":
|
|
|
|
|
{
|
|
|
|
|
var form = Application.OpenForms["MPaySummary"];
|
|
|
|
|
if (form == null)
|
|
|
|
|
{
|
|
|
|
|
form = new MPaySummary();
|
|
|
|
|
}
|
|
|
|
|
form.WindowState = FormWindowState.Maximized;
|
|
|
|
|
form.BringToFront();
|
|
|
|
|
form.ShowDialog();
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "营业日报":
|
|
|
|
|
{
|
|
|
|
|
var form = Application.OpenForms["MDaySaleReport"];
|
|
|
|
|
if (form == null)
|
|
|
|
|
{
|
|
|
|
|
form = new MDaySaleReport();
|
|
|
|
|
}
|
|
|
|
|
form.WindowState = FormWindowState.Maximized;
|
|
|
|
|
form.BringToFront();
|
|
|
|
|
form.ShowDialog();
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "时段报表":
|
|
|
|
|
{
|
|
|
|
|
var form = Application.OpenForms["MTimeSummary"];
|
|
|
|
|
if (form == null)
|
|
|
|
|
{
|
|
|
|
|
form = new MTimeSummary();
|
|
|
|
|
}
|
|
|
|
|
form.WindowState = FormWindowState.Maximized;
|
|
|
|
|
form.BringToFront();
|
|
|
|
|
form.ShowDialog();
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "交班查询":
|
|
|
|
|
{
|
|
|
|
|
var form = Application.OpenForms["MShiftDetail"];
|
|
|
|
|
if (form == null)
|
|
|
|
|
{
|
|
|
|
|
form = new MShiftDetail();
|
|
|
|
|
}
|
|
|
|
|
form.WindowState = FormWindowState.Maximized;
|
|
|
|
|
form.BringToFront();
|
|
|
|
|
form.ShowDialog();
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "会员开户":
|
|
|
|
|
{
|
|
|
|
|
var dialogForm = new CardOpenForm();
|
|
|
|
|
dialogForm.OnRechargeClick += OnRechargeControlNotifyChanged;
|
|
|
|
|
dialogForm.AcceptButtonClick += (o, args) =>
|
|
|
|
|
{
|
|
|
|
|
if (args.Data is MemberInfoQueryResponse)
|
|
|
|
|
{
|
|
|
|
|
var response = args.Data as MemberInfoQueryResponse;
|
|
|
|
|
|
|
|
|
|
//会员登记小票打印
|
|
|
|
|
Task.Factory.StartNew(() =>
|
|
|
|
|
{
|
|
|
|
|
var storeNo = Global.Instance.Authc.StoreNo;
|
|
|
|
|
var storeName = Global.Instance.Worker.StoreInfo.PrintName;
|
|
|
|
|
var posNo = Global.Instance.Authc.PosNo;
|
|
|
|
|
var workerNo = Global.Instance.Worker.No;
|
|
|
|
|
var workerName = Global.Instance.Worker.Name;
|
|
|
|
|
|
|
|
|
|
//构建收银小票模版参数
|
|
|
|
|
var vars = PrintHelper.BuilderMemberRegisterVariable(storeNo, storeName, workerNo, workerName, posNo, response);
|
|
|
|
|
|
|
|
|
|
//自动切纸
|
|
|
|
|
bool cutPager = Global.Instance.GlobalConfigBoolValue(ConfigConstant.PERIPHERAL_CASHIER_ALLOW_CUT_PAGER, false);
|
|
|
|
|
|
|
|
|
|
LOGGER.Info("开始打印会员登记小票");
|
|
|
|
|
|
|
|
|
|
//执行收银小票打印
|
|
|
|
|
return PrintHelper.PrinterMemberRegister("会员登记单", vars, cutPager);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}).ContinueWith(task =>
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
if (task.IsFaulted)
|
|
|
|
|
{
|
|
|
|
|
LOGGER.Error(task.Exception.GetBaseException());
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
LOGGER.Info("会员登记小票打印结果<{0},{1}>", task.Result.Item1, task.Result.Item2);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
dialogForm.CancelButtonClick += (o, args) => { };
|
|
|
|
|
|
|
|
|
|
TransparentForm trans = new TransparentForm(this, dialogForm);
|
|
|
|
|
trans.ShowDialog();
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "会员充值":
|
|
|
|
|
{
|
|
|
|
|
TransparentForm trans = new TransparentForm(this, new CardRechargeForm());
|
|
|
|
|
trans.ShowDialog();
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "会员信息":
|
|
|
|
|
{
|
|
|
|
|
TransparentForm trans = new TransparentForm(this, new CardMessageForm());
|
|
|
|
|
trans.ShowDialog();
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "会员日志":
|
|
|
|
|
{
|
|
|
|
|
var form = Application.OpenForms["MemberHistoryForm"];
|
|
|
|
|
if (form == null)
|
|
|
|
|
{
|
|
|
|
|
form = new MemberHistoryForm();
|
|
|
|
|
}
|
|
|
|
|
form.WindowState = FormWindowState.Maximized;
|
|
|
|
|
form.BringToFront();
|
|
|
|
|
form.Show();
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "会员换卡":
|
|
|
|
|
{
|
|
|
|
|
TransparentForm trans = new TransparentForm(this, new CardExchangeForm());
|
|
|
|
|
trans.ShowDialog();
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "会员更改":
|
|
|
|
|
{
|
|
|
|
|
TransparentForm trans = new TransparentForm(this, new CardUpdateFrom());
|
|
|
|
|
trans.ShowDialog();
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "开钱箱":
|
|
|
|
|
{
|
|
|
|
|
PrintHelper.OpenCashBox();
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "入库":
|
|
|
|
|
{
|
|
|
|
|
var form = Application.OpenForms["StoreStorageInListForm"];
|
|
|
|
|
if (form == null)
|
|
|
|
|
{
|
|
|
|
|
form = new StoreStorageInListForm();
|
|
|
|
|
}
|
|
|
|
|
form.WindowState = FormWindowState.Maximized;
|
|
|
|
|
form.BringToFront();
|
|
|
|
|
form.ShowDialog();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "库存查询":
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
var form = Application.OpenForms["ProductStockForm"];
|
|
|
|
|
if (form == null)
|
|
|
|
|
{
|
|
|
|
|
form = new ProductStockForm();
|
|
|
|
|
}
|
|
|
|
|
form.WindowState = FormWindowState.Maximized;
|
|
|
|
|
form.BringToFront();
|
|
|
|
|
form.ShowDialog();
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "设置":
|
|
|
|
|
{
|
|
|
|
|
var form = Application.OpenForms["SettingsForm"];
|
|
|
|
|
if (form == null)
|
|
|
|
|
{
|
|
|
|
|
form = new SettingsForm();
|
|
|
|
|
}
|
|
|
|
|
form.BringToFront();
|
|
|
|
|
form.ShowDialog();
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "关闭":
|
|
|
|
|
{
|
|
|
|
|
if (this.Owner != null)
|
|
|
|
|
{
|
|
|
|
|
this.Owner.Close();
|
|
|
|
|
}
|
|
|
|
|
this.Close();
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
LOGGER.Error(ex, "OnMenuClick异常");
|
|
|
|
|
}
|
|
|
|
|
finally
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public bool IsAccredit(string permissionName)
|
|
|
|
|
{
|
|
|
|
|
var permissionCode = this.ToPermissionCode(permissionName);
|
|
|
|
|
if (Global.Instance.HasPermission(permissionCode))
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var authForm = new AuthDialogForm(permissionName, permissionCode, null);
|
|
|
|
|
authForm.ExpectValidate(permissionCode);
|
|
|
|
|
authForm.ShowDialog();
|
|
|
|
|
|
|
|
|
|
if (authForm.IsAccredit)
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#region ToPermissionCode
|
|
|
|
|
private string ToPermissionCode(string permissionName)
|
|
|
|
|
{
|
|
|
|
|
switch (permissionName)
|
|
|
|
|
{
|
|
|
|
|
case "现在找零":
|
|
|
|
|
return "10019";
|
|
|
|
|
case "速结":
|
|
|
|
|
return "10019";
|
|
|
|
|
case "会员卡":
|
|
|
|
|
return "10023";//会员卡查询
|
|
|
|
|
case "营业单据":
|
|
|
|
|
return "30001";//销售流水
|
|
|
|
|
case "销售汇总":
|
|
|
|
|
return "30002";
|
|
|
|
|
case "收银报表":
|
|
|
|
|
return "30003";
|
|
|
|
|
case "营业日报":
|
|
|
|
|
return "30005";
|
|
|
|
|
case "时段报表":
|
|
|
|
|
return "30004";
|
|
|
|
|
case "交班查询":
|
|
|
|
|
return "30008";
|
|
|
|
|
case "会员开户":
|
|
|
|
|
return "20001";
|
|
|
|
|
case "会员充值":
|
|
|
|
|
return "20002";
|
|
|
|
|
case "会员信息":
|
|
|
|
|
return "20005";
|
|
|
|
|
case "会员换卡":
|
|
|
|
|
return "20004";
|
|
|
|
|
case "开钱箱":
|
|
|
|
|
return "10020";
|
|
|
|
|
case "设置":
|
|
|
|
|
return "40001";
|
|
|
|
|
case "交班":
|
|
|
|
|
return "10036";
|
|
|
|
|
case "消单":
|
|
|
|
|
return "10001";
|
|
|
|
|
case "删菜":
|
|
|
|
|
return "10002";
|
|
|
|
|
default:
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 电话外送操作应答
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
private void OnRechargeControlNotifyChanged(object sender, NotifyEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
switch (e.KeyCode)
|
|
|
|
|
{
|
|
|
|
|
case "memberRecharge"://会员充值
|
|
|
|
|
{
|
|
|
|
|
var data = e.Data.ToString();
|
|
|
|
|
TransparentForm trans = new TransparentForm(this, new CardRechargeForm(data));
|
|
|
|
|
trans.Show(this);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
private void OnCloseClick(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
this.Close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void buttonXExt18_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
this.Invoke((EventHandler)delegate
|
|
|
|
|
{
|
|
|
|
|
TransparentForm trans = new TransparentForm(this, new PromotionForm());
|
|
|
|
|
trans.Show(this);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|