系统模块开发卷宗Word格式文档下载.docx
《系统模块开发卷宗Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《系统模块开发卷宗Word格式文档下载.docx(42页珍藏版)》请在冰豆网上搜索。
2012-12-8
源代码行数
预计
1300
实际
1353
项目负责人批准日期/签字
201-12-9
3功能说明
3.1程序描述
超市管理系统下的一个子系统,记录售货员今日处理的商品信息和会员的购买情况,处理销售过程中的商品信息并作记录。
3.2功能
包括售货员登陆和会员登陆,以及售货员的售货处理、结账处理。
3.3性能
时间特殊性:
系统的速度要在用户可接受的范围内。
可靠性:
系统要有较高的可靠性,可恢复性。
灵活性:
系统要有良好的接口。
3.4输入项
售货员账号密码:
售货员登陆
会员账号:
会员登陆
条形码:
验证商品信息
数量:
计算金额
3.5输出项
售货员信息:
确保售货员符合资格
会员信息:
确保会员符合资格
金额:
结账时的商品总额
4设计说明
4.1算法
start
input售货员信息
examine售货员信息
input会员信息
examine会员信息
if(结账)
inputi=0
dowhile(i<
商品数量)
input条形码
if(条形码无效)
i=i
break
endif
print商品信息
i=i+1
enddo
print金额
endif
end
4.2流程逻辑
4.3接口
商品条形码输入界面,会员信息输入界面。
调用数据库查询接口。
4.4存储分配
顺序存储
5原代码清单
销售管理系统:
(1)收银台
<
%@pagelanguage="
java"
import="
java.util.*,com.supermarket.entity.*,com.supermarket.dao.*,java.text.*"
pageEncoding="
GBK"
%>
html>
head>
title>
销售收银系统
/title>
scripttype="
text/javascript"
>
functionshowtime(){
vartimerID=null;
varnow=newDate();
varyear=now.getFullYear();
//当前的年
varmonth=now.getMonth()+1;
//当前的月
vardate=now.getDate();
//当前的号
varhours=now.getHours();
varminutes=now.getMinutes();
varseconds=now.getSeconds();
varday=now.getDay();
//得到的是星期
vardays=newArray(7);
days[0]="
星期日"
;
days[1]="
星期一"
days[2]="
星期二"
days[3]="
星期三"
days[4]="
星期四"
days[5]="
星期五"
days[6]="
星期六"
vartimeValue="
"
timeValue+=year+"
年"
timeValue+=((month<
10)?
0"
:
)+month+"
月"
timeValue+=date+"
日"
timeValue+=(days[day])+"
"
timeValue+=hours+"
//这样的话是24小时((hours<
=12)?
hours:
hours-12);
timeValue+=((minutes<
)+minutes;
timeValue+=((seconds<
)+seconds;
document.jsfrm.face.value=timeValue;
timerID=setTimeout("
showtime()"
1000);
varp=document.getElementByIdx_x_x("
p"
);
p.innerHTML=timeValue;
}
functioncancel(){
alert("
确定取消此次交易?
location="
sale_initial.jsp"
<
/script>
%
Empemp=(Emp)session.getAttribute("
emp"
StringSaleID;
if(session.getAttribute("
SaleID"
)==null){
Calendarca=Calendar.getInstance();
intyear=ca.get(Calendar.YEAR);
//获取年份
intmonth=ca.get(Calendar.MONTH)+1;
//获取月份
intday=ca.get(Calendar.DATE);
//获取日
intminute=ca.get(Calendar.MINUTE);
//分
inthour=ca.get(Calendar.HOUR_OF_DAY);
//小时
intsecond=ca.get(Calendar.SECOND);
//秒
SaleID=year+"
+month+"
+day+"
+hour+"
+minute+"
+second+"
+emp.getEmpID();
}else{
SaleID=session.getAttribute("
).toString();
//获取应收价款
floatpay=0;
slist"
pay=0;
List<
Sale>
slist=newArrayList<
();
slist=(List<
)session.getAttribute("
for(inti=0;
i<
slist.size();
i++){
pay+=slist.get(i).getSum();
}
DecimalFormatdf=newDecimalFormat("
#0.00"
//保留两位小数
Stringstr_pay=df.format(pay);
//找零功能
floatzl=0;
Stringstr_zl="
//找零
Stringerr="
floatsh;
Stringstr_sh="
sh"
sh=0;
str_sh=df.format(sh);
sh=Float.parseFloat(session.getAttribute("
).toString());
//System.out.println(sh);
err"
)==null&
&
session.getAttribute("
zl"
)!
=null){
//System.out.println("
ssssssss"
zl=Float.parseFloat(session.getAttribute("
str_zl=df.format(zl);
}elseif(session.getAttribute("
zl=0;
err=session.getAttribute("
}
//删除异常
Stringdelerr="
delerr"
delerr="
delerr=session.getAttribute("
%>
/head>
bodyonload="
tablewidth="
100%"
height="
border="
1"
trheight="
45px"
tdstyle="
font-size:
35px"
colspan="
3"
align="
center"
收银台<
/td>
/tr>
trheight="
formname="
fb"
action="
sale_searchGoods.jsp"
method="
post"
td>
条形码:
inputtype="
text"
name="
barcode"
<
submit"
value="
确认"
td>
销售单号:
inputstyle="
border:
type="
%=SaleID%>
readonlysize="
25"
/form>
tdvalign="
middle"
>
formname='
jsfrm'
style="
margin-top:
10px"
时间:
inputtype=textname='
face'
size=34value='
'
style="
readonly>
<
pid="
/>
tr>
tdcolspan="
valign="
top"
width="
iframewidth="
heigh