基于电脑及其配件的进销存管理系统模块开发卷宗V10.docx
《基于电脑及其配件的进销存管理系统模块开发卷宗V10.docx》由会员分享,可在线阅读,更多相关《基于电脑及其配件的进销存管理系统模块开发卷宗V10.docx(99页珍藏版)》请在冰豆网上搜索。
基于电脑及其配件的进销存管理系统模块开发卷宗V10
案卷号
1
日期
2012年6月1日
基于电脑及其配件的进销存管理系统
模块开发卷宗
题目基于电脑及其配件的进销存管理系统
专业班级09软件工程
(1)班第一组
组员莫敏智、黄健帮、梁伟杰、黄培华、缪志发、蓝柳明
指导教师白晨明
编写人黄健帮
版本V1.0
修改情况记录:
版本号
修改批准人
修改人
安装日期
签收人
V0.1
莫敏智
黄健帮
2012年5月15日
莫敏智
V0.2
莫敏智
黄健帮
2012年5月20日
莫敏智
V1.0
莫敏智
黄健帮
2012年6月1日
莫敏智
一、基础信息管理模块
1标题
软件系统名称和标识符:
基于电脑及其配件的进销存管理系统
模块名称和标示符:
基本信息管理模块
程序员编制签名:
黄健帮
卷宗的修改文本序号:
无
修改完成日期:
2012-6-1
卷宗序号:
1
编排日期:
2012-5-30
2模块开发情况表
模块标识符
BIM
模块的描述性名称
基础信息管理
代码设计
计划开始日期
2011-12-18
实际开始日期
2011-12-20
计划完成日期
2012-01-03
实际完成日期
2012-01-05
模块测试
计划开始日期
2012-01-03
实际开始日期
2012-01-06
计划完成日期
2012-01-04
实际完成日期
2012-01-07
组装测试
计划开始日期
2012-01-06
实际开始日期
2012-01-08
计划完成日期
2012-01-07
实际完成日期
2012-01-10
代码复查日期/签字
2012-01-11
黄健帮
源代码行数
预计
1300
实际
1353
模块标识符
BIM
项目负责人批准日期/签字
2012-01-13
莫敏智
3功能说明
(1)客户信息管理:
可以添加、修改和删除客户全称、客户地址、客户简称、邮政编码、电话、传真、联系人、联系电话、E-Mail、开户银行和银行帐号等信息;
(2)商品信息管理:
可以添加、修改和删除商品名称、简称、产地、单位、规格、包装、批号、供应商全称、备注等信息;
(3)供应商信息管理:
可以添加、修改和删除供应商全称、简称、邮政编码、地址、电话、传真、联系人、联系人电话、开户银行、电子信箱等信息;
4设计说明
a.本模块属于系统模块层次中第一层,由进货管理、销售管理、查询统计、库存管理调用;
b.本模块的处理流程为:
管理可以添加、修改和删除客户信息、商品信息和供应商信息,添加各类信息时系统自动和数据库作比对,已存在的信息将不能重复保存,减少冗余。
5源代码清单
(1)客户信息管理代码:
KeHuTianJiaPanel.java
packageinternalFrame.keHuGuanLi;
importjava.awt.GridBagConstraints;
importjava.awt.GridBagLayout;
importjava.awt.Insets;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjavax.swing.JButton;
importjavax.swing.JComponent;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swing.JTextField;
importkeyListener.InputKeyListener;
importmodel.TbKhinfo;
importcom.lzw.dao.Dao;
publicclassKeHuTianJiaPanelextendsJPanel{
privateJTextFieldkeHuQuanCheng;
privateJTextFieldyinHangZhangHao;
privateJTextFieldkaiHuYinHang;
privateJTextFieldEMail;
privateJTextFieldlianXiDianHua;
privateJTextFieldlianXiRen;
privateJTextFieldchuanZhen;
privateJTextFielddianHua;
privateJTextFieldyouZhengBianMa;
privateJTextFielddiZhi;
privateJTextFieldkeHuJianCheng;
privateJButtonresetButton;
publicKeHuTianJiaPanel(){
super();
setBounds(10,10,460,300);
setLayout(newGridBagLayout());
setVisible(true);
finalJLabelkhName=newJLabel();
khName.setText("客户全称:
");
setupComponet(khName,0,0,1,0,false);
keHuQuanCheng=newJTextField();
//定位全称文本框
setupComponet(keHuQuanCheng,1,0,3,350,true);
finalJLabeladdressLabel=newJLabel("客户地址:
");
setupComponet(addressLabel,0,1,1,0,false);
diZhi=newJTextField();
//定位地址文本框
setupComponet(diZhi,1,1,3,0,true);
finalJLabeljc=newJLabel();
jc.setText("客户简称:
");
setupComponet(jc,0,2,1,0,false);
keHuJianCheng=newJTextField();
//定位客户简称文本框
setupComponet(keHuJianCheng,1,2,1,100,true);
setupComponet(newJLabel("邮政编码:
"),2,2,1,0,false);
youZhengBianMa=newJTextField();
//定位邮政编码文本框
setupComponet(youZhengBianMa,3,2,1,100,true);
youZhengBianMa.addKeyListener(newInputKeyListener());
setupComponet(newJLabel("电话:
"),0,3,1,0,false);
dianHua=newJTextField();
//定位电话文本框
setupComponet(dianHua,1,3,1,100,true);
dianHua.addKeyListener(newInputKeyListener());
setupComponet(newJLabel("传真:
"),2,3,1,0,false);
chuanZhen=newJTextField();
//定位传真文本框
chuanZhen.addKeyListener(newInputKeyListener());
setupComponet(chuanZhen,3,3,1,100,true);
setupComponet(newJLabel("联系人:
"),0,4,1,0,false);
lianXiRen=newJTextField();
//定位联系人文本框
setupComponet(lianXiRen,1,4,1,100,true);
setupComponet(newJLabel("联系电话:
"),2,4,1,0,false);
lianXiDianHua=newJTextField();
//定位联系电话文本框
setupComponet(lianXiDianHua,3,4,1,100,true);
lianXiDianHua.addKeyListener(newInputKeyListener());
setupComponet(newJLabel("E-Mail:
"),0,5,1,0,false);
EMail=newJTextField();
//定位E-Mail文本框
setupComponet(EMail,1,5,3,350,true);
setupComponet(newJLabel("开户银行:
"),0,6,1,0,false);
kaiHuYinHang=newJTextField();
//定位开户银行文本框
setupComponet(kaiHuYinHang,1,6,1,100,true);
setupComponet(newJLabel("银行账号:
"),2,6,1,0,false);
yinHangZhangHao=newJTextField();
//定位银行账号文本框
setupComponet(yinHangZhangHao,3,6,1,100,true);
finalJButtonsaveButton=newJButton("保存");
//定位保存按钮
setupComponet(saveButton,1,7,1,0,false);
saveButton.addActionListener(newSaveButtonActionListener());
resetButton=newJButton("重置");
//定位重置按钮
setupComponet(resetButton,3,7,1,0,false);
resetButton.addActionListener(newChongZheButtonActionListener());
}
//设置组件位置并添加到容器中
privatevoidsetupComponet(JComponentcomponent,intgridx,intgridy,
intgridwidth,intipadx,booleanfill){
finalGridBagConstraintsgridBagConstrains=newGridBagConstraints();
gridBagConstrains.gridx=gridx;
gridBagConstrains.gridy=gridy;
gridBagConstrains.insets=newInsets(5,1,3,1);
if(gridwidth>1)
gridBagConstrains.gridwidth=gridwidth;
if(ipadx>0)
gridBagConstrains.ipadx=ipadx;
if(fill)
gridBagConstrains.fill=GridBagConstraints.HORIZONTAL;
add(component,gridBagConstrains);
}
//保存按钮的事件监听类
privatefinalclassSaveButtonActionListenerimplementsActionListener{
publicvoidactionPerformed(finalActionEvente){
if(diZhi.getText().equals("")
||youZhengBianMa.getText().equals("")
||chuanZhen.getText().equals("")
||yinHangZhangHao.getText().equals("")
||keHuJianCheng.getText().equals("")
||keHuQuanCheng.getText().equals("")
||lianXiRen.getText().equals("")
||lianXiDianHua.getText().equals("")
||EMail.getText().equals("")
||dianHua.getText().equals("")
||kaiHuYinHang.getText().equals("")){
JOptionPane.showMessageDialog(null,"请填写全部信息");
return;
}
ResultSethaveUser=Dao
.query("select*fromtb_khinfowherekhname='"
+keHuQuanCheng.getText().trim()+"'");
try{
if(haveUser.next()){
System.out.println("error");
JOptionPane.showMessageDialog(KeHuTianJiaPanel.this,
"客户信息添加失败,存在同名客户","客户添加信息",
JOptionPane.INFORMATION_MESSAGE);
return;
}
}catch(Exceptioner){
er.printStackTrace();
}
ResultSetset=Dao.query("selectmax(id)fromtb_khinfo");
Stringid=null;
try{
if(set!
=null&&set.next()){
Stringsid=set.getString
(1);
if(sid==null)
id="kh1001";
else{
Stringstr=sid.substring
(2);
id="kh"+(Integer.parseInt(str)+1);
}
}
}catch(SQLExceptione1){
e1.printStackTrace();
}
TbKhinfokhinfo=newTbKhinfo();
khinfo.setId(id);
khinfo.setAddress(diZhi.getText().trim());
khinfo.setBianma(youZhengBianMa.getText().trim());
khinfo.setFax(chuanZhen.getText().trim());
khinfo.setHao(yinHangZhangHao.getText().trim());
khinfo.setJian(keHuJianCheng.getText().trim());
khinfo.setKhname(keHuQuanCheng.getText().trim());
khinfo.setLian(lianXiRen.getText().trim());
khinfo.setLtel(lianXiDianHua.getText().trim());
khinfo.setMail(EMail.getText().trim());
khinfo.setTel(dianHua.getText().trim());
khinfo.setXinhang(kaiHuYinHang.getText());
Dao.addKeHu(khinfo);
JOptionPane.showMessageDialog(KeHuTianJiaPanel.this,"已成功添加客户",
"客户添加信息",JOptionPane.INFORMATION_MESSAGE);
resetButton.doClick();
}
}
//重置按钮的事件监听类
privateclassChongZheButtonActionListenerimplementsActionListener{
publicvoidactionPerformed(finalActionEvente){
keHuQuanCheng.setText("");
yinHangZhangHao.setText("");
kaiHuYinHang.setText("");
EMail.setText("");
lianXiDianHua.setText("");
lianXiRen.setText("");
chuanZhen.setText("");
dianHua.setText("");
youZhengBianMa.setText("");
diZhi.setText("");
keHuJianCheng.setText("");
}
}
}
KeHuXiuGaiPanel.java
packageinternalFrame.keHuGuanLi;
importinternalFrame.guanli.Item;
importjava.awt.Dimension;
importjava.awt.GridBagConstraints;
importjava.awt.GridBagLayout;
importjava.awt.Insets;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.util.ArrayList;
importjava.util.Iterator;
importjava.util.List;
importjavax.swing.JButton;
importjavax.swing.JComboBox;
importjavax.swing.JComponent;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swing.JTextField;
importkeyListener.InputKeyListener;
importmodel.TbKhinfo;
importcom.lzw.dao.Dao;
publicclassKeHuXiuGaiPanelextendsJPanel{
privateJTextFieldkeHuQuanCheng;
privateJTextFieldyinHangZhangHao;
privateJTextFieldkaiHuYinHang;
privateJTextFieldEMail;
privateJTextFieldlianXiDianHua;
privateJTextFieldlianXiRen;
privateJTextFieldchuanZhen;
privateJTextFielddianHua;
privateJTextFieldyouZhengBianMa;
privateJTextFielddiZhi;
privateJTextFieldkeHuJianCheng;
privateJButtonmodifyButton;
privateJButtondelButton;
privateJComboBoxkehu;
publicKeHuXiuGaiPanel(){
setBounds(10,10,460,300);
setLayout(newGridBagLayout());
setVisible(true);
finalJLabelkhName=newJLabel();
khName.setText("客户全称:
");
setupComponet(khName,0,0,1,0,false);
keHuQuanCheng=newJTextField();
keHuQuanCheng.setEditable(false);
//定位全称文本框
setupComponet(keHuQuanCheng,1,0,3,350,true);
finalJLabeladdressLabel=newJLabel("客户地址:
");
setupComponet(addressLabel,0,1,1,0,false);
diZhi=newJTextField();
//定位地址文本框
setupComponet(diZhi,1,1,3,0,true);
setupComponet(new