第一篇:超市收银系统构建
超市是一家小型超级市场,由自选商场、仓库和行政办公室三部分组成。按照设计规划,在自选商场门口设两个收银点,用两台电脑为顾客服务,对顾客所购商品进行计价和收款。在商场后面的仓库和行政办公室里再各设一台电脑,仓库的电脑用于商场进货时有关商品数据的录入,行政办公室的电脑用于决策支持和退货商品的数据录入,兼做文字处理和报表打印。
商场的所有数据都保存在行政办公室电脑上,同时在仓库电脑上做一个备份,确保数据安全。4台电脑上都安装Windows XP操作系统和数据库管理系统,组成对等网。为了减少网络故障对系统的影响,收银点上的两台电脑平时不接入网络,但其中有操作员库和商品价格库的备份,收银过程中直接调用本地硬盘上的数据,产生的销售数据也直接保存在本地硬盘中。只有当行政办公室电脑进行数据查询汇总或仓库电脑需要更新商品库时,才临时将这两台电脑的硬盘映射成网络驱动器,由后台电脑对其中的数据进行操作,操作完成后再立即断开网络驱动器。
网络结构
该网络系统采用星形拓扑结构,以集线器为中心结点,把4台外围电脑连接起来,呈辐射状互联结构。每台电脑均配有打印机和手持式红外线条码阅读器。收银系统对电脑本身的要求并不高,可以使用赛扬兼容机;集线器使用的是D-Link公司的8口10/100M自适应集线器;网卡使用D-Link公司的DE530TX 10/100M自适应网卡;收银点的打印机使用Epson公司的LQ-300K窄行针式打印机,可以打印复写纸;行政办公室和仓库的打印机使用Epson公司的LQ-1600KⅢ宽行打印机;条码阅读器使用的是台湾产红外线条码阅读器。如果商场同意,在经费充裕的情况下,收银点可以推荐使用台式激光条码阅读机。
系统结构图 程序总体设计
笔者使用Delphi 5.0作为主要开发语言,其中系统主要模块有:操作员登录模块、收银/进货模块、查询模块、报表/资金管理/数据汇总模块、操作员管理模块及操作员密码修改模块等。
在整个系统中,客户使用最多的是收银模块,提高收银的处理速度成为提高整个系统速度的关键。经过分析,笔者认为提高收银速度的瓶颈主要集中在操作员的数据录入和打印机的数据输出上。操作员的数据录入包括商品条码录入、顾客所购同一种商品多于一件时商品数量的录入以及最后一个商品录入完毕后通知电脑计算总价等。因此,笔者将所有的录入放在一个输入框Edit1中,当收银员按回车键确认输入完毕后,由程序根据输入数据的长度自动判断输入数据的属性,收银员只需使用条码阅读器和小键盘就可以完成所有的操作。为了提高打印机的输出速度,该系统还在收银模块中采用了直接打印的方法,将打印机作为输出文件,把打印字符直接送到打印机上输出,避免了使用Windows 98的打印机驱动程序所带来的时间延迟问题。数据输入和输出部分处理过程的主要代码如下:
procedure TForm10.Edit1KeyDown(Sender: TObject;var Key: Word;Shift: TShiftState);…… begin if key=vk_return then begin //计算输入框中字符的个数
inlength:=length(edit1.text);case inlength of
//字符长度为零时,调用计价子模块
0:begin
form11.showmodal;
end;
//输入1到3个数字时,作为数量处理
1,2,3:begin //flag为全局变量
if flag then begin
dm.table11.Edit;dm.table11[‘shuliang’]:=strtoint(edit1.text);
dm.table11[‘chengben’]:=dm.table11[‘cbdanjia’]*dm.table11[‘shuliang’];
dm.table11[‘liangshou’]:=dm.table11[‘lsdanjia’]*dm.table11[‘shuliang’];
dm.table11.post;
edit3.text:=floattostr(strtofloat(edit3.text)+(dm.table11[‘shuliang’]-1)*dm.table11[‘lsdanjia’]);
edit2.text:=edit1.text;
dm.table9.Edit;
dm.table9[‘kucheng’]:=dm.table9[‘kucheng’]-strtoint(edit2.text)+1;
dm.table9[‘shuliang’]:=dm.table9[‘shuliang’]+strtoint(edit2.text)-1;
dm.table9.post;
edit1.Clear;
edit2.text:=‘1’;
flag:=false;
//打印购物清单,清单由商品条码、商品名、单价、数量和小计构成str:= dm.table11[‘tiaoma’];
str:=str+‘’+dm.table11[‘pinming’];
str:=str+‘ ’+floattostr(dm.table11 [‘lsdanjia’]);
if inlength=1 then str:=str+‘ ’+ inttostr(dm.table11[‘shuliang’]);
if inlength=2 then str:=str+‘ ’+ inttostr(dm.table11[‘shuliang’]);
if inlength=3 then str:=str+‘ ’+ inttostr(dm.table11[‘shuliang’]);
str:=str+‘ ’+ floattostr(dm.table11[‘liangshou’]);
assignfile(f, ‘lpt1’);
rewrite(f);
try
writeln(f,str);
finally
closefile(f);
end else
showmessage(‘请您先输入条码,然后再输入数量’);
end;//输入超过4位时,当成条码处理
else if dm.table9.FindKey([edit1.text])then begin
if dm.table11.Active=false then dm.table11.open;
//打印购物清单
……
flag:=True;
dm.table11.Edit;
if dm.table11.recordcount=0 then begin
dm.table11.Insert;
dm.table11[‘mingxi’]:=strtoint(inttostr(dm.table10[‘danhao’])+‘01’);
end else begin
dm.table11.Last;
i:=dm.table11[‘mingxi’];
dm.table11.Insert;
dm.table11[‘mingxi’]:=i+1;
end;
dm.table11.edit;
dm.table11[‘danhao’]:=dm.table10 [‘danhao’];……
dm.table11[‘xsdate’]:=date;
dm.table11[‘liangshou’]:=dm.table11 [‘lsdanjia’]*1;
dm.table11.post;
dm.table9.Edit;
dm.table9[‘kucheng’]:= dm.table9 [‘kucheng’]-1;
dm.table9[‘shuliang’]:=dm.table9 [‘shuliang’]+1;
dm.table9.Post;
edit3.text:=floattostr(strtofloat(edit3.text)+dm.table11[‘liangshou’]);
edit1.Clear;
end else begin
showmessage(‘库存里没有此商品.请查看输入的条码是否正确’);
edit1.clear;
第二篇:超市收银系统设计思路
超市收银系统设计分析
一、系统整体架构
图1 从图1可以看出,系统框架很清晰,用户登录,根据用户权限的不同,对应不同的操作方法,操作对象为商品。
但本系统要求使用C/S框架结构来设计。C/S框架介绍:
C/S 结构,即大家熟知的客户机和服务器结构。
C/S 结构的基本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成,即采用“功能分布”原则。客户端完成数据处理,数据表示以及用户接口功能;服务器端完成DBMS(数据库管理系统)的核心功能。这种客户请求服务、服务器提供服务的处理方式是一种新型的计算机应用模式。
Client和Server常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。
鉴于超市收银系统的特性,本系统不牵扯多个客户端,不需要线程同步。
二、代码设计框架 因为使用C/S框架设计程序,因此有固定的设计步骤: 1.项目包的设计:
图2 client包:主要由客户端操作界面类和客户端业务类组成,客户端操作类也就是客户端main方法类,主要负责引导用户操作,提供系统界面信息提示操作,包括:初始化登录视图、商品库存管理视图和收银管理视图;客户端业务类主要包括处理客户端请求并将客户端请求打包发送给服务器的方法和一些辅助操作方法。处理库存管理员请求方法为:商品入库、商品出库、新增商品、查询全部商品和按编号查询商品;处理收银员请求方法为:扫描商品、修改购买数量商品和结账。
entity包:主要由系统所涉及的实体类组成,根据操作视图可以确定为用户类和商品类。
图3 用户信息
图4 商品信息
server包:主要由服务器主流程类(线程类)和服务器(数据处理)业务类组成,服务器主流程类也即main方法类,主要负责接收客户端请求,并根据请求标志信息分配相应操作,最后再将处理数据发送给客户端;服务器数据处理业务类主要由处理客户端请求的方法和商品信息库组成。util包:
util包为实用工具包,主要包括项目中一些工具类,主要包括数据处理类(加密、解密、数据转换、特殊文件操作和数据打包)和常量类。
本项目主要包括数据打包类、常量类和proprties文件操作类。sys.properties文件:
Properties文件是一个文本文件;properties文件的语法有两种,一种是注释,一种是属性配置;注释:前面加上#号;属性配置:以“键=值”的方式书写一个属性的配置信息。
Properties类本身表示了对一种Map结构的操作,properties文件本身就表示一个“键值对”的集合,因此,Properties类属于集合容器的家族,在使用前应该创建一个Properties的容器,实际上就是创建一个默认不带参数的Properties对象,通过别的方式给里面添加“键值对”。
sys.properties在本项目的作用主要用来配置服务器信息:主机名和端口号。
2、项目设计知识点
本项目主要设计关键知识点:类和对象,封装,继承,异常,集合和泛型,输入/输出,多线程和网络编程。
3、代码编写思路 1)创建项目
2)创建Java包:客户端包,服务器包,实体包,实用工具包。3)创建配置文件:.properties文件或.xml文件。4)创建各Java包中的类文件:
客户端包:客户端操作界面类和客户端业务类;
服务器包:服务器主流程类(线程类)和服务器业务类(数据处理); 实体包:根据具体项目情况创建; 实用工具包: 数据包类:主要储存客户端和服务器之间交互的关键数据,包括实体对象和逻辑判断标志等; 常量类:客户端和服务器之间需要共同使用的状态常量,一般为业务操作标识符和系统信息常量(正确、错误状态常量,配置信息常量)。 工具类:一般为配置文件的操作类。
5)编写个项目文件(由简入繁:单个功能实现到全部功能拓展)。6)项目调试。
三、具体代码分析
1.sys.properties文件编写
该文件主要用户配置socket套接字属性:主机名和端口号,在此配置信息为:
图5 sys信息
2.实体类编写
根据entity包分析可知:Goods类和Users类。Goods类:
图6 Goods类
Users类:
图7 Users类
注:因为涉及到socket编程,因此两实体类均需要序列化。3.实用工具包类编写
1)数据包类(Datas类): 因为该项目为超市收银系统,根据项目效果图可知,主要设计对象为:商品对象(goods),用户对象(user);为便于商品信息操作,创建商品集合,又因为牵扯到库存管理和收银两个类,进而创建库存商品集合和 购买商品集合;又因为牵扯到客户端和服务器端业务请求操作,因此创建业务操作标识变量:flag。具体内容如下:
图8 Datas类
图9 库存商品集合应用需求
图10 购买商品集合应用需求
注:因为涉及到socket编程,Datas类需要序列化。2)工具类(Tools类文件): Tools文件主要用于操作sys.properties文件,对sys.properties文件操作之前,首先需要加载源文件(鉴于加载操作特殊性(提前操作),使用static块来封装),然后才能读取sys.properties文件中键对应的值。
该类主要是用于读取socket参数信息(host,port)。
图11 Propertis方法:void load(InputStream inStream)从输入流中读取属性列表(键和元素对)。
ClassLoader类:类加载器是负责加载类的对象。
InputStream getResourceAsStream(String name):返回读取指定资源的输入流。3)常量类: 由代码编写思路分析可知:常量类列表主要由以下几个部门组成:系统配置常量,系统信息反馈常量,系统操作常量,管理员操作常量,收银员操作常量。
图12 常量列表
注:具体常量参数可以在具体编程中增加或删减。4.客户端类编写
1)客户端操作界面类:
客户端操作界面类主要完成如下工作:(1)用户登录(2)用户操作
用户登录有两个选项:管理员和收银员;用户操作也分别按照管理员和收银员来展开。
图13 管理员登录成功视图
图14 收银员登录成功视图
鉴于登录操作只有两个选项,采用if-else编写较为快捷。具体代码截图如下:
图15登录操作代码
管理员操作和业务员操作选择较多,因此采用switch来实现较为合适,具体代码截图如下:
图16 管理员操作代码
图17 收银员操作代码 main()方法:原则上main()越简单越好,具体代码截图如下:
图18 main()方法代码
注:代码编写按如上模块来进行编写(登录方法,管理员操作方法,收银员方法),具体方法的实现依靠客户端业务类,本类中主要负责视图的引导和显示,可以分模块来进行编写和调试,遵循由简入繁原则。2)客户端业务类:
客户端类的方法编写主要为满足客户端操作界面类的需求且需要实现与服务器端的信息交互(通过socket编程实现),因此具体代码包括登录信息的处理(方法),管理员视图下的业务操作处理(方法),收银员视图下的业务操作处理(方法),以及业务操作过程需要的逻辑操作方法的编写。具体代码截图如下:
图19 客户端业务方法
因为需要使用socket编程来实现客户端与服务器的数据通信,因此需要socket的初始化和socket的关闭操作。具体代码如下:
图20 socket的初始化和关闭操作
注:客户端业务类的调试应该在服务器类的框架搭好之后进行(可以完成基本的通信应答操作)。
客户端编程关键点:
客户端发送数据编写原则,通过Datas类中的属性参数作为载体,即对客户信息,商品信息和业务操作常量标识符进行数据打包,统统将需要发送的关键信息封装到Datas对象内,然后将这个对象发送给服务器,具体代码截图如下:
图21 商品入库关键信息Datas打包发送代码 同时读取服务器端返回的Datas数据,提取需要的信息进行处理和判断,其中包括状态常量信息(success或error),具体代码截图如下:
图22 读取服务器返回数据并处理
5.服务器类编写 1)服务器主流程类:
服务器主流程类也即线程类,本线程类采用继承Thread父类来实现。
run()方法主要负责读取客户端发送过来的数据,提取业务操作常量标识,然后分别进行相应的操作,具体的数据处理依靠服务器业务类来实现,然后在将处理好的数据打包(Datas)发送给客户端,具体代码截图如下:
图23 读取客户端数据并进行相应的操作代码
图24 将处理好的数据打包发送给客户端操作代码
2)服务器业务类:
服务器业务类主要包括两部分:基础数据:用户信息(管理员和收银员的账号、密码-ROM型),库存商品信息(ROM型),购买商品信息(RAM型);处理客户端请求的数据处理方法。基础数据以后可用数据库来保存处理。
ROM型数据初始化采用static块实现,一次执行,最先执行。具体代码截图如下:
图25 系统基础数据代码
数据处理方法均为有参数方法,因为要将处理信息发送给客户端,具体返回数据类型依据具体业务操作来定。具体代码截图如下:
图26 服务器业务处理方法代码
注:客户端与服务器联调时,可以先把客户端和服务器的基本框架搭好,调试好基本功能后再做后续的代码扩展和调试。
问题点收集:
第三篇:超市收银系统培训学习容
易用通管理软件V9网络版学习内容
一、商品档案建立
1、普通商品(货商)
2.多包装条码商品
3.无条码商品
4.散称商品(生鲜果蔬食品、计数商品、不定量商品、不定价商品)
5.一码多品、一品多码
6.物价签 条码打印 7.电子称下发
8.商品调价
二、商品库存管理
1.商品出入库(入库验收单、采购退货单)2.购销结算、联营结算
3.库存查询
4.盘点
5.报损
三、批发销售
1.客户建档
2.开销售单
退货开单
3.客户结算
四、前台收银
1.班次流程
2.功能操作
3.硬件维护
五、账目报表查看
1.采购报表
2.销售(零售 批发)
3.库存进销存
4.财务结算表
六、活动促销设置
1.特价
2.买一送一
3.打包
七、会员管理
1.会员建档
2.会员维护
3.会员报表
八、收银系统硬件使用及注意事项
1.电子称的使用 及 装纸 2.条码机的使用 及 装纸 3.收款机的连接 及 装纸 4.报表 单子打印
九、员工权限分配(前台后台)
第四篇:超市收银系统(流程图 摘要 任务
超市收银系统(流程图+摘要+任务书+开题报告+ER图+源程序)
1.1课题背景及目的随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。随着经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。为了管理大量的超市商品,超市智能化的实现,超市的管理问题也就提上了日程。随着超市商品的大量增加,其管理难度也越来越大,如何优化超市的日常管理也就成为了一个大众化的课题。功能简洁、实用,价格平实:根据客户功能需要的不同,制定相应的版本、相应的价格,让客户最实惠、钱花到实处。
目前,许多连锁超市企业将总部信息系统与连锁超市配送中心信息系统合二为一,即以连锁超市配送中心信息系统为中心与各分店信息系统合起来形成连锁超市企业的信息系统。总体构成及功能如下:系统的逻辑结构从横向分为营销中心、人员管理中心、库存管理中心和会员管理中心四大模块,他们之间既紧密联系,也可相对独立运作,自成一体。从纵向看,每个模块又可分为三个层次,即数据管理层、业务处理层和决策分析层。数据管理层有效保存业务有关的所有原始数据,并对这些数据进行有效的分类管理。业务处理层主要支持日常业务,解决遇到的日常业务问题。其主要功能为数据采集、查询、统计及对数据的适当处理,并对业务过程监控优化。决策分析层主要为业务部门提供决策分析的支持,帮助建立计划机制及控制机制,辅助业务部门进行决策。
收银管理系统是小型超市商品销售及货物管理的主要控制部分,直接影响销售的方便性及管理的规范性。随着信息时代的发展,对效率的要求日益提高,因而软件控制销售和管理已经取代了传统全手工方式。小型超市具有自身的特点:商品要求一般齐全,进出货关系较为简单,员工人数种类不多;在软件角度看,数据较少,对存储和速度要求不高。但正由于员工较少,使用软件控制成为必须。
本系统针对商品销售管理的业务范围及工作特点,设计了基于智能客户端架构的超市收银系统,可以全面实现对商品销售、付款、收款和库存等业务的计算机管理,大大减轻了超市收银工作人员的工作量,全面提高了超市收银管理的管理效率以及服务质量,使管理水平和业务水平跃上了一个新的台阶。
1.2超市收银系统及其研究现状
超市收银系统在现代社会己深入到各大中小型超市中,由于计算机技术的迅速发展和普及,超市收银系统已经为超市进行管理商品的进出,已经精确的销售做出了良好的贡献。自20世纪80年代以来,超市收银系统应用日益普及,各超市为了提高经营的效益,都在酝酿、设计或着手建立自己的收银系统。收银系统是一个将商场商品和经营中的各种内、外部信息进行收集、加工、整理、传递,并有序地存储,以用于管理和决策,使销售更方便快捷的系统。它以应用于销售为目的,并以信息技术为手段达到其目的。收银系统是一个不断发展的新理念,其运用随着计算机技术和网络技术的进步也在不断更新。在现阶段普遍认为收银系统是由人和计算机设备或其他信息处理手段组成并用于销售处理的系统。收银系统的对象是商品销售信息,信息是经过加工的数据,信息是对决策者有价值的数据。信息的主要特征是来源分散,数量庞大。信息来源于销售第一线,来源于销售市场,信息具有时间性。系统是由相互联系、相互作用的若干要素按一定的法则组成并具有一定功能的整体。在现代社会,收银系统已和计算机设备不可分离。收银系统包括计算机、网络通讯设备等硬件成份,包括操作系统、应用软件包等软件成份。并随着计算机技术和通讯技术的迅速发展还会出现更多的内容。
1.3论文构成及研究内容
本论文主要由绪论,超市收银系统主要技术的概述,超市收银系统的分析和设计,超市收银系统的实现,超市收银系统的关键技术研究以及结束语等构成。
主要包含课题的背景和意义,超市收银系统的现状,智能客户端技术的学习,以及对这些基础技术的应用等方面。
第一章是绪论,包括了本设计的研究现状和背景及研究意义等。
第二章是系统的主要技术概述,包括智能客户端技术和Click Once技术以及.Net Framework的概要。还对本设计的架构进行了简要介绍。
第三章是系统的分析和设计,对系统进行了总体的结构设计并展示了系统的逻辑设计模型。同时对系统的功能设计和数据库设计以及安全性和可靠性设计进行了简单描述。
第四章是系统的实现部分,包括了运用VS2008和SQL2005来开发的超市收银系统。详细的描述了系统实现的各个模块并作出了各个模块的实现流程图和模块界面截图。
第五章是系统关键技术研究,本课题主要研究了离线应用技术和系统的数据安全问题。
上一页[1] [2] [3] [4] [5] [6] [7] [8] [9] [10]...下一页>>
欢迎使用站内搜索
超市收银系统(流程图+摘要+任务书+开题报告+ER图+源程序)下载如图片无法显示或论文不完整,请进
上一篇文章: 竞聘失败严重心理问题的咨询案例报告
下一篇文章: 五层办公楼设计(说明书+施工组织设计+结构图+英文文献翻译)
第五篇:超市收银流程
超市收银工作流程
营业前
1、按规定时间提前打卡,整理仪容仪表。
2、到指定地点领取备用金,清点无误后放入收银钱箱。
3、当班课长组织召开班前会,总结前一天问题,布置当天工作。
4、正确开机,并检查机器的运行情况,如有异常及时上报。
5、了解当日门店促销活动。
6、清理收银台面卫生,整理收银必备物品。
7、整理收银台前商品排面、卫生、价签、检查是否有缺货,缺货报收银课长。
8、准备迎宾:面带微笑,正确站姿,右手压在左手上。
营业中
1、顾客临近收银台时应面带微笑主动向顾客问好
2、询问顾客是否有会员卡,扫描入机前先对顾客购买商品进行分类,然后逐一入机。
3、商品输入时,要求正确、规范扫描,核对商品与电脑显示的品名、规格、价格是否一致。
4、读不出条码的商品用手工输入,商品条码相同的商品才可以数量相乘。
5、能打开的商品包装,必须打开包装检查,并将实物与电脑显示的规格、品名认真核对;
6、当电脑显示的商品与实物不符时:
(1)柜台打错或者打错商品名称,先向顾客致歉及时请相关人员重新打称,将问题商品报给收银组长或课长统计;(2)标价与电脑显示价不符,应按低价卖给顾客;
(3)商品的品名、规格、条码,不符时,应委婉地向顾客解释并及时的通知相关营业员进行更换;
(4)顾客私自更换条码,一旦发现立即报店长处理;
7、所有商品输入电脑后,应快速准确地为顾客报出所付金额,并询问顾客是否还有其它商品,以及用什么方式结算.6、购物券、通用券付款,选择购物券或通用券结算。
7、微信支付宝支付入银行卡,顾客手机调出付款条码,银联机输入金额后扫码支付。
8、银联POS含两位小数点,在输入金额时应看清小数点位置,收银员核对卡号无误后输入刷卡金额,请顾客核对金额输入密码。银联刷卡成功:
正常出票,收银员再次核对金额,将第一联交由顾客签字确认后留存根,第二联交给顾客。银联刷卡失败:
(1)检查银联机是否签到,未签到的会提示签到。
(2)刷卡超时,原因是信号不稳,会提示刷卡失败或顾客收到扣款信息,但未出小票时,顾客稍候会收到冲正提醒,此笔交易不成功
9、储值卡结算:
刷卡、核对卡号与屏幕上的卡号是否一致,先向顾客报出卡上的余额(首先查询),消费后报出卡上的余额。
10、现金结算时应唱收唱付。
11、检查车底篮底是否有未结算的商品,询问顾客是否还有其它商品。
12、结算完毕后双手将购物小票和找回的零钞交给顾客,门店有活动时告知顾客活动。
13、随时收孤儿商品,打扫收银台周围卫生,整理收银台周围商品和收银台前的购物车篮。
14、下午班人员应提前十分钟到财务室清点备用金并召开班前会议。
15、上午班人员应在对班整理好仪容仪表后两人交接班,交接班时应在1分钟内完成,不允许放暂停牌,对班未到岗时任何人员不可提前离岗。
营业后
1、送宾曲结束后,等最后一位顾客结算完方可下班;
2、收取孤儿商品放在指定位置,重启收银机再关机,清理收银台杂物,卡券,检查电源是否关闭,罩上收银机防尘罩。(不可直接关闭收银机电源)
3、收银员按交款路线离开卖场到财务室交营业款,组长清点完营业款后再离开。
4、银联票、购物券需另写一张缴款单同现金缴款单一起交回财务室。
5、收银员缴款单填写要求字迹工整、清晰,不允许涂改。
6、按公司规定留存备金。留备用金原则:尽量不留整张一百,五十块的尽量不超过四张。
2017-02-16