pos收银系统 php,POS收银系统

【实例简介】

超市POS收银系统

前台收银用户名:haiyang 密码:1

后台管理用户名:admin 密码:1

后台管理功能主要用:商品分类管理、商品添加、商品修改、商品管理、日汇总、月汇总、年汇总、用户管理等,配合条码机、扫描枪、小票打印机等硬件使用,适合超市收银使用。。

要求必须安装 office,因为 数据库用的 access

【实例截图】

23313b386c5b6ecbd604423ac0b53ae2.png

【核心代码】

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;

}

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
慧创超市进销存、门店、连锁POS系统(SQL) V1.69 破解版 ★适用范围:适用于大中小型超市、门店、批发、书店、药店,软件灵活方便,易上手(安装包内附软件使用教学动画),是您最佳的选择。 ★后台功能: 1.拥有强大的万能报表打印系统,即用户可以随心所遇修改或添加打印模版。 2.强大的表格,几乎无所不能。允许列的拖动、隐藏、排序、多选等。 3.支持5种界面的切换,给你一个全新的视觉冲击。 4.强大的数据查询与分析(分类查询等)。 5.支持多仓库调入、调出、采、退、批销、批退、移库。前台可以从任意仓库中进行销售。 6.支持条形码打印功能,可制作各种样式的价格标签和商品条码标签,只需要一台激光打印就可以完成。 7.商品包装的折分,和商品零售时显示商品图片。 8.支持企业的员工管理、员工工资表(自动生成),员工上岗卡制作(可打印员工像片) 9.支持某天到某天其时间段内的商品打折销售。以及多种价格进行销售。 10.各种单据的生成。并按自定的格式进行打印。 11.完善的商品分类功能,让你随心所遇的进行商品分类。 12.支持动态盘库存。 13.支持盘点机点库存 14.多帐套管理 15.支持多种周种设备(指令可以由用户您自己输入,也可以说适应所有设备) 16.多种图表分析并可以打印、各种排行。 17.勾单功能(即与业务单位进行核对帐目,核对过的进行最后确认,并补齐所欠金额)。 18.库存修改、库存预警等多方面的库存管理。 19.根据采购数量动态决定打印商品标签个数。 21.软件版本更新检测功能。 21.支持过期商品的查询。 22.支持历史库存的保存与查询。 23.数据结转功能,可确保软件始终处在最快的单据输入状态。 24.支持数据清理功能。 25.支持会员积分功能、不同的销售价格指定、支持会员卡转储值卡。一卡多用。 26.支持一条多码、一码多品功能,自动弹出窗口供您选择。 27.灵活的权限控制,可以任意分配前后台用户的权限。 28.软件操作日志的记录,让您清楚的知道每一步操作的情况。 29.强有力的数据备份与恢复功能,让您的数据更安全。 30.支持多种支付方式,可以自由添加。 后台是一款强大的进销存软件,可以单独使用。 ★前台功能: 1.实现按时间段促销销售。 2.单品打折、整单打折 3.挂单、取单 4.可控制的显示商品图片,以及会员、卡用户显示对应的相片 5.支持单品、整单赠送。 6.完善的硬件设置功能。同后台功能所述。 7.可以自由更改小票格式,以满足你的需要。并可以自由选择使用哪种小票进行打印。 8.支持脱网销售。当网络中断,自动切换到脱网状态,前台不需要退出。 9.支持按品名、条码、编码、拼音编码的模糊零售,非常的便捷。 10.支持换班、锁屏功能。 11.支持每个POS前台选择不同的仓库销售,可实现连锁销售。 12.前台支持全屏独占操作模式。 13.前台支持在线检测软件更新。 14.支持会员、卡消费。 15.支持一品多码、一码多品功能,自动弹出窗口供您选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值