实验室设备管理系统(课程设计报告)


    



    XX学院
    软件学院



    课程设计报告







    设计名称: 实验设备理系统
    设计题目: 实验设备理系统
    专业班级: 软件工程班
    学生姓名:
    学生成绩:
    指导教师(职称):
    课题工作时间: 2013年12月20日2014年1月8日


    软件学院课程设计务书
    学生姓 名

    学 号

    专业
    班级
    软件工程班
    设计题

    实验设备理系统
    容概:
    学年实验室设备情况进行统计更新中:
    (1)已彻底损坏作报废处理时详细记录关信息
    (2)严重问题(障)修理记录修理日期设备名修理厂家修理费责等
    (3)急需缺少设备需申请表形式送交级领导请求批准购买新设备购入立进行设备登记(包括类设备名型号规格单价数量购置日期生产厂家购买等)时更新申请表容
    (4)时现设备修理报废情况进行统计查询求够类时间段(某日期前)查询
    文献资料:
    Java面象程序设计耿祥义张跃编著清华学出版社
    SQL Server 数库教程(2008版) 郑阿奇刘启芬顾韵华编民邮电出版社
    设计求:
    (1)工作专门员负责完成意
    (2)件设备作入库登记时均系统类动序编号形成设备号设备报废时时修改相应设备记录领导认
    (3)系统数存储少应包含:设备记录修理记录报废记录购买申请
    (4)系统输入项少包含:新设备信息修理信息申请购买信息报废信息具体查询统计求
    (5)系统输出项少包含:设备购买申请表修理报废注销设备资金统计表
    工作期限:

    设计工作2013年12月20日2014年01月08日止

    指导教师: 院:
    日 期:2014年01月06日


    课程设计:实验室设备理系统

    项目理:

    阶段
    时间

    参员
    产生文档
    项目理
    20131221

    确定课题组织组员合理分工

    分工明细项目进程表
    需求分析
    20131222

    确定软件功需求性需求运行环境约束编制软件需求规格说明软件系统确认测试准


    需求规格说明书
    确认测试准

    概设计

    20131223

    建立软件系统总体结构模块间关系定义功模块接口涉全局数库规定涉约束制定组装测试计划


    概设计说明书
    组装测试计划

    数库设计
    20131224
    根概设计软件必须数库进行分析设计


    数库设计说明书
    详细设计
    20131225
    概设计产生功模块逐步细化形成干编程程序模块

    模块测试方案
    编码
    20131226
    20140101

    根详细设计文档详细设计转化求编程语言数库语言程序程序进行调试程序单元测试验证程序模块详细设计文档致性


    源程序清单
    测试
    单元测试
    20140102
    20140103

    采白盒测试技术进行测试:
    1 模块接口测试
    2 模块局部数结构测试
    3 模块边界条件测试
    4 模块中独立执行通路测试
    5 模块条错误处理通路测试


    单元测试报告
    综合测试
    20140104

    发现接口关种错误

    综合测试报告
    确认测试
    20140104
    检查软件否满足软件需求说明书中确认标准

    确认测试报告


    项目实施
    20140104
    20140104

    完善程序流图
    书写软件说明书户手册

    项目开发总结报告
    终户手册
    二 软件需求分析
    1 引言
    11 编写目
    需求说明书详细陈述实验设备理系统提供项功中包括户功性需求非功性需求户提供完整较详系统功运作蓝图时设计员提供完整设计约束便高质量设计编写代码完成系项目预期目标开发员提供参考
    需求说明书预期读者项目理设计员开发员户等
    12 背景
    说明:
    a开发软件系统名称:实验设备理系统
    b项目务提出者:西安文理学院
    c项目开发者:
    d项目户:西安文理学院相关理员
    e该软件系统系统机构基相互关系:西安文理学院财务理软件系统相应接口
    13 定义
    LEM实验室设备理系统(Laboratory Equipment Management)

    2 务概述
    21 目标
    着高校规模扩实验室仓库增工理实验设备已变低效解决问题高校实验室设备理系统实现设备理动化
    实验室设备理系统贯穿设备购进报废整流程理程帮助理员高效理整高校设备级领导提供审核监督理台

    22 户特点
    软件户: 西安文理学院相关理员
    通常认:户具较高文化水学力具定计算机水验解整LEM系统工作流程注意事项时LEM系统基操作困难执行参考户手册情况需进行专业培训利系统

    3 需求规定
    31 功性需求规定
    311 系统整体功层次图

    312 业务流程分析

    数流图:


    流程详细说明:
    (1) 仓库理员统计仓库中设备库存量找出库存量足设备填写购买申请表领导申请表进行审核审核通产生购买报表交购买员
    (2) 购买员购买设备购买信息交购买登记员进行购买登记购买登记员查询申请审核表设备分配仓库
    (3) 仓库理员购买设备进行入库登记出库登记
    (4) 实验室理员负责报废设备进行报废登记处理找出维修设备填写维修申请表领导维修申请表进行审核通产生维修报表交维修员维修员设备送交某修理厂家进行维修
    (5) 设备维修完交原实验室实验室理员进行维修登记

    312 系统户列表

    高校LEM面五类户:系统理员购买登记员仓库理员实验室理员级领导类户通高校LEM系统进行设备理交流该系统户提供功

    1系统理员
    1.注册系统户
    2.注销系统户
    3.数库维护
    4.信息维护
    2购买登记员
    1. 购买员提交购买信息进行登记记录关设备基信息设备购买信息价格数量等
    2.查询领导购买申请审核信息
    3.根审核信息购买设备分配相应仓库关详单提交仓库理员
    4.信息维护
    3仓库理员
    1. 根购买登记员提交详单进行入库登记
    2. 根实验室理员提交详单进行出库登记
    3. 查询统计仓库中设备库存量统计出库存量足设备
    4. 根统计信息进行购买申请
    5. 信息维护
    4实验室理员
    1. 理实验室中设备找出需维修设备进行维修申请
    2. 维修设备进行报废记录
    3. 查询统计实验室设备拥量统计出数量足设备产生详单提交仓库理员
    4. 已维修完成设备根维修员提交维修单进行维修记录
    5. 信息维护
    5级领导
    1. 查购买申请表申请进行审核审核产生购买订单交购买员
    2. 查维修申请表申请进行审核审核产生维修订单交维修员
    3. 信息维护
    32 软件系统数字典
    321数流条目
    ① 登陆信息
    输入:设备理员
    输出:身份验证1
    描述:登陆信息户名+密码+登陆权限

    ② 查询信息
    输入:合法员设备查询操作
    输出:设备信息表
    描述:查询信息设备名型号类购置日期

    ③ 维修信息
    输入:需维修设备信息
    输出:确定维修设备记录
    描述:维修信息设备名+修理日期+修理厂家+修理费+负责

    ④ 新设备
    输入:购买设备信息
    输出:确定购买新设备记录
    描述:新设备类+设备名+型号+规格+单价+数量等

    ⑤ 报废设备
    输入:需报废设备信息
    输出:报废设备记录
    描述:报废设备类+设备名+型号等

    ⑥ 审核信息
    输入:审核3
    输出:级领导
    描述:审核信息报废设备信息新设备购买记录


    322加工条目
    身份验证1统计查询21维修22购买23报废24生产报表31审核32

    323文件条目
    ⑦ 登陆表
    输入:身份验证1
    输出:身份验证1
    数结构:户名+密码+登陆权限

    ⑧ 设备基信息表
    输入:统计查询21
    数结构:类+设备名+型号+规格等

    ⑨ 维修记录表
    输入:统计查询21维修22
    输出:统计查询21
    数结构:设备名+修理日期+修理厂家+修理费+责等

    ⑩ 新设备表
    输入:统计查询21购买22
    输出:统计查询21
    数结构:类+设备名+型号+规格+单价+数量+生产厂家+购买等

    ⑪ 报废记录表
    输入:报废24统计查询21生产报表31
    输出:统计查询21生产报表31
    数结构:类+设备名+型号等

    ⑫ 申请表
    输入:统计查询21生产报表31
    输出:统计查询21生产报表31购买23
    数结构:设备名+型号+规格+数量+负责

    33 非功新需求规定
    331 精度

    软件输入精度:
    a输入数字信息精度保留数点两位
    b输入公司单位名称必须全称简称者简写
    e输入选信息时拉框容备选选择行输入
    332 时间特性需求

    该软件时间特性求:
    a响应时间:7秒钟
    b更新处理时间:6秒钟

    333 灵活性
    该软件灵活性求(需求发生某变化时该软件变化适应力):
    a运行环境变化:实现跨台操作
    b软件接口变化:设计元化接口实现软件接口间通信
    c精度效时限变化:统修改数精度效时限数库容

    334 性
    系统性指:系统规定条件规定时间完成规定功力

    影响性操作流程:
    1 新增户时出现信息法提交情况
    2 设备购买登记阶段出现设备信息法写入购买信息登记错误

    系统LEM系统性求较高具体求:
    1 全部录入信息纸质详单购买详单维修详单等准
    2 数正确性需方核查
    3 动种信息数进行备份
    4 报表生成纸质电子报表相致

    34 输入输出求
    输入:
    a 输入数数字信息符合输入精度求
    b 输入选信息完全拉框完成
    输出:
    a 输出数符合输出精度求
    b 输出数格式字体统
    34障处理求
    服务器死机时求服务器必须2时恢复数必须3时恢复

    4 运行环境规定
    41 设备

    运行该软件需硬设备包括:
    1 处理器型号:Intel Core2
    2 存容量:100G
    3 硬盘:120G
    42 支持软件
    1 操作系统:windows7操作系统版
    2 数库:Sql Server 2008 R2版数库
    3 MyEclipse开发工具
    5文化政策需求
    引起户文化突出现敏感应出现字眼图片符合国家基法律法规新国家营销市场战略相关政策国社会义政策相违背

    三:软件设计
    1实验室设备理系统模块结构图


    2界面设计
    (1) 登录界面

    (2)意注册理员登录界面

    3实验室设备理系统数设计

    4理系统中3模块详细设计
    ① 级领导操作模块

    ②设备理员操作模块

    ③ 统功操作模块



    5数库设计
    1 模型图


    2 ER图

    3 物理实现
    (1) 实体表
    1 户表(UserInfo)
    字段
    类型
    备注
    uId
    Varchar(15)
    户名键
    uName
    Varchar(15)
    姓名
    uPasswd
    Varchar(15)
    密码
    uPosition
    Varchar(15)
    身份键
    2 仓库理员表(StoreManagerInfo)
    字段
    类型
    备注
    uId
    Varchar(15)
    户名键
    sId
    Varchar(15)
    仓库编号外键约束仓库表
    3实验室理员表(LabManagerInfo)
    字段
    类型
    备注
    uId
    Varchar(15)
    户名键
    lId
    Varchar(15)
    仓库编号外键约束实验室表
    4仓库表(StoreInfo)
    字段
    类型
    备注
    sId
    Varchar(15)
    仓库编号键
    sName
    Varchar(15)
    仓库名称
    sPlace
    Varchar(15)
    校区
    5实验室表(LabInfo)
    字段
    类型
    备注
    lId
    Varchar(15)
    实验室编号键
    lName
    Varchar(15)
    实验室名称
    lPlace
    Varchar(15)
    校区


    5设备表(EquipInfo)
    字段
    类型
    备注
    eId
    Varchar(15)
    设备编号键
    eName
    Varchar(15)
    设备名称
    eStandard
    Varchar(15)
    规格型号
    eProCompany
    Varchar(15)
    生产厂商
    eType
    Varchar(15)
    设备类型
    6固定资产表(PropertyInfo)
    字段
    类型
    备注
    pId
    Varchar(15)
    固定资产编号键
    eId
    Varchar(15)
    属设备编号外键约束设备表
    lId
    Varchar(15)
    实验室编号外键约束实验室表
    (2) 关系表
    1 入库登记表(InInfo)
    字段
    类型
    备注
    eId
    Varchar(15)
    设备编号键外键约束设备表
    sId
    Varchar(15)
    仓库编号键外键约束仓库表
    iDate
    DateTime
    入库时间键
    iNum
    int
    入库数量
    2出库登记表(OutInfo)
    字段
    类型
    备注
    eId
    Varchar(15)
    设备编号键外键约束设备表
    sId
    Varchar(15)
    仓库编号键外键约束仓库表
    lId
    Varchar(15)
    实验室编号键外键约束实验室表
    iDate
    DateTime
    出库时间键
    iNum
    int
    出库数量
    (3) 记录表
    1购买申请表(BuyApplyInfo)
    字段
    类型
    备注
    baId
    Varchar(15)
    序列号键
    eId
    Varchar(15)
    设备编号外键约束设备表
    smName
    Varchar(15)
    申请外键约束仓库理员表
    baDate
    DateTime
    申请时间
    baNum
    Int
    申请数量

    2维修申请表(MaintainInfo)
    字段
    类型
    备注
    maId
    Varchar(15)
    序列号键
    pId
    Varchar(15)
    固定资产编号外键约束固定资产表
    lmName
    Varchar(15)
    申请外键约束实验室理员表
    maDate
    DateTime
    申请时间
    3购买登记表(BuyInfo)
    字段
    类型
    备注
    bId
    Varchar(15)
    序列号键
    eId
    Varchar(15)
    设备编号外键约束设备表
    bPrice
    Money
    购买单价
    bDate
    DateTime
    购买时间
    bNum
    Int
    购买数量
    4维修记录表(MaintainInfo)
    字段
    类型
    备注
    mId
    Varchar(15)
    序列号键
    pId
    Varchar(15)
    固定资产编号外键约束固定资产表
    mDate
    DateTime
    维修时间
    5报废记录表(DiscardInfo)
    字段
    类型
    备注
    dId
    Varchar(15)
    序列号键
    pId
    Varchar(15)
    固定资产编号外键约束固定资产表
    dDate
    DateTime
    报废时间
    6 购买审核表(BuyCheckInfo)
    字段
    类型
    备注
    bcId
    Varchar(15)
    序列号键
    baId
    Varchar(15)
    申请序列号外键约束购买申请表
    olName
    Varchar(15)
    审核外键约束级领导表
    bcDate
    DateTime
    审核时间
    7维修审核表(MaintainCheckInfo)
    字段
    类型
    备注
    mcId
    Varchar(15)
    序列号键
    maId
    Varchar(15)
    申请序列号外键约束维修申请表
    olName
    Varchar(15)
    审核外键约束级领导表
    mcDate
    DateTime
    审核时间


    四编码单元测试
    1户登录界面:
    package comniitgui_event

    import comniitlogical*
    import javaawt*
    import javaawtevent*
    import javaxswing*

    public class Login extends JFrame {
    **
    *
    *
    private static final long serialVersionUID 1L

    控件声明
    private JLabel lPosition lName lPasswd lTitle
    private JComboBox cbPosition cbName
    private JPasswordField pfPasswd
    private JButton bConfirm bCancel
    private Container con
    private JPanel[] pCon

    private User info

    public Login() {
    super(户登录)
    控件初始化
    con getContentPane()
    lPosition new JLabel(身 份:)
    lName new JLabel(户名:)
    lPasswd new JLabel(密 码:)
    lTitle new JLabel(实验室设备理系统)
    lTitlesetForeground(ColorRED)
    pfPasswd new JPasswordField()
    bConfirm new JButton(确定)
    bCancel new JButton(取消)

    String[] aPosition new String[] { 系统理员 仓库理员 实验室理员购买登记员 级领导 }
    cbPosition new JComboBox(aPosition)

    int index cbPositiongetSelectedIndex()
    if (index 0) {
    info new Administration()
    } else if (index 1) {
    info new StoreManager()
    } else if (index 2) {
    info new LabManager()
    } else if (index 3) {
    info new BuyManager()
    } else {
    info new OverLeader()
    }
    数组初始化
    pCon new JPanel[5]
    String[] cName infogetIdByPosition(info)
    cbName new JComboBox(cName)
    for (int i 0 i < pConlength i++)
    pCon[i] new JPanel()
    }

    public void launch() {
    控件添加
    consetLayout(new GridLayout(5 1))
    pCon[0]add(lPosition)
    pCon[0]add(cbPosition)
    pCon[1]add(lName)
    pCon[1]add(cbName)
    pCon[2]add(lPasswd)
    pCon[2]add(pfPasswd)
    pCon[3]add(bConfirm)
    pCon[3]add(bCancel)
    pCon[4]add(lTitle)
    add(pCon[4])
    for (int i 0 i < pConlength 1 i++)
    conadd(pCon[i])

    控件设置
    pfPasswdsetEchoChar('*')
    pfPasswdsetColumns(10)
    setBounds(400 100 400 400)
    setVisible(true)
    setDefaultCloseOperation(JFrameEXIT_ON_CLOSE)

    添加监听器
    cbPositionaddActionListener(new ListenAction())
    bConfirmaddActionListener(new ListenAction())
    bCanceladdActionListener(new ListenAction())
    pfPasswdaddKeyListener(new ListenKey())
    }

    定义钮拉框处理器
    class ListenAction implements ActionListener {
    public void actionPerformed(ActionEvent e) {
    if (egetSource() bConfirm) {点击确定钮
    infosetuId(cbNamegetSelectedItem()toString())
    infosetuPasswd(new String(pfPasswdgetPassword()))
    infosetuPosition(cbPositiongetSelectedItem()toString())
    if (infologin(info)) {
    new Main(info)launch()
    setVisible(false)
    pfPasswdsetText(null)
    } else {
    JOptionPaneshowMessageDialog(new Login() 户名密码身份错误)
    pfPasswdsetText(null)
    }
    } else if (egetSource() cbPosition) {身份拉框改变时
    int index cbPositiongetSelectedIndex()
    if (index 0) {
    info new Administration()
    } else if (index 1) {
    info new StoreManager()
    } else if (index 2) {
    info new LabManager()
    } else if (index 3) {
    info new BuyManager()
    } else {
    info new OverLeader()
    }
    String[] cName infogetIdByPosition(info)

    刷新户名列表
    cbNameremoveAllItems()
    for (int i 0 i < cNamelength i++)
    cbNameaddItem(cName[i])
    } else {
    Systemexit(0)
    }
    pfPasswdsetText(null)
    }
    }

    定义键盘处理器
    class ListenKey extends KeyAdapter {
    @SuppressWarnings(staticaccess)
    public void keyPressed(KeyEvent e) {
    if (egetKeyText(egetKeyCode())compareToIgnoreCase(ENTER) 0) {
    bConfirmdoClick()
    }

    }
    }

    }

    }

    2界面:
    package comniitgui_event

    import javaxswing*
    import comniitlogical*
    import javaawtevent*
    public class Main extends JFrame {
    **
    *
    *
    private static final long serialVersionUID 1L
    private JTabbedPane tp
    private JPanel p[]

    private User info

    public Main() {
    super(实验室设备理系统)
    tp new JTabbedPane()
    p new JPanel[8]

    }

    public Main(User info){

    this()
    thisinfoinfo
    p[0] new UserManage()
    p[1] new EquipIn()
    p[2] new EquipOut()
    p[3] new Register(info)
    p[4] new Apply(info)
    p[5] new Checks(info)
    p[6] new Search()
    p[7]new PasswdModyfy(info)

    }

    public void launch() {
    tpaddTab(户理 p[0])
    tpaddTab(设备入库 p[1])
    tpaddTab(设备出库 p[2])
    tpaddTab(设备登记 p[3])
    tpaddTab(设备申请 p[4])
    tpaddTab(审核申请 p[5])
    tpaddTab(统计查询 p[6])
    tpaddTab(信息维护 p[7])

    if(info instanceof Administration){
    tpsetEnabledAt(1 false)
    tpsetEnabledAt(2 false)
    tpsetEnabledAt(3 false)
    tpsetEnabledAt(4 false)
    tpsetEnabledAt(5 false)
    tpsetEnabledAt(6 false)
    }else if(info instanceof StoreManager){
    tpsetEnabledAt(0 false)
    tpsetEnabledAt(3 false)
    tpsetEnabledAt(5 false)
    tpsetSelectedIndex(1)
    }else if(info instanceof LabManager){
    tpsetEnabledAt(0 false)
    tpsetEnabledAt(1 false)
    tpsetEnabledAt(2 false)
    tpsetEnabledAt(5 false)
    tpsetSelectedIndex(3)
    }else if(info instanceof BuyManager){
    tpsetEnabledAt(0 false)
    tpsetEnabledAt(1 false)
    tpsetEnabledAt(2 false)
    tpsetEnabledAt(4 false)
    tpsetEnabledAt(5 false)
    tpsetSelectedIndex(3)
    }else if(info instanceof OverLeader){
    tpsetEnabledAt(0 false)
    tpsetEnabledAt(1 false)
    tpsetEnabledAt(2 false)
    tpsetEnabledAt(3 false)
    tpsetEnabledAt(4 false)
    tpsetSelectedIndex(5)
    }
    getContentPane()add(tp)
    setSize(1280 780)
    setVisible(true)
    addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent e){
    Systemexit(0)
    }
    })
    }
    }

    3设备申请:
    package comniitgui_event

    import javaxswing*

    import comniitlogical*

    import javaawt*
    import javaawtevent*
    import comniitdata*
    import javasql*

    public class MaintainApply extends JPanel {
    **
    *
    *
    private static final long serialVersionUID 1L
    private JLabel lpId
    private JTextField tf
    private JButton bApply bAgain bDelete
    private JPanel pUp pDown
    private JTable t
    private JScrollPane jsp

    private User user
    private LabManager lm
    private MaintainApplyData maInfo

    public MaintainApply(User user) {
    super(new BorderLayout())
    thisuser user

    lpId new JLabel(固定资产编号)
    tf new JTextField()
    tfsetColumns(15)

    bApply new JButton(申请)
    bAgain new JButton(重置)
    bDelete new JButton(取消申请)
    pUp new JPanel()
    pDown new JPanel()

    lm new LabManager()
    maInfo new MaintainApplyData()
    String[] head new String[] { 序列号 固定资产编号 申请 申请时间 }
    Object[][] data lmgetMaintainApplyAll()
    t new JTable(data head)
    tsetRowHeight(25)
    jsp new JScrollPane(t)

    pUpadd(lpId)
    pUpadd(tf)
    pUpadd(bApply)
    pUpadd(bAgain)
    pDownadd(bDelete)

    add(pUp BorderLayoutNORTH)
    add(jsp BorderLayoutCENTER)
    add(pDown BorderLayoutSOUTH)

    添加监听器
    bApplyaddActionListener(new ListenButton())
    bAgainaddActionListener(new ListenButton())
    bDeleteaddActionListener(new ListenButton())
    }

    处理器
    class ListenButton implements ActionListener {
    public void actionPerformed(ActionEvent e) {
    if (egetSource() bApply) { 申请钮
    maInfosetpId(new Integer(tfgetText()))
    maInfosetuId(usergetuId())
    maInfosetDate(new Date(SystemcurrentTimeMillis()))
    lmadd(maInfo)
    bAgaindoClick()
    } else if (egetSource() bAgain) { 重置钮
    tfsetText(null)
    } else if (egetSource() bDelete) { 删钮
    int selectedIndex 1
    for (int i 0 i < tgetRowCount() i++) {
    if (tisRowSelected(i) true)
    selectedIndex i
    }
    if (selectedIndex 1) {
    JOptionPaneshowMessageDialog(null 请先选择某项)
    return
    } else {
    int option JOptionPaneshowConfirmDialog(null 否确定删?
    提示 JOptionPaneYES_NO_CANCEL_OPTION)
    if (option JOptionPaneYES_OPTION) {
    maInfosetId(new Integer(tgetValueAt(selectedIndex 0)
    toString()))
    lmdelete(maInfo)
    }
    }
    }
    刷新数表
    remove(jsp)
    String[] head new String[] { 序列号 固定资产编号 申请 申请时间 }
    Object[][] data lmgetMaintainApplyAll()
    t new JTable(data head)
    tsetRowHeight(25)
    tvalidate()
    jsp new JScrollPane(t)
    add(jsp BorderLayoutCENTER)
    validate()
    }
    }
    }


    4设备入库:
    package comniitgui_event

    import javaawtBorderLayout
    import javaawtCursor

    import javaxswing*
    import javaawt*

    import comniitlogical*

    import javaawtevent*
    import javasqlDate

    import comniitdata*

    public class EquipIn extends JPanel {
    **
    *
    *
    private static final long serialVersionUID 1L
    private JLabel leId lsId liNum lPara
    private JTextField tfiNum
    private JComboBox cbeId cbsId
    private JButton bIn bAgain bDelete
    private JPanel pUp pDown
    private JScrollPane jsp
    private JTable t

    private StoreManager sma
    private InData inInfo

    public EquipIn() {
    super(new BorderLayout()) 设置布局理器

    控件初始化
    leId new JLabel(设备编号)
    lsId new JLabel(仓库编号)
    liNum new JLabel(入库数量)
    lPara new JLabel(参数设置)
    lParasetForeground(ColorRED)

    tfiNum new JTextField()
    tfiNumsetColumns(10)

    bIn new JButton(入库)
    bAgain new JButton(重置)
    bDelete new JButton(删)

    pUp new JPanel()
    pDown new JPanel()

    sma new StoreManager()
    inInfo new InData()

    String[] eId smageteId()
    String[] sId smagetsIdAll()
    cbeId new JComboBox(eId)
    cbsId new JComboBox(sId)

    String[] head new String[] { 设备编号 仓库编号 入库时间 入库数量 }
    Object[][] data smagetInAll()
    t new JTable(data head)
    tsetRowHeight(25)
    jsp new JScrollPane(t)

    添加控件
    pUpadd(leId)
    pUpadd(cbeId)
    pUpadd(lsId)
    pUpadd(cbsId)
    pUpadd(liNum)
    pUpadd(tfiNum)
    pUpadd(bIn)
    pUpadd(bAgain)
    pUpadd(lPara)

    pDownadd(bDelete)

    add(pUp BorderLayoutNORTH)
    add(jsp BorderLayoutCENTER)
    add(pDown BorderLayoutSOUTH)

    添加监听器
    bInaddActionListener(new ListenButton())
    bAgainaddActionListener(new ListenButton())
    bDeleteaddActionListener(new ListenButton())
    lParaaddMouseListener(new ListenMouse())
    }

    定义钮处理器
    class ListenButton implements ActionListener {
    public void actionPerformed(ActionEvent e) {
    if (egetSource() bIn) { 点击入库钮
    inInfoseteId(cbeIdgetSelectedItem()toString())
    inInfosetsId(cbsIdgetSelectedItem()toString())
    inInfosetDate(new Date(SystemcurrentTimeMillis()))
    inInfosetNum(new Integer(tfiNumgetText()))
    smaadd(inInfo)
    bAgaindoClick()
    } else if (egetSource() bAgain) { 点击重置钮
    tfiNumsetText(null)
    } else if (egetSource() bDelete) { 点击删钮
    int selectedIndex 1
    for (int i 0 i < tgetRowCount() i++) {
    if (tisRowSelected(i) true)
    selectedIndex i
    }
    if (selectedIndex 1) {
    JOptionPaneshowMessageDialog(null 请先选择某项)
    return
    } else {
    int option JOptionPaneshowConfirmDialog(null 否确定删?
    提示 JOptionPaneYES_NO_CANCEL_OPTION)
    if (option JOptionPaneYES_OPTION) {
    inInfoseteId((String) tgetValueAt(selectedIndex 0))
    inInfosetsId((String) tgetValueAt(selectedIndex 1))
    inInfosetDate((Date) tgetValueAt(selectedIndex 2))
    smadelete(inInfo)
    }
    }
    }

    刷新数表
    remove(jsp)
    String[] head new String[] { 设备编号 仓库编号 入库时间 入库数量 }
    Object[][] data smagetInAll()
    t new JTable(data head)
    tsetRowHeight(25)
    tvalidate()
    jsp new JScrollPane(t)
    add(jsp BorderLayoutCENTER)
    validate()
    }
    }

    定义鼠标处理器
    class ListenMouse extends MouseAdapter {
    public void mouseEntered(MouseEvent e) {
    lParasetCursor(new Cursor(CursorHAND_CURSOR))
    }

    public void mousePressed(MouseEvent e) {
    new ParameterSet()
    }
    }
    }

    5户理
    package comniitgui_event

    import javaawtBorderLayout
    import javaawtGridLayout
    import javaawtevent*
    import javaawt*

    import javaxswing*

    import comniitlogical*

    public class UserManage extends JPanel {

    **
    *
    *
    private static final long serialVersionUID 1L
    private JLabel[] lArray new JLabel[7]
    private JButton[] bArray new JButton[3]
    private JTextField[] tfArray new JTextField[2]
    private JPasswordField[] pfArray new JPasswordField[2]
    private JPanel[] pArray new JPanel[4]
    private JComboBox cbPosition cbSL
    private JScrollPane jsp
    private JTable t

    private Administration Admin
    private StoreManager sma
    private LabManager lm

    public UserManage() {
    super(new BorderLayout()) 设置布局理器

    控件初始化
    lArray[0] new JLabel(注册身份)
    lArray[1] new JLabel(户名)
    lArray[2] new JLabel(姓名)
    lArray[3] new JLabel(密码)
    lArray[4] new JLabel(确认密码)
    lArray[5] new JLabel(编号)
    lArray[6] new JLabel(参数设置)

    bArray[0] new JButton(注册)
    bArray[1] new JButton(重置)
    bArray[2] new JButton(删)

    for (int i 0 i < 2 i++) {
    tfArray[i] new JTextField()
    tfArray[i]setColumns(10)
    pfArray[i] new JPasswordField()
    pfArray[i]setColumns(10)
    pArray[i] new JPanel()
    }
    pArray[2] new JPanel()
    pArray[3] new JPanel(new GridLayout(2 1))

    String[] position new String[] { 系统理员 仓库理员 实验室理员 购买登记员
    级领导 }
    cbPosition new JComboBox(position)
    cbSL new JComboBox()

    Admin new Administration()
    sma new StoreManager()
    lm new LabManager()
    String[] head new String[] { 户名 姓名 身份 }
    Object[][] data AdmingetAll()
    t new JTable(data head)
    tsetRowHeight(25)
    jsp new JScrollPane(t)

    属性设置
    lArray[5]setVisible(false)
    cbSLsetVisible(false)
    lArray[6]setForeground(ColorRED)

    控件添加
    pArray[0]add(lArray[0])
    pArray[0]add(cbPosition)
    pArray[0]add(lArray[1])
    pArray[0]add(tfArray[0])
    pArray[0]add(lArray[2])
    pArray[0]add(tfArray[1])

    pArray[1]add(lArray[3])
    pArray[1]add(pfArray[0])
    pArray[1]add(lArray[4])
    pArray[1]add(pfArray[1])
    pArray[1]add(lArray[5])
    pArray[1]add(cbSL)
    pArray[1]add(bArray[0])
    pArray[1]add(bArray[1])
    pArray[1]add(lArray[6])

    pArray[2]add(bArray[2])

    pArray[3]add(pArray[0])
    pArray[3]add(pArray[1])

    add(pArray[3] BorderLayoutNORTH)
    add(jsp BorderLayoutCENTER)
    add(pArray[2] BorderLayoutSOUTH)

    添加监听器
    bArray[0]addActionListener(new ListenAction())
    bArray[1]addActionListener(new ListenAction())
    bArray[2]addActionListener(new ListenAction())
    cbPositionaddActionListener(new ListenAction())
    lArray[6]addMouseListener(new ListenMouse())
    }

    定义钮拉框动作处理器
    class ListenAction implements ActionListener {
    public void actionPerformed(ActionEvent e) {
    AdminsetuId(tfArray[0]getText())
    AdminsetuName(tfArray[1]getText())
    AdminsetuPasswd(new String(pfArray[0]getPassword()))
    AdminsetuPosition(cbPositiongetSelectedItem()toString())
    if (egetSource() bArray[0]) { 点击注册钮
    if (tfArray[0]getText()equals()
    || new String(pfArray[0]getPassword())toString()
    equals()) {
    JOptionPaneshowMessageDialog(null 户名密码空)
    bArray[1]doClick()
    return
    }
    String[] strKey new String[] { AdmingetuId()
    AdmingetuPosition() }
    if (AdmingetKey()contains(strKey)) {
    JOptionPaneshowMessageDialog(null 户已存)
    bArray[1]doClick()
    return
    }
    if (new String(pfArray[0]getPassword())equals(new String(
    pfArray[1]getPassword()))) {
    JOptionPaneshowMessageDialog(null 密码致)
    bArray[1]doClick()
    return
    }
    Adminadd(Admin)
    if (cbPositiongetSelectedItem()equals(仓库理员)) {
    smasetuId(tfArray[0]getText())
    smasetsId(cbSLgetSelectedItem()toString())
    Adminadd(sma)
    } else if (cbPositiongetSelectedItem()equals(实验室理员)) {
    lmsetuId(tfArray[0]getText())
    lmsetlId(cbSLgetSelectedItem()toString())
    Adminadd(lm)
    }
    bArray[1]doClick()
    } else if (egetSource() bArray[1]) { 点击重置钮
    tfArray[0]setText(null)
    tfArray[1]setText(null)
    pfArray[0]setText(null)
    pfArray[1]setText(null)
    } else if (egetSource() bArray[2]) { 点击删钮
    int selectedIndex 1
    for (int i 0 i < tgetRowCount() i++) {
    if (tisRowSelected(i) true)
    selectedIndex i
    }
    if (selectedIndex 1) {
    JOptionPaneshowMessageDialog(null 请先选择某项)
    return
    } else {
    int option JOptionPaneshowConfirmDialog(null 否确定删?
    提示 JOptionPaneYES_NO_CANCEL_OPTION)
    if (option JOptionPaneYES_OPTION) {
    AdminsetuId((String) tgetValueAt(selectedIndex 0))
    AdminsetuPosition((String) tgetValueAt(selectedIndex
    2))
    Admindelete(Admin)
    }
    }
    } else if (egetSource() cbPosition) { 改变身份拉框时
    if (cbPositiongetSelectedItem()equals(仓库理员)) {
    lArray[5]setText(仓库编号)
    lArray[5]setVisible(true)
    cbSLsetVisible(true)
    cbSLremoveAllItems()
    String[] sId AdmingetsIdAll()
    for (int i 0 i < sIdlength i++)
    cbSLaddItem(sId[i])
    } else if (cbPositiongetSelectedItem()equals(实验室理员)) {
    lArray[5]setText(实验室编号)
    lArray[5]setVisible(true)
    cbSLsetVisible(true)
    cbSLremoveAllItems()
    String[] sId AdmingetlIdAll()
    for (int i 0 i < sIdlength i++)
    cbSLaddItem(sId[i])
    } else {
    lArray[5]setVisible(false)
    cbSLsetVisible(false)
    }
    }
    刷新数表
    remove(jsp)
    String[] head new String[] { 户名 姓名 身份 }
    Object[][] data AdmingetAll()
    t new JTable(data head)
    tsetRowHeight(25)
    tvalidate()
    jsp new JScrollPane(t)
    add(jsp BorderLayoutCENTER)
    validate()
    }
    }

    定义鼠标事件处理器
    class ListenMouse extends MouseAdapter {
    public void mouseEntered(MouseEvent e) {
    lArray[6]setCursor(new Cursor(CursorHAND_CURSOR))
    }

    public void mousePressed(MouseEvent e) {
    new ParameterSet()
    }
    }
    }


    6设备统计查询:
    package comniitgui_event

    import javaawt*
    import javaawteventActionEvent
    import javaawteventActionListener

    import javaxswing*

    import comniitdataInData
    import comniitdataOutData
    import comniitlogicalLabManager
    import comniitlogicalStoreManager

    public class Search extends JPanel {

    **
    *
    *
    private static final long serialVersionUID 1L
    private JRadioButton rbStore rbLab rbeId rbSingleeId
    private JComboBox cbStore cbLab cbeId
    private JLabel lStore lLab leId
    private JTable t
    private JScrollPane jsp
    private JPanel pUp pDown p

    private StoreManager sma
    private InData inInfo

    public Search() {
    super(new BorderLayout())

    rbStore new JRadioButton(仓库库存统计 true)
    rbLab new JRadioButton(实验室库存统计)
    rbeId new JRadioButton(设备 true)
    rbSingleeId new JRadioButton(单设备)

    sma new StoreManager()
    inInfo new InData()

    cbStore new JComboBox(smagetsIdAll())
    cbLab new JComboBox(smagetlIdAll())
    cbeId new JComboBox(smageteId())

    lStore new JLabel(仓库编号)
    lLab new JLabel(实验室编号)
    leId new JLabel(设备编号)
    cbLabsetVisible(false)
    lLabsetVisible(false)
    leIdsetVisible(false)
    cbeIdsetVisible(false)

    pUp new JPanel()
    pDown new JPanel()
    p new JPanel()
    pUpadd(rbStore)
    pUpadd(lStore)
    pUpadd(cbStore)
    pUpadd(rbLab)
    pUpadd(lLab)
    pUpadd(cbLab)

    pDownadd(rbeId)
    pDownadd(rbSingleeId)
    pDownadd(leId)
    pDownadd(cbeId)

    psetLayout(new GridLayout(2 1))
    padd(pUp)
    padd(pDown)

    inInfosetsId(cbStoregetSelectedItem()toString())
    String[] head new String[] { 设备编号 仓库编号 库存量 }
    Object[][] data smagetCountKunCunAll(inInfo)
    t new JTable(data head)
    tsetRowHeight(25)
    jsp new JScrollPane(t)

    add(p BorderLayoutNORTH)
    add(jsp BorderLayoutCENTER)

    添加监听器
    rbStoreaddActionListener(new ListenAction())
    rbLabaddActionListener(new ListenAction())
    rbeIdaddActionListener(new ListenAction())
    rbSingleeIdaddActionListener(new ListenAction())
    cbStoreaddActionListener(new ListenAction())
    cbLabaddActionListener(new ListenAction())
    cbeIdaddActionListener(new ListenAction())
    }

    定义处理器
    class ListenAction implements ActionListener {
    public void actionPerformed(ActionEvent e) {
    if (egetSource() rbStore) {
    rbLabsetSelected(false)
    } else if (egetSource() rbLab) {
    rbStoresetSelected(false)
    } else if (egetSource() rbeId) {
    rbSingleeIdsetSelected(false)
    } else if (egetSource() rbSingleeId) {
    rbeIdsetSelected(false)
    }
    StoreManager sma new StoreManager()
    LabManager lm new LabManager()
    String[] head null
    Object[][] data null
    InData idInfo new InData()
    OutData odInfo new OutData()
    idInfoseteId(cbeIdgetSelectedItem()toString())
    idInfosetsId(cbStoregetSelectedItem()toString())
    odInfoseteId(cbeIdgetSelectedItem()toString())
    odInfosetlId(cbLabgetSelectedItem()toString())
    if (rbStoreisSelected()) {
    lStoresetVisible(true)
    cbStoresetVisible(true)
    lLabsetVisible(false)
    cbLabsetVisible(false)
    rbLabsetSelected(false)
    head new String[] { 设备编号 仓库编号 库存量 }
    if (rbeIdisSelected()) {
    leIdsetVisible(false)
    cbeIdsetVisible(false)
    rbSingleeIdsetSelected(false)
    data smagetCountKunCunAll(idInfo)
    } else {
    leIdsetVisible(true)
    cbeIdsetVisible(true)
    rbeIdsetSelected(false)
    data smagetCountKunCun(idInfo)
    }
    } else {
    lStoresetVisible(false)
    cbStoresetVisible(false)
    lLabsetVisible(true)
    cbLabsetVisible(true)
    rbStoresetSelected(false)
    head new String[] { 设备编号 实验室编号 库存量 }
    if (rbeIdisSelected()) {
    leIdsetVisible(false)
    cbeIdsetVisible(false)
    rbSingleeIdsetSelected(false)
    data lmgetCountKunCunAll(odInfo)
    } else {
    leIdsetVisible(true)
    cbeIdsetVisible(true)
    rbeIdsetSelected(false)
    data lmgetCountKunCun(odInfo)
    }
    }

    刷新数表
    remove(jsp)
    t new JTable(data head)
    tsetRowHeight(25)
    tvalidate()
    jsp new JScrollPane(t)
    add(jsp BorderLayoutCENTER)
    validate()
    }
    }
    }

    package shebeiguanli

    *
    *

    Title实验室设备理系统报废记录查询页面


    * @author gengdexin
    *


    import javaio*
    import javanet*
    import javasql*
    import javalang*
    import javaxsql*

    import javaawt*
    import javaawtevent*
    import javaxswing*
    import comborlandjbcllayout*
    import comborlanddbswing*

    public class Frame6 extends JFrame {
    JPanel contentPane
    JLabel jLabel1 new JLabel()
    XYLayout xYLayout1 new XYLayout()
    JLabel jLabel2 new JLabel()
    JLabel jLabel3 new JLabel()
    JTextField jTextField1 new JTextField()
    JLabel jLabel4 new JLabel()
    JTextField jTextField2 new JTextField()
    JPanel jPanel1 new JPanel()
    XYLayout xYLayout2 new XYLayout()
    JScrollPane jScrollPane1 new JScrollPane()
    JLabel jLabel5 new JLabel()
    JTextField jTextField3 new JTextField()
    public Frame6() {
    enableEvents(AWTEventWINDOW_EVENT_MASK)
    try {
    jbInit()
    }
    catch(Exception e) {
    eprintStackTrace()
    }
    }
    private void jbInit() throws Exception {
    contentPane (JPanel) thisgetContentPane()
    contentPanesetLayout(xYLayout1)
    thissetSize(new Dimension(600 500))
    thissetTitle(实验室设备理系统)
    thisaddHierarchyBoundsListener(new Frame6_this_hierarchyBoundsAdapter(this))
    jLabel1setFont(new javaawtFont(SansSerif 0 25))
    jLabel1setForeground(Colorred)
    jLabel1setText(实验室设备理系统)
    contentPanesetForeground(Colorblack)
    jLabel2setFont(new javaawtFont(SansSerif 0 30))
    jLabel2setText(设备报废记录查询)
    jLabel3setFont(new javaawtFont(SansSerif 0 20))
    jLabel3setText(设备名称)
    jTextField1setText()
    jLabel4setEnabled(true)
    jLabel4setFont(new javaawtFont(SansSerif 0 20))
    jLabel4setText(设备型号)
    jTextField2setText()
    jTextField2addActionListener(new Frame6_jTextField2_actionAdapter(this))
    jPanel1setLayout(xYLayout2)
    jLabel5setFont(new javaawtFont(SansSerif 0 25))
    jLabel5setForeground(Colorred)
    jLabel5setText(该报废设备详细信息)
    jTextField3setText()
    contentPaneadd(jLabel1 new XYConstraints(200 0 30050))
    contentPaneadd(jLabel2 new XYConstraints(200 47 300 58))
    contentPaneadd(jLabel3 new XYConstraints(47 102 101 42))
    contentPaneadd(jTextField1 new XYConstraints(128 108 112 34))
    contentPaneadd(jTextField2 new XYConstraints(361 107 109 36))
    contentPaneadd(jPanel1 new XYConstraints(75 166 453 277))
    jPanel1add(jScrollPane1 new XYConstraints(14 8 433 221))
    jScrollPane1getViewport()add(jTextField3 null)
    jPanel1add(jLabel5 new XYConstraints(112 240 1 1))
    contentPaneadd(jLabel4 new XYConstraints(278 111 1 1))
    }

    protected void processWindowEvent(WindowEvent e) {
    superprocessWindowEvent(e)
    if (egetID() WindowEventWINDOW_CLOSING) {
    Systemexit(0)
    }
    }

    void Select() {
    try {
    String str1 str2
    str1 jTextField1getText()
    str2 jTextField2getText()
    Connection con null
    String url jdbcodbcshebeiguanli
    String user
    String password
    ClassforName(sunjdbcodbcJdbcOdbcDriver)
    con DriverManagergetConnection(urluserpassword)
    Statement stmt concreateStatement()
    PreparedStatement pstmt conprepareStatement(
    use shebeiguanli select * from 报废记录 where 设备型号 and 设备名 )
    pstmtsetString(2 str1)
    pstmtsetString(1 str2)
    ResultSet res pstmtexecuteQuery()
    String id
    String name
    String guigedanjiadaychangjiapeonum
    String outputarea 设备型号 + 设备名称 + 报废记录 + 责 +'\n'

    if(resnext()){
    do{
    id resgetString(1)
    name resgetString(2)
    dayresgetString(5)
    peoresgetString(7)
    outputarea+ +id+ +name+ +day+ +peo+ +\n
    jTextField3setText(outputarea)
    }
    while(resnext())
    }
    else{
    jTextField3setText(存)
    }
    }catch (ClassNotFoundException e) {
    Systemoutprintln(egetMessage())
    }catch (SQLException edd) {
    eddprintStackTrace()
    Systemoutprintln(eddgetMessage())
    }
    }


    void this_ancestorMoved(HierarchyEvent e) {

    }

    void jTextField2_actionPerformed(ActionEvent e) {
    Select()
    }
    }

    class Frame6_this_hierarchyBoundsAdapter extends javaawteventHierarchyBoundsAdapter {
    Frame6 adaptee

    Frame6_this_hierarchyBoundsAdapter(Frame6 adaptee) {
    thisadaptee adaptee
    }
    public void ancestorMoved(HierarchyEvent e) {
    adapteethis_ancestorMoved(e)
    }
    }

    class Frame6_jTextField2_actionAdapter implements javaawteventActionListener {
    Frame6 adaptee

    Frame6_jTextField2_actionAdapter(Frame6 adaptee) {
    thisadaptee adaptee
    }
    public void actionPerformed(ActionEvent e) {
    adapteejTextField2_actionPerformed(e)
    }
    }


    7设备申请:
    package comniitgui_event

    import javaawt*
    import javaawtevent*
    import javaxswing*

    import javasqlDate

    import comniitdataBuyApplyData
    import comniitlogical*

    public class BuyApply extends JPanel {

    **
    *
    *
    private static final long serialVersionUID 1L
    private JLabel leId lNum
    private JPanel pUp pDown
    private JButton bApply bAgain bDelete
    private JTable t
    private JScrollPane jsp
    private JComboBox cbeId
    private JTextField tfNum

    private User user
    private StoreManager sma
    private BuyApplyData baInfo

    public BuyApply(User user) {
    super(new BorderLayout()) 设置布局理器
    thisuser user

    控件初始化
    leId new JLabel(设备编号)
    lNum new JLabel(申请数量)
    bApply new JButton(申请)
    bAgain new JButton(重置)
    bDelete new JButton(删)

    sma new StoreManager()
    baInfo new BuyApplyData()

    String[] head new String[] { 序列号 设备编号 申请 申请时间 申请数量 }
    Object[][] data smagetBuyApplyAll()
    t new JTable(data head)
    tsetRowHeight(25)
    jsp new JScrollPane(t)
    String[] eId smageteId()
    cbeId new JComboBox(eId)

    tfNum new JTextField()
    tfNumsetColumns(15)

    pUp new JPanel()
    pDown new JPanel()

    控件添加
    pUpadd(leId)
    pUpadd(cbeId)
    pUpadd(lNum)
    pUpadd(tfNum)
    pUpadd(bApply)
    pUpadd(bAgain)

    pDownadd(bDelete)

    add(pUp BorderLayoutNORTH)
    add(jsp BorderLayoutCENTER)
    add(pDown BorderLayoutSOUTH)

    添加监听器
    bApplyaddActionListener(new ListenButton())
    bAgainaddActionListener(new ListenButton())
    bDeleteaddActionListener(new ListenButton())
    }

    定义钮处理器
    class ListenButton implements ActionListener {
    public void actionPerformed(ActionEvent e) {
    if (egetSource() bApply) { 点击申请钮
    baInfoseteId(cbeIdgetSelectedItem()toString())
    baInfosetuId(usergetuId())
    baInfosetDate(new Date(SystemcurrentTimeMillis()))
    baInfosetbaNum(new Integer(tfNumgetText()))
    smaadd(baInfo)
    bAgaindoClick()
    } else if (egetSource() bAgain) { 点击重置钮
    tfNumsetText(null)
    } else if (egetSource() bDelete) { 点击删钮
    int selectedIndex 1
    for (int i 0 i < tgetRowCount() i++) {
    if (tisRowSelected(i) true)
    selectedIndex i
    }
    if (selectedIndex 1) {
    JOptionPaneshowMessageDialog(null 请先选择某项)
    return
    } else {
    int option JOptionPaneshowConfirmDialog(null 否确定删?
    提示 JOptionPaneYES_NO_CANCEL_OPTION)
    if (option JOptionPaneYES_OPTION) {
    baInfosetId(new Integer(tgetValueAt(selectedIndex 0)
    toString()))
    smadelete(baInfo)
    }
    }
    }

    刷新数表
    remove(jsp)
    String[] head new String[] { 序列号 设备编号 申请 申请时间 申请数量 }
    Object[][] data smagetBuyApplyAll()
    t new JTable(data head)
    tsetRowHeight(25)
    tvalidate()
    jsp new JScrollPane(t)
    add(jsp BorderLayoutCENTER)
    validate()
    }
    }
    }

    8审核申请:
    package comniitgui_event
    import javaawt*
    import javaawtevent*
    import javasqlDate

    import javaxswing*

    import comniitdata*
    import comniitlogical*
    class MaintainCheck extends JPanel{
    **
    *
    *
    private static final long serialVersionUID 1L
    private JLabel lLeftlRight
    private JPanel pLeftpRightpCenterpCUppCDown
    private JButton bUpbDown
    private JTable tLefttRight
    private JScrollPane jspLeftjspRight

    private User user
    public MaintainCheck(User user){
    thisuseruser
    lLeftnew JLabel(未审核列表)
    lRightnew JLabel(已审核列表)
    bUpnew JButton(通)
    bDownnew JButton(通)
    pLeftnew JPanel()
    pRightnew JPanel()
    pCenternew JPanel()
    pCUpnew JPanel()
    pCUpadd(bUp)
    pCDownnew JPanel()
    pCDownadd(bDown)
    pCentersetLayout(new GridLayout(21))
    pCenteradd(pCUp)
    pCenteradd(pCDown)
    OverLeader olnew OverLeader()
    String[] headRightnew String[]{审核表序列号申请表序列号审核审核时间审核结果}
    Object[][] dataRightolgetMaintainCheckAll()
    tRightnew JTable(dataRightheadRight)
    tRightsetRowHeight(25)
    jspRightnew JScrollPane(tRight)
    String[] headLeftnew String[]{序列号固定资产编号申请申请时间}
    Object[][] dataLeftolgetMaintainApplyAll()
    tLeftnew JTable(dataLeftheadLeft)
    tLeftsetRowHeight(25)
    jspLeftnew JScrollPane(tLeft)
    pLeftsetLayout(new BorderLayout())
    pRightsetLayout(new BorderLayout())
    pLeftadd(lLeftBorderLayoutNORTH)
    pLeftadd(jspLeftBorderLayoutCENTER)
    pRightadd(lRightBorderLayoutNORTH)
    pRightadd(jspRightBorderLayoutCENTER)
    setLayout(new GridLayout(13))
    add(pLeft)
    add(pCenter)
    add(pRight)
    bUpaddActionListener(new ListenButton())
    bDownaddActionListener(new ListenButton())
    }
    class ListenButton implements ActionListener{
    public void actionPerformed(ActionEvent e){
    int selectedIndex 1
    for (int i 0 i < tLeftgetRowCount() i++) {
    if (tLeftisRowSelected(i) true)
    selectedIndex i
    }
    if (selectedIndex 1) {
    JOptionPaneshowMessageDialog(null 请先选择某项)
    return
    } else {
    int option JOptionPaneshowConfirmDialog(null
    否确定审核申请? 提示 JOptionPaneYES_NO_CANCEL_OPTION)
    if (option JOptionPaneYES_OPTION) {
    MaintainCheckData info new MaintainCheckData()
    infosetaId(new Integer(tLeftgetValueAt(selectedIndex 0)toString()))
    infosetuId(usergetuId())
    infosetDate(new Date(SystemcurrentTimeMillis()))
    if(egetSource()bUp){
    infosetResult(通)
    }else if(egetSource()bDown){
    infosetResult(通)
    }
    OverLeader olnew OverLeader()
    oladd(info)
    }
    }
    刷新
    remove(jspLeft)
    remove(jspRight)
    OverLeader olnew OverLeader()
    String[] headRightnew String[]{审核表序列号申请表序列号审核审核时间审核结果}
    Object[][] dataRightolgetMaintainCheckAll()
    tRightnew JTable(dataRightheadRight)
    tRightsetRowHeight(25)
    tRightvalidate()
    jspRightnew JScrollPane(tRight)
    String[] headLeftnew String[]{序列号固定资产编号申请申请时间}
    Object[][] dataLeftolgetMaintainApplyAll()
    tLeftnew JTable(dataLeftheadLeft)
    tLeftsetRowHeight(25)
    tLeftvalidate()
    jspLeftnew JScrollPane(tLeft)
    pLeftsetLayout(new BorderLayout())
    pRightsetLayout(new BorderLayout())
    pLeftadd(lLeftBorderLayoutNORTH)
    pLeftadd(jspLeftBorderLayoutCENTER)
    pRightadd(lRightBorderLayoutNORTH)
    pRightadd(jspRightBorderLayoutCENTER)
    setLayout(new GridLayout(13))
    validate()
    }
    }
    }


    9信息维护(修改密码):
    package comniitgui_event

    import javaxswing*
    import javaawt*
    import javaawtevent*
    import comniitlogical*
    public class PasswdModyfy extends JPanel{

    **
    *
    *
    private static final long serialVersionUID 1L
    private JLabel lOPasswdlNPasswdlCPasswd
    private JPasswordField pfOPasswdpfNPasswdpfCPasswd
    private JButton bModifybAgain
    private JPanel[] pnew JPanel[4]
    private User user
    public PasswdModyfy(User user){
    thisuseruser
    lOPasswdnew JLabel(原密码)
    lNPasswdnew JLabel(新密码)
    lCPasswdnew JLabel(确认密码)
    pfOPasswdnew JPasswordField()
    pfOPasswdsetColumns(15)
    pfNPasswdnew JPasswordField()
    pfNPasswdsetColumns(15)
    pfCPasswdnew JPasswordField()
    pfCPasswdsetColumns(15)
    bModifynew JButton(修改)
    bAgainnew JButton(重置)
    for(int i0i p[i]new JPanel()
    p[0]add(lOPasswd)
    p[0]add(pfOPasswd)
    p[1]add(lNPasswd)
    p[1]add(pfNPasswd)
    p[2]add(lCPasswd)
    p[2]add(pfCPasswd)
    p[3]add(bModify)
    p[3]add(bAgain)

    setLayout(new GridLayout(41))
    add(p[0])
    add(p[1])
    add(p[2])
    add(p[3])

    添加监听器
    bModifyaddActionListener(new ListenButton())
    bAgainaddActionListener(new ListenButton())
    }
    class ListenButton implements ActionListener{
    public void actionPerformed(ActionEvent e){
    if(egetSource()bModify){
    usersetuPasswd(new String(pfNPasswdgetPassword()))
    if(pfNPasswdgetPassword()toString()equals()){
    JOptionPaneshowMessageDialog(null 密码空)
    return
    }
    if(userlogin(user)){
    JOptionPaneshowMessageDialog(null 原密码错误)
    bAgaindoClick()
    return
    }
    if(new String(pfNPasswdgetPassword())equals(new String(pfCPasswdgetPassword()))){
    JOptionPaneshowMessageDialog(null 密码致)
    bAgaindoClick()
    return
    }
    if(userupdate(user)1){
    JOptionPaneshowMessageDialog(null 密码修改成功您重新登录)
    bAgaindoClick()
    }
    }else{
    pfOPasswdsetText(null)
    pfNPasswdsetText(null)
    pfCPasswdsetText(null)
    }
    }
    }
    }

    五:软件测试
    1. 设计测试例
    测试方案:
    测试方案采黑盒法设计基测试方案黑盒法测试方案中采等价划分技术
    测试模块:
    ⑴ 户登陆模块
    ⑵ 设备查询模块
    ⑶ 报废记录查询模块
    ⑷ 维修记录更新模块
    ⑸ 维修记录查询模块
    ⑹ 购买设备申请模块
    ⑺ 退出系统模块
    2. 软件测试结果
    例1
    项目软件
    实验室设备理系统
    编制时间 
    20140102
    功模块名
    户登陆模块
    例编号 
    户登录表
    功特性
    户身份验证
    测试目
    验证否输入合法信息允许合法登陆阻止非法登陆
    测试数
    户名 administration 密码admin 登陆权限系统理员
    操作步骤
    操作描述

    期结果
    实际结果
    测试状态
    1
    输入户名密码登陆权限
    户名administration 密码 admin 登录
    显示进入页面
    期结果
    正常
    2
    输入户名密码登陆权限
    户名 administration 密码0000000

    密码错误
    期结果
    正常

    项目软件
    实验室设备理系统
    编制时间 
    20140102
    功模块名
    设备查询模块
    例编号 
    设备记录表
    功特性
    查询实验室设备情况
    测试数
    设备型号E002 设备名计算机 规格eeeeee 单价5000 购买日期20140102
    生产厂商联想 数量1
    操作步骤
    操作描述

    期结果
    实际结果
    测试状态
    1
    输入设备型号设备名
    设备型号E002设备名计算机
    设备型号E002 设备名计算机 规格eeeeee 单价5000 购买日期20140102
    生产厂商联想 数量1
    期结果
    正常
    2
    输入设备型号设备名
    设备名计算机
    设备型号E003
    记录
    期结果
    正常
    例3
    项目软件
    实验室设备理系统
    编制时间 
    20140103
    功模块名
    报废记录查询模块
    例编号 
    报废记录表
    功特性
    查询实验室设备报废情况
    测试数
    设备编号 E002 设备名计算机 报废日期20140103
    操作步骤
    操作描述

    期结果
    实际结果
    测试状态
    1
    输入设备编号设备名
    设备编号E002设备名计算机 报废日期20140103
    设备编号 E002 设备名计算机 报废日期20140103
    期结果
    正常
    2
    输入设备编号设备名
    设备名计算机
    设备编号 E003
    记录
    期结果
    正常

    例4
    项目软件
    实验室设备理系统
    编制时间 
    20140104
    功模块名
    设备申请模块
    例编号 
    申请表
    功特性
    查询求购买设备信息
    测试数
    设备名计算机 规格eeeeee 数量5 生产厂家联想
    操作步骤
    操作描述

    期结果
    实际结果
    测试状态
    1
    输入设备名规格数量生产厂家
    设备名计算机 规格eeeeee 数量5 生产厂家联想
    数库申请表中添加记录
    期结果
    正常


    六: 实验结
    ㈠实验容总结
    次实验求动手设计完成实验室设备理系统求实验室设备进 行统计查询设备维修报废情况处理记录够申请购买新设备拨更新申请表等系统求户登陆具定权限执行相关操作设备需报废购买需级领导审核批准
    两星期实验开始先该理系统进行需求分析出次实验理系统需设备理员级领导两角色画出系统顶层数流图配备相应数字典进入软件设计阶段理系统分成三模块:系统功模块设备理员操作模块级领导模块模块细分成具体操作模块设计系统ER图建立关系数表软件编码阶段设计系统功界面添加相应代码数库相连接实现系统功软件测试调试时测试数输入相应功界面测试系统否正常实现相应功时进行相应改进

    ㈡心体会
    通实验室设备理系统设计认识软件开发程实际描述现实世界程现实世界软件模型转化程中核心程课程设计程中遇许问题需求分析阶段完全正确握住系统功描述设计数流图时出现问题学讨程中解决问题
    次实验次难锻炼机会加深理知识理解丰富实践验整体程序开发具体软件设计全面掌握事工作坚实基础该系统许意方户界面设计够美观真正实现数库时候读取写入方便类型全部设varchar型等等时间仓促力限制进步改善次实验提高实际操作力前理升实践感性认识升理性认识真正做学
    西安wen理学院软件学院

    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 5 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    实验室建设与设备管理处处长述职报告

    实验室建设与设备管理处处长述职报告第一篇:2014年实验室建设与设备管理处处长述职报告2014年实验室建设与设备管理处处长述职报告各位领导,各位老师,上午好!现在我代表实验室建设与设备管理处述...

    12年前   
    514    0

    c++超市管理系统课程设计报告

    c++超市管理系统课程设计报告第1章 任务描述本次C++实践课题为“超市管理系统”。要求功能有A、添加商品信息,有商品编号、商品名、供应商代号、进货价、售出价、存货数等。进货:若商品已存在...

    2年前   
    552    0

    物业管理系统课程设计报告

    物业管理系统课程设计报告目 录第一章 前 言 11. 物业管理系统研究的意义 12. 数据库开发简介 13. asp.net简介 2第二章 数据库设计 31.选择数据库管理系统 ...

    3年前   
    873    0

    物流信息系统课程设计报告

    课程设计指导教师评定成绩表项目分值优秀(100>x≥90)良好(90>x≥80)中等(80>x≥70)及格(70>x≥60)不及格(x<60)评分参考标准参考标准参考标准参考标准参考标准学习态...

    4年前   
    935    0

    Web系统开发课程设计报告

    录入学生基本信息的功能学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。1.2、修改学生基本信息的功能

    4年前   
    1233    0

    某中学的排课管理系统课程设计报告

    学号《某中学的排课管理系统》课程设计报告题目:某中学的排课管理系统专业:网络工程班级:姓名:指导教师:成绩:计算机学院2017年X月X日目录一、 设计内容及要求 21.1研究的目的和意义 21...

    1年前   
    291    0

    物流系统课程设计报告书

     XX大学 物流系统课程设计报告书 学院名称 : 经济与学院 学生姓名 : 专业名称 : 物流管理 班级 : 物流班 时间 ...

    5年前   
    1597    0

    教务管理系统数据库课程设计报告

     《数据库原理》课程设计报告课程名称: 《数据库原理》课程设计 设计题目: 《教务管理系统》 指导教师: ...

    1年前   
    276    0

    车辆管理系统实验报告课程设计

     成绩: 《C++程序设计实践》报告专 业: 软件工程 班 级: 学 号: 姓 ...

    10个月前   
    277    0

    XX加工厂供配电系统设计供配电系统设计报告课程设计

    xx大学 供配电系统设计报告 课 题 某加工厂供配电系统设计 专业班级 自动化**** ...

    4年前   
    1136    0

    操作系统课程设计报告树型目录文件系统

    操作系统课程设计报告题目:树型目录文件系统 学 院 计算机学院 专 业 网络工程 年级班别 班 学 ...

    3年前   
    545    0

    物流信息系统课程设计

    交通与汽车工程学院课程设计说明书课 程 名 称: 物流信息系统设计 课 程 代 码: 1203999 题 ...

    2年前   
    647    0

    EDA与数字系统课程设计

     课 程 设 计 任 务 书(2011 ~2012 第三学期)设 计 题 目: EDA与数字系统课程设计 学 院 名 称: 电气与自动化工程学院 专 业(班 级...

    3年前   
    568    0

    驱动程序实验报告操作系统课程设计报告

    操作系统课程设计报告班级: 计科 姓名: 学号: 老师: 时间:2012年X月X日一、设计目的操作...

    1年前   
    301    0

    课程设计报告《某中小学视频监控系统设计报告》

    计算机网络技术教研室目录第1章 概述 11.1 课程设计的核心任务 21.2 课程设计工作进程 2第2章 需求分析 32.1 用户需求2.2 可行性分析 32.2.1 技术可行性 32.2.2...

    3年前   
    576    0

    《调速系统课程设计》课程设计教学指导方案

     调速系统 课程设计 教学指导方案 双闭环直流电机调速系统设计 设计题目: 电气信息学院...

    5年前   
    1461    0

    人力资源管理系统数据库设计《数据库系统原理》课程设计报告

    《数据库系统原理》课程设计报告项目名称:人力资源管理系统数据库设计专 业: 计算机科学与技术 年 级: 姓 ...

    1年前   
    419    0

    医药管理信息系统课程设计报告数据库系统原理

    《数据库系统原理》课程设计报告课程设计题目:医药管理系统班 级: 姓 名: 学 号: 指导...

    2年前   
    374    0

    某公司自助餐管理系统课程设计报告

    学号《某公司自助餐管理系统》课程设计报告题目:某公司自助餐管理系统专业:网络工程班级:姓名:指导教师:成绩:计算机学院2017年X月X日目录一、 引言 11.1背景与目的 11.2后台数据库S...

    1年前   
    292    0

    教学管理系统数据库课程设计报告

    《数据库原理与应用》课程设计课程名称 设计题目 专业班级 ...

    1年前   
    264    0

    文档贡献者

    文***品

    贡献于2022-04-21

    下载需要 5 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档