pos收银系统 php,POS收银系统
【實例簡介】
超市POS收銀系統
前臺收銀用戶名:haiyang 密碼:1
后臺管理用戶名:admin 密碼:1
后臺管理功能主要用:商品分類管理、商品添加、商品修改、商品管理、日匯總、月匯總、年匯總、用戶管理等,配合條碼機、掃描槍、小票打印機等硬件使用,適合超市收銀使用。。
要求必須安裝 office,因為 數據庫用的 access
【實例截圖】
【核心代碼】
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace FOUPOS
{
public partial class Cash : Form
{
POS.Model.FUser m_User = new POS.Model.FUser();
public Cash(POS.Model.FUser fuser)
{
InitializeComponent();
this.m_User = fuser;
}
private int sumCount = 0;
POS.BLL.FGoods b_Goods = new POS.BLL.FGoods();
POS.Model.FGoods m_Goods = new POS.Model.FGoods();
private void Cash_Load(object sender, EventArgs e)
{
skinEngine1.SkinFile = "OneBlue.ssk";
SetlvGoods();
}
#region 在界面Load的時候先設置好標題名和長度.
protected void SetlvGoods()
{
lvGoods.Columns.Add("數量", 60);
lvGoods.Columns.Add("條碼", 170);
lvGoods.Columns.Add("商品名", 210);
lvGoods.Columns.Add("單價", 80);
lvGoods.Columns.Add("金額", 80);
lvGoods.Columns.Add("收銀員", 80);
}
#endregion
private void btnAdd_Click(object sender, EventArgs e)
{
int scount = 1;
if (!string.IsNullOrEmpty(txtNum.Text))
{
if (b_Goods.Exists(txtNum.Text.Trim()))
{
m_Goods = b_Goods.GetModelByNum(txtNum.Text.Trim());
if (lvGoods.Items.Count > 0)
{
bool exist = false;
foreach (ListViewItem checklvi in lvGoods.Items)
{
if (checklvi.SubItems[1].Text == txtNum.Text.Trim())
{
exist = true;
checklvi.SubItems[0].Text = (int.Parse(checklvi.SubItems[0].Text) 1).ToString();
checklvi.SubItems[4].Text = string.Format("{0:F2}", (int.Parse(checklvi.SubItems[0].Text) * m_Goods.SSalePrice));
sumCount = 1;
lblSumMoney.Text = GetSumMoney().ToString();
txtSumMoney.Text = lblSumMoney.Text;
txtShouldGetMoney.Text = lblSumMoney.Text;
lblSumCount.Text = sumCount.ToString();//記錄商品總數
txtNum.Text = "";
return;//跳出button事件之前更新商品總數和txtNum的text屬性
}
}
if (exist == false)
{
ListViewItem lvi = lvGoods.Items.Add(scount.ToString());
lvi.SubItems.Add(m_Goods.SNum);
lvi.SubItems.Add(m_Goods.SName);
lvi.SubItems.Add(string.Format("{0:F2}", m_Goods.SSalePrice));
lvi.SubItems.Add(string.Format("{0:F2}", m_Goods.SSalePrice));
lvi.SubItems.Add(m_User.UName);
sumCount = 1;
}
}
else
{
ListViewItem lvi = lvGoods.Items.Add(scount.ToString());
lvi.SubItems.Add(m_Goods.SNum);
lvi.SubItems.Add(m_Goods.SName);
lvi.SubItems.Add(string.Format("{0:F2}", m_Goods.SSalePrice));
lvi.SubItems.Add(string.Format("{0:F2}", m_Goods.SSalePrice));
lvi.SubItems.Add(m_User.UName);
sumCount = 1;
}
}
}
lblSumMoney.Text = GetSumMoney().ToString();
txtSumMoney.Text = lblSumMoney.Text;
txtShouldGetMoney.Text = lblSumMoney.Text;
lblSumCount.Text = sumCount.ToString();//記錄商品總數
txtNum.Text = "";
}
private void Cash_Activated(object sender, EventArgs e)
{
txtNum.Focus();
}
#region 獲取金額
protected decimal GetSumMoney()
{
decimal summoney = 0;
foreach (ListViewItem checklvi in lvGoods.Items)
{
summoney = decimal.Parse(checklvi.SubItems[4].Text);
}
return summoney;
}
#endregion
private void lvGoods_AfterLabelEdit(object sender, LabelEditEventArgs e)
{
try
{
ListView lv = (ListView)sender;
int a = int.Parse(e.Label);
lv.SelectedItems[0].SubItems[4].Text = (a * decimal.Parse(lv.SelectedItems[0].SubItems[3].Text)).ToString();
lblSumMoney.Text = GetSumMoney().ToString();
txtSumMoney.Text = lblSumMoney.Text;
txtShouldGetMoney.Text = lblSumMoney.Text;
}
catch (Exception ex)
{
e.CancelEdit = true;
MessageBox.Show(ex.Message);
}
}
private void txtGetMoney_Leave(object sender, EventArgs e)
{
try
{
decimal shouldmoney = decimal.Parse(txtShouldGetMoney.Text);
decimal getmoney = decimal.Parse(txtGetMoney.Text);
if (getmoney > shouldmoney)
{
txtReturnMoney.Text = string.Format("{0:F2}", getmoney - shouldmoney);
}
else
{
MessageBox.Show("交來金額小于實收金額。");
}
}
catch
{
MessageBox.Show("數據有誤,請仔細檢查輸入金額。");
}
}
#region 取出精確到毫秒的時間做流水號
protected string GetAccountNum()
{
int year = System.DateTime.Now.Year;
int month = System.DateTime.Now.Month;
int day = System.DateTime.Now.Day;
int hour = System.DateTime.Now.Hour;
int minute = System.DateTime.Now.Minute;
int second = System.DateTime.Now.Second;
int millisecond = System.DateTime.Now.Millisecond;
string num = year.ToString() month.ToString() day.ToString() hour.ToString() minute.ToString() second.ToString() millisecond.ToString();
return num;
}
#endregion
private void button1_Click(object sender, EventArgs e)
{
POS.BLL.FAccount b_Account = new POS.BLL.FAccount();
POS.Model.FAccount m_Account = new POS.Model.FAccount();
m_Account.AccountNum = GetAccountNum();
m_Account.GetMoney = decimal.Parse(txtShouldGetMoney.Text);
m_Account.JoinTime = DateTime.Now;
m_Account.NoGetMoney = 0;
m_Account.SumMoney = decimal.Parse(txtSumMoney.Text);
m_Account.UID = m_User.UID;
b_Account.Add(m_Account);
int id = b_Account.GetMaxID();
POS.Model.FDetail m_Detail = new POS.Model.FDetail();
POS.BLL.FDetail b_Detail = new POS.BLL.FDetail();
m_Detail.AID = id;
foreach (ListViewItem checklvi in lvGoods.Items)
{
m_Detail.GNum = checklvi.SubItems[1].Text;
m_Detail.DCount = int.Parse(checklvi.SubItems[0].Text);
b_Detail.Add(m_Detail);
}
GetClear();
MessageBox.Show("收銀成功。");
}
protected void GetClear()
{
lvGoods.Items.Clear();
lblSumMoney.Text = null;
lblSumCount.Text = null;
txtGetMoney.Text = null;
txtReturnMoney.Text = null;
txtShouldGetMoney.Text = null;
txtSumMoney.Text = null;
}
}
}
總結
以上是生活随笔為你收集整理的pos收银系统 php,POS收银系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: esxi01磁盘扩容_给EXSI虚拟机中
- 下一篇: 美国主要经济数据解注释