基于电脑及其配件的进销存管理系统模块开发卷宗V1.0.doc_第1页
基于电脑及其配件的进销存管理系统模块开发卷宗V1.0.doc_第2页
基于电脑及其配件的进销存管理系统模块开发卷宗V1.0.doc_第3页
基于电脑及其配件的进销存管理系统模块开发卷宗V1.0.doc_第4页
基于电脑及其配件的进销存管理系统模块开发卷宗V1.0.doc_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

模块开发卷宗编写规范案卷号1日期2012年6月1日基于电脑及其配件的进销存管理系统模块开发卷宗 题 目 基于电脑及其配件的进销存管理系统 专业班级 09软件工程(1)班第一组 组 员指导教师 编 写 人 版 本v1.0 修改情况记录:版本号修改批准人修改人安装日期签收人v0.12012年5月15日v0.22012年5月20日v1.02012年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.javapackage internalframe.kehuguanli;import java.awt.gridbagconstraints;import java.awt.gridbaglayout;import java.awt.insets;import java.awt.event.actionevent;import java.awt.event.actionlistener;import java.sql.resultset;import java.sql.sqlexception;import javax.swing.jbutton;import javax.swing.jcomponent;import javax.swing.jlabel;import javax.swing.joptionpane;import javax.swing.jpanel;import javax.swing.jtextfield;import keylistener.inputkeylistener;import model.tbkhinfo;import com.lzw.dao.dao;public class kehutianjiapanel extends jpanel private jtextfield kehuquancheng;private jtextfield yinhangzhanghao;private jtextfield kaihuyinhang;private jtextfield email;private jtextfield lianxidianhua;private jtextfield lianxiren;private jtextfield chuanzhen;private jtextfield dianhua;private jtextfield youzhengbianma;private jtextfield dizhi;private jtextfield kehujiancheng;private jbutton resetbutton;public kehutianjiapanel() super();setbounds(10, 10, 460, 300);setlayout(new gridbaglayout();setvisible(true);final jlabel khname = new jlabel();khname.settext(客户全称:);setupcomponet(khname, 0, 0, 1, 0, false);kehuquancheng = new jtextfield();/ 定位全称文本框setupcomponet(kehuquancheng, 1, 0, 3, 350, true);final jlabel addresslabel = new jlabel(客户地址:);setupcomponet(addresslabel, 0, 1, 1, 0, false);dizhi = new jtextfield();/ 定位地址文本框setupcomponet(dizhi, 1, 1, 3, 0, true);final jlabel jc = new jlabel();jc.settext(客户简称:);setupcomponet(jc, 0, 2, 1, 0, false);kehujiancheng = new jtextfield();/ 定位客户简称文本框setupcomponet(kehujiancheng, 1, 2, 1, 100, true);setupcomponet(new jlabel(邮政编码:), 2, 2, 1, 0, false);youzhengbianma = new jtextfield();/ 定位邮政编码文本框setupcomponet(youzhengbianma, 3, 2, 1, 100, true);youzhengbianma.addkeylistener(new inputkeylistener();setupcomponet(new jlabel(电话:), 0, 3, 1, 0, false);dianhua = new jtextfield();/ 定位电话文本框setupcomponet(dianhua, 1, 3, 1, 100, true);dianhua.addkeylistener(new inputkeylistener();setupcomponet(new jlabel(传真:), 2, 3, 1, 0, false);chuanzhen = new jtextfield();/ 定位传真文本框chuanzhen.addkeylistener(new inputkeylistener();setupcomponet(chuanzhen, 3, 3, 1, 100, true);setupcomponet(new jlabel(联系人:), 0, 4, 1, 0, false);lianxiren = new jtextfield();/ 定位联系人文本框setupcomponet(lianxiren, 1, 4, 1, 100, true);setupcomponet(new jlabel(联系电话:), 2, 4, 1, 0, false);lianxidianhua = new jtextfield();/ 定位联系电话文本框setupcomponet(lianxidianhua, 3, 4, 1, 100, true);lianxidianhua.addkeylistener(new inputkeylistener();setupcomponet(new jlabel(e-mail:), 0, 5, 1, 0, false);email = new jtextfield();/ 定位e-mail文本框setupcomponet(email, 1, 5, 3, 350, true);setupcomponet(new jlabel(开户银行:), 0, 6, 1, 0, false);kaihuyinhang = new jtextfield();/ 定位开户银行文本框setupcomponet(kaihuyinhang, 1, 6, 1, 100, true);setupcomponet(new jlabel(银行账号:), 2, 6, 1, 0, false);yinhangzhanghao = new jtextfield();/ 定位银行账号文本框setupcomponet(yinhangzhanghao, 3, 6, 1, 100, true);final jbutton savebutton = new jbutton(保存);/ 定位保存按钮setupcomponet(savebutton, 1, 7, 1, 0, false);savebutton.addactionlistener(new savebuttonactionlistener();resetbutton = new jbutton(重置);/ 定位重置按钮setupcomponet(resetbutton, 3, 7, 1, 0, false);resetbutton.addactionlistener(new chongzhebuttonactionlistener();/ 设置组件位置并添加到容器中private void setupcomponet(jcomponent component, int gridx, int gridy,int gridwidth, int ipadx, boolean fill) final gridbagconstraints gridbagconstrains = new gridbagconstraints();gridbagconstrains.gridx = gridx;gridbagconstrains.gridy = gridy;gridbagconstrains.insets = new insets(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);/ 保存按钮的事件监听类private final class savebuttonactionlistener implements actionlistener public void actionperformed(final actionevent e) 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;resultset haveuser = dao.query(select * from tb_khinfo where khname=+ kehuquancheng.gettext().trim() + );try if (haveuser.next()system.out.println(error);joptionpane.showmessagedialog(kehutianjiapanel.this,客户信息添加失败,存在同名客户, 客户添加信息,joptionpane.information_message);return; catch (exception er) er.printstacktrace();resultset set = dao.query(select max(id) from tb_khinfo);string id = null;try if (set != null & set.next() string sid = set.getstring(1);if (sid = null)id = kh1001;else string str = sid.substring(2);id = kh + (integer.parseint(str) + 1); catch (sqlexception e1) e1.printstacktrace();tbkhinfo khinfo = new tbkhinfo();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();/ 重置按钮的事件监听类private class chongzhebuttonactionlistener implements actionlistener public void actionperformed(final actionevent e) kehuquancheng.settext();yinhangzhanghao.settext();kaihuyinhang.settext();email.settext();lianxidianhua.settext();lianxiren.settext();chuanzhen.settext();dianhua.settext();youzhengbianma.settext();dizhi.settext();kehujiancheng.settext();kehuxiugaipanel.javapackage internalframe.kehuguanli;import internalframe.guanli.item;import java.awt.dimension;import java.awt.gridbagconstraints;import java.awt.gridbaglayout;import java.awt.insets;import java.awt.event.actionevent;import java.awt.event.actionlistener;import java.util.arraylist;import java.util.iterator;import java.util.list;import javax.swing.jbutton;import javax.swing.jcombobox;import javax.swing.jcomponent;import javax.swing.jlabel;import javax.swing.joptionpane;import javax.swing.jpanel;import javax.swing.jtextfield;import keylistener.inputkeylistener;import model.tbkhinfo;import com.lzw.dao.dao;public class kehuxiugaipanel extends jpanel private jtextfield kehuquancheng;private jtextfield yinhangzhanghao;private jtextfield kaihuyinhang;private jtextfield email;private jtextfield lianxidianhua;private jtextfield lianxiren;private jtextfield chuanzhen;private jtextfield dianhua;private jtextfield youzhengbianma;private jtextfield dizhi;private jtextfield kehujiancheng;private jbutton modifybutton;private jbutton delbutton;private jcombobox kehu;public kehuxiugaipanel() setbounds(10, 10, 460, 300);setlayout(new gridbaglayout();setvisible(true);final jlabel khname = new jlabel();khname.settext(客户全称:);setupcomponet(khname, 0, 0, 1, 0, false);kehuquancheng = new jtextfield();kehuquancheng.seteditable(false);/ 定位全称文本框setupcomponet(kehuquancheng, 1, 0, 3, 350, true);final jlabel addresslabel = new jlabel(客户地址:);setupcomponet(addresslabel, 0, 1, 1, 0, false);dizhi = new jtextfield();/ 定位地址文本框setupcomponet(dizhi, 1, 1, 3, 0, true);setupcomponet(new jlabel(客户简称:), 0, 2, 1, 0, false);kehujiancheng = new jtextfield();/ 定位客户简称文本框setupcomponet(kehujiancheng, 1, 2, 1, 130, true);setupcomponet(new jlabel(邮政编码:), 2, 2, 1, 0, false);youzhengbianma = new jtextfield();/ 定位邮政编码文本框setupcomponet(youzhengbianma, 3, 2, 1, 100, true);youzhengbianma.addkeylistener(new inputkeylistener();setupcomponet(new jlabel(电话:), 0, 3, 1, 0, false);dianhua = new jtextfield();/ 定位电话文本框setupcomponet(dianhua, 1, 3, 1, 100, true);dianhua.addkeylistener(new inputkeylistener();setupcomponet(new jlabel(传真:), 2, 3, 1, 0, false);chuanzhen = new jtextfield();/ 定位传真文本框chuanzhen.addkeylistener(new inputkeylistener();setupcomponet(chuanzhen, 3, 3, 1, 100, true);setupcomponet(new jlabel(联系人:), 0, 4, 1, 0, false);lianxiren = new jtextfield();/ 定位联系人文本框setupcomponet(lianxiren, 1, 4, 1, 100, true);setupcomponet(new jlabel(联系电话:), 2, 4, 1, 0, false);lianxidianhua = new jtextfield();/ 定位联系电话文本框setupcomponet(lianxidianhua, 3, 4, 1, 100, true);lianxidianhua.addkeylistener(new inputkeylistener();setupcomponet(new jlabel(e-mail:), 0, 5, 1, 0, false);email = new jtextfield();/ 定位e-mail文本框setupcomponet(email, 1, 5, 3, 350, true);setupcomponet(new jlabel(开户银行:), 0, 6, 1, 0, false);kaihuyinhang = new jtextfield();/ 定位开户银行文本框setupcomponet(kaihuyinhang, 1, 6, 1, 100, true);setupcomponet(new jlabel(银行账号:), 2, 6, 1, 0, false);yinhangzhanghao = new jtextfield();/ 定位银行账号文本框setupcomponet(yinhangzhanghao, 3, 6, 1, 100, true);setupcomponet(new jlabel(选择客户), 0, 7, 1, 0, false);kehu = new jcombobox();kehu.setpreferredsize(new dimension(230, 21);initcombobox();/ 初始化下拉选择框/ 处理客户信息的下拉选择框的选择事件kehu.addactionlistener(new actionlistener() public void actionperformed(actionevent e) dokehuselectaction(););/ 定位客户信息的下拉选择框setupcomponet(kehu, 1, 7, 2, 0, true);modifybutton = new jbutton(修改);delbutton = new jbutton(删除);jpanel panel = new jpanel();panel.add(modifybutton);panel.add(delbutton);/ 定位按钮setupcomponet(panel, 3, 7, 1, 0, false);/ 处理删除按钮的单击事件delbutton.addactionlistener(new actionlistener() public void actionperformed(actionevent e) item item = (item) kehu.getselecteditem();if (item = null | !(item instanceof item)return;int confirm = joptionpane.showconfirmdialog(kehuxiugaipanel.this, 确认删除客户信息吗?);if (confirm = joptionpane.yes_option) int rs = dao.delete(delete tb_khinfo where id=+ item.getid() + );if (rs 0) joptionpane.showmessagedialog(kehuxiugaipanel.this,客户: + item.getname() + 。删除成功);kehu.removeitem(item););/ 处理修改按钮的单击事件modifybutton.addactionlistener(new actionlistener() public void actionperformed(actionevent e) item item = (item) kehu.getselecteditem();tbkhinfo khinfo = new tbkhinfo();khinfo.setid(item.getid();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();if (dao.updatekehu(khinfo) = 1)joptionpane.showmessagedialog(kehuxiugaipanel.this, 修改完成);elsejoptionpane.showmessagedialog(kehuxiugaipanel.this, 修改失败););/ 初始化客户下拉选择框public void initcombobox() list khinfo = dao.getkhinfos();list items = new arraylist();kehu.removeallitems();for (iterator iter = khinfo.iterator(); iter.hasnext();) list element = (list) iter.next();item item = new item();item.setid(element.get(0).tostring().trim();item.setname(element.get(1).tostring().trim();if (items.contains(item)continue;items.add(item);kehu.additem(item);dokehuselectaction();/ 设置组件位置并添加到容器中private void setupcomponet(jcomponent component, int gridx, int gridy,int gridwidth, int ipadx, boolean fill) final gridbagconstraints gridbagconstrains = new gridbagconstraints();gridbagconstrains.gridx = gridx;gridbagconstrains.gridy = gridy;if (gridwidth 1)gridbagconstrains.gridwidth = gridwidth;if (ipadx 0)gridbagconstrains.ipadx = ipadx;gridbagconstrains.insets = new insets(5, 1, 3, 1);if (fill)gridbagconstrains.fill = gridbagconstraints.horizontal;add(component, gridbagconstrains);private void dokehuselectaction() item selecteditem;if (!(kehu.getselecteditem() instanceof item) return;selecteditem = (item) kehu.getselecteditem();tbkhinfo khinfo = dao.getkhinfo(selecteditem);kehuquancheng.settext(khinfo.getkhname();dizhi.settext(khinfo.getaddress();kehujiancheng.settext(khinfo.getjian();youzhengbianma.settext(khinfo.getbianma();dianhua.settext(khinfo.gettel();chuanzhen.settext(khinfo.getfax();lianxiren.settext(khinfo.getlian();lianxidianhua.settext(khinfo.getltel();email.settext(khinfo.getmail();kaihuyinhang.settext(khinfo.getxinhang();yinhangzhanghao.settext(khinfo.gethao();6 测试说明通过测试检测该模块是否符合要求。通过添加已存在的的信息,系统是否自动检测并提示已经存在。7 复审的结论经测试,本模块符合要求。二、活动管理1标题软件系统名称和标识符:基于电脑及其配件的进销存管理系统模块名称和标示符:进货管理模块程序员编制签名:黄健帮卷宗的修改文本序号:无修改完成日期:2012-6-1卷宗序号:1编排日期:2012-5-30模块开发卷宗编写规范2 模块开发情况表模块标识符jhm模块的描述性名称进货管理代码设计计划开始日期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黄健帮源代码行数预计1000实际1150模块标识符jhm项目负责人批准日期 / 签字2012-01-13莫敏智3 功能说明(1)进货单管理:对进货的情况使用进货单进行存储,有进货票号、供应商、联系人、结算方式、进货时间、经手人、商品信息、品种数量、货品总数、合计金额、验收结论和操作人员等等信息的添加和入库;(2)进货退货管理:添加退货信息包括退货票号、供应商、联系人、结算方式、退货时间、经手人、商品信息、品种数量、货品总数、合计金额、验收结论和操作人员等等信息的添加和退货。4 设计说明a本模块属于系统模块层次中第一层;b本模块的处理流程为:输入进货票号、退货票号,数据库检测是否存在,并且进行对这进货、退货的修改、删除操作。5 源代码清单进货管理:jinhuodan.javapackage internalframe;import internalframe.guanli.item;import java.awt.dimension;import java.awt.gridbagconstraints;import java.awt.gridbaglayout;import java.awt.insets;import java.awt.event.actionevent;import java.awt.event.actionlistener;import java.awt.event.containerevent;import java.awt.event.containerlistener;import java.sql.resultset;import java.sql.sqlexception;import java.util.arraylist;import java.util.date;import java.util.iterator;import java.util.list;import java.util.set;import java.util.vector;import javax.swing.defaultcelleditor;import javax.swing.jbutton;import javax.swing.jcombobox;import javax.swing.jcomponent;import javax.swing.jinternalframe;import javax.swing.jlabel;import javax.swing.joptionpane;import javax.swing.jscrollpane;import javax.swing.jtable;import javax.swing.jtextfield;import javax.swing.event.internalframeadapter;import javax.swing.event.internalframeevent;import javax.swing.table.defaulttablemodel;import javax.swing.table.tablecelleditor;import javax.swing.table.tablecolumn;import model.tbgysinfo;import model.tbrukudetail;import model.tbrukumain;import model.tbspinfo;import model.tbuserlist;import com.lzw.dao.dao;import com.lzw.login.login;public class jinhuodan extends jinternalframe private final jtable table;private tbuserlist user = login.getuser(); / 登录用户信息p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论