Java进销存管理.docx

上传人:b****0 文档编号:9433633 上传时间:2023-05-19 格式:DOCX 页数:13 大小:742.01KB
下载 相关 举报
Java进销存管理.docx_第1页
第1页 / 共13页
Java进销存管理.docx_第2页
第2页 / 共13页
Java进销存管理.docx_第3页
第3页 / 共13页
Java进销存管理.docx_第4页
第4页 / 共13页
Java进销存管理.docx_第5页
第5页 / 共13页
Java进销存管理.docx_第6页
第6页 / 共13页
Java进销存管理.docx_第7页
第7页 / 共13页
Java进销存管理.docx_第8页
第8页 / 共13页
Java进销存管理.docx_第9页
第9页 / 共13页
Java进销存管理.docx_第10页
第10页 / 共13页
Java进销存管理.docx_第11页
第11页 / 共13页
Java进销存管理.docx_第12页
第12页 / 共13页
Java进销存管理.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Java进销存管理.docx

《Java进销存管理.docx》由会员分享,可在线阅读,更多相关《Java进销存管理.docx(13页珍藏版)》请在冰点文库上搜索。

Java进销存管理.docx

Java进销存管理

信电学院

课程设计说明书

(2013/2014学年第2学期)

 

课程名称:

JAVA程序设计

题目:

进销存管理软件

专业班级:

学生姓名:

学号:

指导教师:

设计周数:

设计成绩:

2014年7月9日

课程设计说明书——进销存管理软件

1、软件简介

进销存管理软件是为了解决仓库进货、出货混乱,数据量较大问题而设计的一款数据处理软件。

它主要面向仓库管理人员,小型公司。

运用这款软件,可以提高工作效率,减少数据丢失,处理失误。

二、程序框架

程序整体分成两部分,分别是前台Java程序和后台数据库

前台Java程序

JTable

JComboBox

……

后台数据库:

wh_AddGoodsList

wh_SubGoodsList

wh_SortList

wh_GoodsList

wh_LinkmanList

wh_UnitList

数据

SQL语句

1.后台数据库部分

wh_AddGoodsList和wh_SubGoodsList包含如下字段

字段名称

字段类型

约束

默认值

addListId/subListId

int

主键

identity

isDisplay

bit

TRUE

soft

int

外键

goods

int

外键

addTime

datetime

(getdate())

Increment/decrement

int

unit

int

外键

linkman

int

外键

tip

ntext

wh_SortList包含如下字段

字段名称

字段类型

约束

默认值

sortListId

int

主键

identity

isDisplay

bit

TRUE

everySort

nchar(10)

wh_GoodsList

字段名称

字段类型

约束

默认值

goodsListId

int

主键

identity

isDisplay

bit

TRUE

everyGoods

nchar(10)

belongSort

int

外键

wh_LinkmanList

字段名称

字段类型

约束

默认值

linkmanListId

int

主键

identity

isDisplay

bit

TRUE

everyLinkman

nchar(10)

wh_UnitList

字段名称

字段类型

约束

默认值

unitListId

int

主键

identity

isDisplay

bit

TRUE

everyUnit

nchar(10)

SQLSever2005中数据呈现:

2.前台Java程序部分

工程src下包含如下几个包

com.hebeu.warehouse.dao

com.hebeu.warehouse.Lisener

com.hebeu.warehouse.main

com.hebeu.warehouse.model

com.hebeu.warehouse.ui

com.hebeu.warehouse.util

下面对以上几个包及其包含的class一一介绍

com.hebeu.warehouse.dao包中包含一个Dao类,这个类主要负责数据库的管理操作,从数据库中获取数据。

其中有如下方法:

publicstaticvoidexecSQL(Stringsql)

publicstaticVector>getLinkedSubGoodsVector()

publicstaticVector>getLinkedAddGoodsVector()

publicstaticVector>setDateForm(Vector>all)

publicstaticVector>getDisplayVectorFromAll(

Vector>v)

publicstaticVector>getLinkmanVector(){

returngetVector(getResultSet("SELECT*FROMwh_LinkmanList"));

}

publicstaticVector>getUnitVector(){

returngetVector(getResultSet("SELECT*FROMwh_UnitList"));

}

publicstaticVector>getSortVector(){

returngetVector(getResultSet("SELECT*FROMwh_SortList"));

}

publicstaticVector>getGoodsVector(){

returngetVector(getResultSet("SELECT*FROMwh_GoodsList"));

}

publicstaticVector>getAllSubGoodsVector(){

returngetVector(getResultSet("SELECT*FROMwh_SubGoodsList"));

}

publicstaticVector>getAllAddGoodsVector(){

returngetVector(getResultSet("SELECT*FROMwh_AddGoodsList"));

}

publicstaticResultSetgetResultSet(Stringsql)

publicstaticVector>getVector(ResultSetrs)

 

com.hebeu.warehouse.Lisener里包含NumberKeyListener类,主要是用来为了给TextField添加监听事件只能输入数字,代码如下:

publicclassNumberKeyListenerimplementsKeyListener{

@Override

publicvoidkeyTyped(KeyEvente){

//TODOAuto-generatedmethodstub

intkeyChar=e.getKeyChar();

if(keyChar>=KeyEvent.VK_0&&keyChar<=KeyEvent.VK_9){

}

else{

e.consume();

}

}

@Override

publicvoidkeyPressed(KeyEvente){

//TODOAuto-generatedmethodstub

}

@Override

publicvoidkeyReleased(KeyEvente){

//TODOAuto-generatedmethodstub

}

}

com.hebeu.warehouse.main里包含程序的入口类,代码如下:

publicclassWareHouse{

/**

*@paramargs

*/

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

SwingConsole.run(newMainUI(),1050,700);

System.out.println("myjavaprocess");

//注册一个关机钩,当系统被退出或被异常中断时,启动这个关机钩线程

Runtime.getRuntime().addShutdownHook(newThread(){

publicvoidrun(){

//添入你想在退出JVM之前要处理的必要操作代码

try{

Dao.conn.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

System.out.println("数据库链接关闭");

}

});

}

}

com.hebeu.warehouse.model里包含一个记录类,其中的get、set方法不在罗列,代码如下:

publicclassRecord{

privateintid=0;

privateintisDisplay=1;

privateintsort=0;

privateintgoods=0;

privateStringdatetime=null;

privateintincOrSub=0;

privateintunit=0;

privateintlinkman=0;

privateStringtip=null;

@Override

publicStringtoString(){

return"Record[id="+id+",isDisplay="+isDisplay+",sort="

+sort+",goods="+goods+",datetime="+datetime

+",incOrSub="+incOrSub+",unit="+unit+",linkman="

+linkman+",tip="+tip+"]";

}

publicStringtoSQLForAddRecordToAddList(){

return"insertintowh_AddGoodsList(sort,goods,increment,unit,linkman,tips)values("

+"'"

+sort

+"','"

+goods

+"','"

+incOrSub

+"','"

+unit

+"','"+linkman+"','"+tip+"'"+")";

}

publicStringtoSQLForAddRecordToSubList(){

return"insertintowh_SubGoodsList(sort,goods,decrement,unit,linkman,tips)values("

+"'"

+sort

+"','"

+goods

+"','"

+incOrSub

+"','"

+unit

+"','"+linkman+"','"+tip+"'"+")";

}

publicStringtoStringForUpdRecordToAddList(){

return"updatewh_AddGoodsListsetsort="+"'"+sort+"',goods='"

+goods+"',increment='"+incOrSub+"',addTime="

+"(getdate())"+",unit='"+unit+"',linkman='"+linkman

+"',tips='"+tip+"'"+"where"+"addListId='"+id+"'";

}

publicStringtoStringForUpdRecordToSubList(){

return"updatewh_SubGoodsListsetsort="+"'"+sort+"',goods='"

+goods+"',decrement='"+incOrSub+"',subTime="

+"(getdate())"+",unit='"+unit+"',linkman='"+linkman

+"',tips='"+tip+"'"+"where"+"subListId='"+id+"'";

}

}

com.hebeu.warehouse.ui里包含很多界面类,代码较长,详情见源程序

om.hebeu.warehouse.util里包含一个将Table输出到Excel的类,代码如下:

publicclassExcelExporter{

publicstaticvoidexcelConstructor(JTabletable,Filefile)throwsIOException{

TableModelmodel=table.getModel();

FileWriterout=newFileWriter(file);

for(inti=0;i

out.write(model.getColumnName(i)+"\t");

}

out.write("\n");

for(inti=0;i

for(intj=0;j

out.write(model.getValueAt(i,j).toString()+"\t");

}

out.write("\n");

}

out.close();

System.out.println("writeoutto:

"+file);

}

}

3、程序运行情况

进货操作:

后台管理

使用说明:

四、心得总结

这次课程设计做作的程序,是我大学两年来自己完成的工作量最大的程序。

项目界面复杂,逻辑关系繁多,关键是自己完成,从设计,到实现,再到调试,有种午夜孤独者的感觉,不过做完了的那种成就感也是不言而喻的。

这个小程序虽说达不到商品级,但是也让我学到很多,比如说如何从数据库更新一个JTable,再由JTable生成Excel,再比如让一个空间放到一个自己想要的位置,这些都是让我头疼好久,最后解决了的问题。

通过这个程序,我觉得自己在以后的程序设计中要注意下面的几个问题:

1.一定要考虑好自己自己需要什么样的数据库表结构,主体数据是必须的,但是功能字段也是必不可少的,比如这次的isDisplay,这些都是细节,但不可或缺。

2.程序设计一定要先整体后局部,一块一块的来,逻辑复杂的要最后在实现,这样有利于程序模块化

课程设计

评语

课程设计

成绩

指导教师

(签字)

年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2