软件工程课程设计编码与测试Word文档下载推荐.docx
《软件工程课程设计编码与测试Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计编码与测试Word文档下载推荐.docx(35页珍藏版)》请在冰豆网上搜索。
当用户在未登录的状态下执行任何操作时系统会自动判断是否已经登录,若用户还没有登录则显示登录界面,让用户进行登录。
若登录的帐号不存在则表示该用户还不是员工,故需要用户重新申请新的用户,新用户的类型为普通员工,当普通用户已经通过管理员审核,并且分配了相关的权限后就可以登录系统。
若用户是管理员则该用户可以对普通用户进行相关的修改和删除,而且还可以修改、查询、删除库存表及商品出入库表中的相关信息。
若用户是普通员工则只能进行商品的出入库及查询。
1.1.1登录界面设计
用户通过输入登录的账号和密码及类型系统进行验证
1.1.2商品出入库界面设计
1.1.3库存界面设计
1.2编码
1.2.1登录界面(主要代码)
publicbooleanisExistsEmply(Stringid){
booleanflags=false;
try
{
intcount=0;
Stringsql1="
select员工号fromUserswhere员工号=?
"
;
PreparedStatementps=conn.prepareStatement(sql1);
ps.setString(1,(String)id);
ResultSetresult=ps.executeQuery();
while(result.next())
{
count=result.getRow();
}
result.close();
ps.close();
if(count>
0)
this.UID=id;
flags=true;
getInfo(id);
returnflags;
else
error.errorDialog((String)id);
}
catch(Exceptione)
e.printStackTrace();
returnflags;
}
//根据‘工号’分别获取对应的的信息
publicvoidgetInfo(Stringuid){
Stringsql2="
select员工姓名,密码,员工类型,是否员工fromUserswhere员工号=?
PreparedStatementpps=conn.prepareStatement(sql2);
pps.setString(1,uid);
ResultSetresult=pps.executeQuery();
name=result.getString
(1).toString().trim();
password=result.getString
(2).trim();
employtype=result.getString(3).toString().trim();
emplooy=result.getString(4).toString().trim();
pps.close();
//对登录的'
工号'
进行密码验证
publicbooleanlogin(Stringid,Stringpwd,Stringtype){
booleanisEmploy=false;
if(id.equals(UID)&
&
pwd.equals(password)&
type.equals(employtype))
isEmploy=true;
returnisEmploy;
returnisEmploy;
//判断用户是否已经通过管理员的审核
publicbooleanY_NEmply(){
booleanisE=false;
if(this.emplooy.equals("
是"
))
System.out.println("
员工号:
+UID+"
已经通过了审核................."
);
main.showMainFarme();
isE=true;
returnisE;
elseif(this.emplooy.equals("
否"
error.noEmplo0y(UID);
returnisE;
1.2.2出库界面(主要代码)
publicObjectsetSdata2(){
select*fromOutStore"
Statementst=conn.createStatement();
ResultSetresult=st.executeQuery(sql2);
Sdata2=newObject[Row2][Column2];
intn=0;
Sdata2[n][0]=result.getString
(1).toString().trim();
Sdata2[n][1]=result.getString
(2).toString().trim();
Sdata2[n][2]=result.getString(3).toString().trim();
Sdata2[n][3]=result.getString(4).toString().trim();
Sdata2[n][4]=result.getString(5).toString().trim();
Sdata2[n][5]=result.getString(6).toString().trim();
n++;
st.close();
returnSdata2;
returnSdata2;
//先判断库存表中是否存在要出库的商品编号
publicbooleanisExistsGid(Stringgid){
Stringsql3="
selectcount(商品编号)fromStoreManagewhere商品编号=?
PreparedStatementps=conn.prepareStatement(sql3);
ps.setString(1,gid);
count++;
//判断库存表中的库存量是否满足出库的笨条件
publicbooleanlookNumber(Stringgid,intnumber){
intnum=0;
Stringsql4="
select库存量fromStoreManagewhere商品编号=?
PreparedStatementps=conn.prepareStatement(sql4);
num=result.getInt
(1);
if(number<
=num)
else
flags=false;
returnflags;
//商品出库向出库表写入一条数据的出库记录
publicvoidnewStoreOuput(Stringoutgid,Stringoutgname,intoutgnum){
Stringsql5="
insertintoOutStore(商品编号,商品名称,出库数量,出库人,出库时间)values(?
?
getdate())"
PreparedStatementps=conn.prepareStatement(sql5);
ps.setString(1,outgid);
ps.setString(2,outgname);
ps.setInt(3,outgnum);
ps.setString(4,outpeople);
ps.executeQuery();
//这是要修改库存表中的库存量
publicvoidupdateStoreManage(Stringoutgid,intnum){
Stringsql6="
updateStoreManageset库存量=(select库存量fromStoreManagewhere商品编号=?
)-?
where商品编号=?
PreparedStatementps=conn.prepareStatement(sql6);
ps.setString(1,outgid);
ps.setInt(2,num);
ps.setString(3,outgid);
//向出库表模型中添加一条新一出库记录
publicObjectaddOutStoreToTable(Stringoutgid){
Stringsql7="
select*fromOutStorewhere商品编号=?
and出库编号=(selectcount(*)fromOutStore)"
PreparedStatementps=conn.prepareStatement(sql7);
newStoreOfOut[0]=newInteger(result.getInt
(1));
newStoreOfOut[1]=result.getString
(2).toString().trim();
newStoreOfOut[2]=result.getString(3).toString().trim();
newStoreOfOut[3]=newInteger(result.getInt(4));
newStoreOfOut[4]=result.getString(5).toString().trim();
newStoreOfOut[5]=result.getString(6).toString().trim();
returnnewStoreOfOut;
returnnewStoreOfOut;
1.2.3入库界面
publicObjectsetSdata(){
Stringsq2="
select*fromInStore"
ResultSetresult=st.executeQuery(sq2);
Sdata=newObject[Row][Column];
Sdata[n][0]=result.getString
(1).toString().trim();
Sdata[n][1]=result.getString
(2).toString().trim();
Sdata[n][2]=result.getString(3).toString().trim();
Sdata[n][3]=result.getString(4).toString().trim();
Sdata[n][4]=result.getString(5).toString().trim();
Sdata[n][5]=result.getString(6).toString().trim();
returnSdata;
returnSdata;
//向入库表中插入新的数据
publicvoidgoodsInserData(Stringgid,Stringgname,intgnum){
insertintoInStore(商品编号,商品名称,入库数量,入库人,入库时间)values(?
ps.setString(2,gname);
ps.setInt(3,gnum);
ps.setString(4,inpeople);
ps.executeUpdate();
//判断库存表中是否有相同商品编号的商品存在
publicbooleanisExistsGood(Stringgid){
select*fromStoreManagewhere商品编号=?
inti=0;
i++;
if(i>
//如果库存表中存在该商品的商品编号,则调用修改函数
//若库存表中不存在则调用插入函数新插入一条数据
//若库存表中不存在则新建一条信息
publicvoidinsertStoreManage(Stringgid,Stringgname,intgnum){
insertintoStoreManage(商品编号,商品名称,库存量)values(?
)"
//如果存在直接修改原有的数量
//1、先获取原有的库存量
publicintgetStoreNumber(Stringgid){
intnum=0;
select入库数据fromStoreManagewhere商品编号=?
ps.setString(1,gid);
//ps.executeQuery();
returnnum;
returnnum;
//2、再修改库存量
publicvoidupdateStoreManage(intcount,Stringgid){
intNUM=getStoreNumber(gid)+count;
updateStoreManageset库存量=NUMwhere商品编号=?
//ps.setInt(1,count);
//ps.setString(2,gid);
//error!
没有注意到出库表会存在多条相同的记录
//向入库表模型中添加一条入库记录
publicvoidaddStoreOnInStore(Stringgid){
Object[]newRow=newObject[6];
Stringsql8="
select*fromInStorewhere商品编号=?
and入库编号=(selectcount(*)fromInStore)"
PreparedStatementps=conn.prepareStatement(sql8);
ps.setStrin