基于电脑及其配件的进销存管理系统模块开发卷宗V1.0

上传人:仙*** 文档编号:31554753 上传时间:2021-10-12 格式:DOC 页数:75 大小:419KB
返回 下载 相关 举报
基于电脑及其配件的进销存管理系统模块开发卷宗V1.0_第1页
第1页 / 共75页
基于电脑及其配件的进销存管理系统模块开发卷宗V1.0_第2页
第2页 / 共75页
基于电脑及其配件的进销存管理系统模块开发卷宗V1.0_第3页
第3页 / 共75页
点击查看更多>>
资源描述
模块开发卷宗编写规范案卷号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(); / 登录用户信息private final JTextField jhsj = new JTextField(); / 进货时间private final JTextField jsr = new JTextField(); / 经手人private final JComboBox jsfs = new JComboBox(); / 计算方式private final JTextField lian = new JTextField(); / 联系人private final JComboBox gys = new JComboBox(); / 供应商private final JTextField piaoHao = new JTextField();/ 票号private final JTextField pzs = new JTextField(0); / 品种数量private final JTextField hpzs = new JTextField(0);/ 货品总数private final JTextField hjje = new JTextField(0);/ 合计金额private final JTextField ysjl = new JTextField(); / 验收结论private final JTextField czy = new JTextField(user.getName();/ 操作员private Date jhsjDate;private JComboBox sp;public JinHuoDan() super();setMaximizable(true);setIconifiable(true);setClosable(true);getContentPane().setLayout(new GridBagLayout();setTitle(进货单);setBounds(50, 50, 700, 400);setupComponet(new JLabel(进货票号:), 0, 0, 1, 0, false);piaoHao.setFocusable(false);setupComponet(piaoHao, 1, 0, 1, 140, true);setupComponet(new JLabel(供应商:), 2, 0, 1, 0, false);gys.setPreferredSize(new Dimension(160, 21);/ 供应商下拉选择框的选择事件gys.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) doGysSelectAction(););setupComponet(gys, 3, 0, 1, 1, true);setupComponet(new JLabel(联系人:), 4, 0, 1, 0, false);lian.setFocusable(false);setupComponet(lian, 5, 0, 1, 80, true);setupComponet(new JLabel(结算方式:), 0, 1, 1, 0, false);jsfs.addItem(现金);jsfs.addItem(支票);jsfs.setEditable(true);setupComponet(jsfs, 1, 1, 1, 1, true);setupComponet(new JLabel(进货时间:), 2, 1, 1, 0, false);jhsj.setFocusable(false);setupComponet(jhsj, 3, 1, 1, 1, true);setupComponet(new JLabel(经手人:), 4, 1, 1, 0, false);setupComponet(jsr, 5, 1, 1, 1, true);sp = new JComboBox();sp
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!