精华内容
下载资源
问答
  • JSP校园宿舍报修系统

    2020-09-18 14:59:04
    JSP校园宿舍报修系统
  • 高校宿舍报修系统-(以厦门工学院为例子) 目 录 第1章 绪论 1 1.1 研究背景 1 1.2 研究意义 1 1.3 研究内容 2 1.4 论文组织 2 第二章 系统分析 2 2.1 系统可行性研究 2 2.1.1 经济可行性 2 2.1.2 技术可行性 3 ...
  • 采用java技术构建的一个管理系统。整个开发过程首先对系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计...
  • ArrayBuffer wx.base64ToArrayBuffer(string base64) ArrayBuffer ArrayBuffer 对象 ...报修王物业报修依托小程序“即用即走”的理念,改变了用户报修必须打电话或者去前台反馈的方式;一分钟即可快速创.
    ArrayBuffer wx.base64ToArrayBuffer(string base64)
    ArrayBuffer
    ArrayBuffer 对象
    const base64 = 'CxYh'
    const arrayBuffer = wx.base64ToArrayBuffer(base64)

    用户通过微信“扫一扫”扫描维护项目的二维码或贴在设备上的二维码,即可进入报修王小程序进行故障报修。

    报修王物业报修依托小程序“即用即走”的理念,改变了用户报修必须打电话或者去前台反馈的方式;一分钟即可快速创建自己的小程序报修平台。

    困惑物业公司最大的问题是报修难,修补难,处理难。作为物业管理的从业人员,想必都有处理过各种报修的事项。不仅要处理小区业主关于房屋问题的报修,还要处理小区内各种设施设备的保修,保障小区公共区域的正常使用,这就考验着物业公司内部之间的协作。 

    物业报修登记一般需要报修填写如下资料:接报时间、通知工程处、接报日期、报修单元/部门、报修人、联系电话、报修内容、备注、开单人 接修人

    因此新微云针对这种情况,开发了一款微信扫码一键报修小程序,将报修二维码贴在住户能看到的地方,遇到问题直接扫码提交,由物业修补负责人一起分配给物业修补人员,经过体系完毕记载缺陷报修进程。

    如下是我们开发的一键报修小程序

     

    1)急修项目分为:
    A、物业共用部位、共用设备、公共设施损坏发生危险;
    B、因室内线路故障而引起停电和漏电;
    C、因水泵故障和进水表内的水管爆裂造成停水和龙头严重漏水;
    D、水落管、落水管堵塞和水盘等设备漏水;
    E、电梯故障,不能正常行驶;
    F、楼地板、扶梯踏步板断裂和阳台、晒台、扶梯等各种扶手栏杆松动、损坏;
    G、其他属于危险性急修项目。


    2)一般项目分为:
    A、各类钢、木们窗损坏;
    B、水卫设备零件损坏;
    C、屋面渗漏水;

    展开全文
  • 基于Java的宿舍报修管理系统

    千次阅读 热门讨论 2018-12-18 16:00:55
    一、背景: 随着社会的发展,教育事业的完善,全国范围...但是目前我校采用的仍然是传统的手工记录报修的方式,不仅使用不方便,而且影响时效性,结合目前市面上常见的家电安装的形式,我们特此开发一套临沂大学宿舍...

    一、背景:
    随着社会的发展,教育事业的完善,全国范围内受教育的人数在逐渐递增,临沂大学有三万多的在校生,宿舍管理成为重中之重。宿舍是学生生活和学习的重要场所,但因宿舍的使用率的居高不下,导致宿舍物品的损坏数量不断递增,后勤每天都有着大量的工作需要完成。
    但是目前我校采用的仍然是传统的手工记录报修的方式,不仅使用不方便,而且影响时效性,结合目前市面上常见的家电安装的形式,我们特此开发一套临沂大学宿舍报修系统,期望大大提升宿舍维修的效率。

    1. 维修工分类维护,电工、管道工、暖气工等等工种,按分类录入员工,姓名,性别,工号,分类,负责楼号,创建一个维修工,则建立相应的账号,账号密码都为工号。
    2. 宿舍信息管理,因为宿舍信息基本不会发生变化,可以用一个 文件保存宿舍信息即可,包括楼号,校区,生活区和房间号。
    3. 学生信息管理,录入相应学生信息,姓名、性别、学号、辅导员、以及相应的宿舍,每录入一个学生信息,相应的生成学生的账号,账号密码都为学号。
    4. 报修管理:每个学生在登录系统后都可进行维修需求的上报,上报时需录入姓名、学号、联系方式、宿舍号、维修分类(水、电、暖等等,该分类要和维修工分类相互对应)以及内容描述。
    5. 维修分配:学生在提报维修需求以后,系统按照负责楼号、维修分类的顺序,自动的将相应的维修需求分类所 负责这个楼的维修工种的师傅,按照谁的任务少分给谁的原则分配。
    6. 维修师傅在登陆系统后可查看自己需要维修的内容,并且根据联系方式和地址进行维修,维修结束后需要在系统中对相应的维修任务的状态设置成完成。
    7. 按照楼号统计每个楼的维修任务;按照维修工统计每个维修工的工作量;按照维修种类统计每种维修种类的维修数量。提示:可以通过JFreeChart以柱状图的形式体现,参考:https://blog.csdn.net/angel_g/article/details/69139584
    8. 系统分配相应的维修任务给维修工以后,发送邮件到维修工的邮箱;维修工在完成相应的任务后发送邮件给相应的报修人员。提示:可以通过JavaMail实现邮件发送,参考:https://www.cnblogs.com/ysocean/p/7666061.html
      通过这个系统,学校可以实现维修的及时性,大大提升了维修工作的效率,为学生营造出一个舒心的甚或环境。
    展开全文
  • java学生宿舍设备报修系统 ssh+mysql 可作为毕业设计 代码完整 保证可以跑通 如果跑步起来可以私信我
  • 大学
  • 宿舍报修平台的小程序实现

    千次阅读 2019-05-11 19:43:54
    目录项目背景需求调查项目目标项目评估项目范围项目需求实现形式...目前某校宿舍报修缺乏系统化程序,市面上缺少对应软件,学生报修意见难以收集统合,宿舍维修时间、地点不便安排,为学生生活和学校管理均造成了较...

    5.26 修改内容:加入了项目结构化需求分析。
    6.2 修改内容:加入了产品设计原型图以及产品项目进度。
    6.9 修改内容:加入了用例图、静态UML图、动态UML图。

    项目背景

    需求调查

    目前某校宿舍报修缺乏系统化程序,市面上缺少对应软件,学生报修意见难以收集统合,宿舍维修时间、地点不便安排,为学生生活和学校管理均造成了较大不便。

    数据采样

    形式:问卷调查。
    参与人:北京理工大学学生共计48人。
    问卷结果:https://www.wjx.cn/mobile/statnew.aspx?activity=39500742&reportid=
    结果概述:

    • 绝大多数人认为手机端报修很方便。
    • 最经常需要报修的是门、灯。
    • 大部分人倾向于自己制定维修时间。
    • 对于是否允许系统自动修改维修时间存在争议。

    项目目标

    甲方需求为:学生在报修平台登记宿舍号及床号、损坏设施等信息,系统即可通过一定的排序自动安排维修时间并通知修理师傅,简化宿舍报修流程。
    现应甲方需求,本团队将要开发一款微信小程序,该程序具备相应功能,可以对宿舍报修情况进行改善。

    项目前景

    目前市面上缺少竞争者,该项目具备良好前景。如果开发成功,将独占本领域。

    项目评估

    • 甲方需求简洁明了,所需功能在乙方能力范围内可以达成。
    • 项目实现性强,具备较高完成可能。
    • 甲方便于沟通,需求可以实时调整。
    • 乙方缺少开发经验,开发速度可能受限。
    • 同类项目较少,缺少借鉴实例,不排除遇到开发困难的可能性。

    项目范围

    项目需求

    总需求可见上文项目目标。其他具体需求在与甲方进一步沟通后会列在此处。

    • 系统可以推荐维修时间供用户选择。
    • 维修物设立优先级。
    • 根据报修顺序设立优先级。

    结构化需求分析

    概述

    功能分解如图。
    在这里插入图片描述
    优先级划分:按照维修物品和报修时间进行优先级划分。

    过程建模

    DFD 图如图。
    在这里插入图片描述
    微规格说明如图。
    在这里插入图片描述
    数据字典如图。
    在这里插入图片描述

    数据建模

    简单情况下的ERD建模如图。
    在这里插入图片描述
    硬数据ERD建模如图。
    在这里插入图片描述

    用例图

    在这里插入图片描述

    静态UML图

    类图如下。
    在这里插入图片描述

    动态UML图

    交互图如下。
    在这里插入图片描述
    状态图如下。
    在这里插入图片描述
    活动图如下。
    在这里插入图片描述

    实现形式

    形式不限。本组计划采用微信小程序的完成形式。

    产品设计原型图

    用户注册界面如下。
    在这里插入图片描述
    学生端界面如下三图。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    管理员端界面如下图。
    在这里插入图片描述

    涉众分析

    使用该小程序的人员应为宿舍入住学生及宿舍维修人员。小程序具备分辨使用者身份,并提供不同功能的能力。

    运营成本

    该小程序应具备自动运行能力,不需投入过高运营成本和维护成本。

    范围规划

    完成具备上述功能的小程序的设计、实验以及运行。

    开发成本

    无。

    截止时间

    本项目须在五周内完成。

    沟通结果

    线上交流

    第一次线上交流

    交流概述

    确定了产品总需求和达成形式,明确了更进一步的产品需求。

    截图

    在这里插入图片描述

    文本记录

    甲方:
    宿舍报修平台需求就是
    1.填写宿舍号,要报修的设施
    2.系统按照优先级会自动为每个报修的宿舍安排修理的时间段
    3.通知宿舍大致的修理时间
    比如A、B、C宿舍依次报修,那系统就会先优先安排A宿舍,其次才是B、C。
    大概就是这么个流程
    乙方:
    收到。

    线下交流

    第一次线下交流

    交流概述

    时间:2019/5/15 9:30-10:00。
    地点:北京理工大学图书馆一楼。
    甲方代表:陈家辉。
    乙方代表:郑祥喆。
    向甲方汇报了市场调研的结果,针对其中部分调查结果,与甲方进行了解决方案的协议。甲方同意修改部分需求,肯定了本组部分创意。

    照片记录

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    文本记录

    乙方:甲方你好。这里是我们的第一次市场调研结果。根据调查显示,大部分潜在用户认为,应该自己预约上门维修的时间,而且针对是否允许系统自动修改维修时间存在争议。请问是否可以修改甲方需求,以迎合大众需求呢?
    甲方:可以将需求修改成这样:系统提供几个可行的时间,供用户在其中选择方便的时间进行维修的预约,这样可以同时解决两个问题。
    乙方:好的。然后,根据调查的另一个结果,宿舍内经常需要报修的物件和设备有很多种,比如门、灯就是最经常需要报修的。那我们是否可以根据不同的报修物,来区分维修的优先程度呢?
    甲方:比如说?
    乙方:比如床这类设备,我们应当设置最高的优先级,最好在当天内完成维修。而风扇、灯就可以稍后再安排。
    甲方:同意。
    乙方:那么甲方还有什么附加的需求吗?
    甲方:暂时没有了。如果有需求,我们随时联系。
    乙方:好的。

    项目计划

    开发小组

    王童欣

    文档撰写,学生客户端设计,统筹协调开发工作。

    郑祥喆

    协调交流,项目提交,技术博客管理及维护。

    钟沅

    学生客户端设计,创意设计,功能测试。

    何佳欢

    宿管客户端设计,美术设计。

    于家豪

    宿管客户端设计,产品宣传,功能测试。

    开发安排

    因该项目开发时间安排具备不确定性,故先以开发任务安排的形式设计该项目的制作,再为各项任务限定完成时间。

    开发任务

    市场调查

    通过问卷调查、路边采访等形式确定大众需求,为项目开发确定更具体的功能目标。

    程序搭建

    根据用户需求编写对应程序的阿尔法版本,经调试后交予甲方,确定甲方进一步需求。

    程序改进

    根据进一步需求改善程序设计,完成贝塔版本,经调试后投入市场进行试运行一段时间,根据试运行结果进一步优化。

    项目交付

    完成全部优化设计后,将项目成品交付甲方,完成项目合约。

    时间安排

    根据实际开发进度及甲方需求,开发时间安排可能修改,以下时间仅供参考。
    2019.5.9——5.12
    市场调查
    2019.5.12——5.19
    程序搭建
    2019.5.19——6.2
    程序改进
    2019.6.3
    项目交付

    项目进度

    本周工作安排:
    钟沅、王童欣完成对小程序代码的更改,修复已发现的问题。
    于家豪、何佳欢完成对后台数据库的补充。
    郑祥喆负责修改技术博客,等待项目改进完成后交付甲方。
    截止至2019.6.9,本组产品程序已经可以运行,仍在积极测试并处理发现的问题。

    展开全文
  • 宿舍保修系统这是一个关于宿舍报修系统的整个架构包括设计模型和各种E-R图
  • 采用java技术构建的一个管理系统。整个开发过程首先对系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计...
  • Java-学生宿舍管理系统

    万次阅读 多人点赞 2018-12-30 10:29:03
    这次记录的是最近完成的实训作业,学生宿舍管理系统,使用Java swing...宿舍楼管理员能查询上面提到的宿舍楼的所有相关信息,包括某一学号的学生在宿舍楼中住宿的详细信息,快件收发的所有信息,报修的所有信息,...

    PS:最近好多人反应源代码没有了,我看了下是有的,只是CSDN不跳转到GitHub了,要源代码的可以拉到最下面,右键超链接跳转就可以了                                                      --2021/06/22

     

     

     

     

    这次记录的是最近完成的实训作业,学生宿舍管理系统,使用Java swing完成界面设计,数据库用的是SQL server,IDE使用的是IDEA

    学生宿舍管理系统的用户有宿管和学生,宿管有最高的权限,学生只有部分权限,

    一、宿舍楼管理员:
        a.
    信息要求:

    宿舍楼管理员能查询上面提到的宿舍楼的所有相关信息,包括某一学号的学生在宿舍楼中住宿的详细信息,快件收发的所有信息,报修的所有信息,夜归的详细信息和学生离返校的信息。以利于对整个宿舍楼的全面管理。

    b.处理要求:

    当学生基本信息发生变化时,宿舍楼管理员能对其进行修改。比如,某些同学搬到其他的宿舍中去,他们在本宿舍楼中相应的记录就应该删去;或者学生转换专业,他们记录中院系的信息也要作相应的修改等等。

    当宿舍楼的电话号码发生变更时,宿舍楼管理员能根据有关证明做出修改。

    当快件到达本宿舍楼时,宿舍楼管理员应依据到达快件的相关信息在快件信息中插入一条记录,当同学们接收快件后,管理员应登记快件的接收时间,表明该信件已成功到达收信人的手中。

    当宿舍财产报修及时解决后,管理员应登记解决时间,表明该报修问题已成功解决。

    二、本宿舍楼的学生:

        a.信息要求:

    本宿舍楼的学生能查询其所在的宿舍的所有信息,能查询本楼的指定宿舍的电话号码以利于同楼宿舍间的通信。能查询自己的快件信息。能查询自己的夜归记录和离返校记录。

    b.处理要求:

    本宿舍楼的学生能在报修信息表中插入报修信息,表示本宿舍的财产发生了损毁需要学校派人维修。·

    学生离校时,能在离返校记录表中插入离校时间;学生返校后,能在离返校记录表中插入返校时间,表示已经回校。

    根据下面来建立表

    住宿学生数据字典:

    属性名

    存储代码

    类型

    长度

    备注

    学号

    Sno

    char

    20

    住宿学生学号

    姓名

    Sname

    char

    20

    住宿学生姓名

    性别

    Ssex

    char

    4

     

    专业

    Sdept

    char

    40

    学生专业

    宿舍号

    Dno

    char

    6

    住宿学生宿舍号

    入住时间

    Scheckin

    date

    8

    新生搬入时间

    宿舍数据字典:

    属性名

    存储代码

    类型

    长度

    备注

    宿舍号

    Dno

    char

    6

     

    宿舍电话

    Dphone

    char

    15

     

    宿舍财产数据字典:

    属性名

    存储代码

    类型

    长度

    备注

    物品号

    Pno

    Int

    2

    宿舍物品编号

    物品名

    Pname

    char

    20

    宿舍物品名

    邮件快递数据字典:

    属性名

    存储代码

    类型

    长度

    备注

    姓名

    Sname

    char

    20

    收件人姓名

    宿舍号

    Dno

    char

    6

    收件人宿舍号

    到达时间

    Marrive

    date

    8

    邮件快递到达时间

    接收时间

    Mreceive

    date

    8

    收件人接收时间

    邮件数量

    Mnumber

    tinyint

    2

    学生收到邮件数量

    报修数据字典:

    属性名

    存储代码

    类型

    长度

    备注

    宿舍号

    Dno

    char

    6

    报修人宿舍号

    物品号

    Pno

    Int

    2

    报修物品编号

    提交日期

    Rsubmit

    date

    8

    报修提交日期

    解决日期

    Rsolve

    date

    8

    问题解决日期

    报修原因

    Rreason

    char

    50

    物品损坏原因

    晚归数据字典:

    属性名

    存储代码

    类型

    长度

    备注

    学号

    Sno

    char

    20

    晚归学生姓名

    宿舍号

    Dno

    char

    6

    晚归学生宿舍号

    晚归时间

    Btime

    timestamp

    14

    学生晚归时间

    晚归原因

    Breasonr

    Char

    10

    学生晚归原因

    离校数据字典:

    属性名

    存储代码

    类型

    长度

    备注

    学号

    Sno

    char

    20

    离校学生姓名

    宿舍号

    Dno

    char

    6

    离校学生宿舍号

    离校时间

    Ltime

    date

    8

    学生离校时间

    返回时间

    Lreturn

    date

    8

    学生返校时间

    用户数据字典:

    属性名

    存储代码

    类型

    长度

    备注

    用户ID

    Uname

    char

    20

     

    用户密码

    Upassword

    char

    20

     

    用户类型

    Utype

    tnyint

    1

    普通或超级用户

     

     

    本次使用了卡片布局器(CardLayout)和选项卡布局器(JTabbedPane)来构成界面主体,登录界面和操作界面之间使用卡片布局器进行切换,(控件的位置请忽略,因为我懒得弄好看了......)

    正确输入用户名,密码之后切换到操作界面

    操作界面使用选项卡布局器来操作不同的表

    界面和操作界面代码(前面忘了说了,因为只是为了完成实训作业,并没有想着后期的维护,所以我的代码写的很烂,只是完成了功能,我会加上注释让你们尽可能的看明白,日后再把代码规范起来):

    public class login extends JFrame implements ActionListener {
        JLabel user, password;
        JTextField username;
        JPasswordField passwordField;
        JButton loginButton;
        CardLayout cardLayout = new CardLayout();
        JPanel card;
        JPanel cardPanel;
        JTabbedPane jTabbedPane;
        int type=1;
        Users users;
    
    
    
        public login() {
            init();
        }
    
        private void init() {//初始化界面
            setTitle("宿舍管理系统");
            setLayout(new BorderLayout());
            user = new JLabel("用户名");
            password = new JLabel("密码");
    
            card = new JPanel(cardLayout);
    
            JPanel panel1 = new JPanel(new BorderLayout());
    
            username = new JTextField();
            passwordField = new JPasswordField();
            loginButton = new JButton("登录");
            loginButton.addActionListener(this);
    
            JPanel titlepanel = new JPanel(new FlowLayout());//标题面板
            JLabel title = new JLabel("学生宿舍管理系统");
            titlepanel.add(title);
    
            JPanel loginpanel = new JPanel();//登录面板
            loginpanel.setLayout(null);
    
            user.setBounds(50, 20, 50, 20);
            password.setBounds(50, 60, 50, 20);
            username.setBounds(110, 20, 120, 20);
            passwordField.setBounds(110, 60, 120, 20);
            loginpanel.add(user);
            loginpanel.add(password);
            loginpanel.add(username);
            loginpanel.add(passwordField);
    
            panel1.add(titlepanel, BorderLayout.NORTH);
            panel1.add(loginpanel, BorderLayout.CENTER);
            panel1.add(loginButton, BorderLayout.SOUTH);
    
    
            card.add(panel1, "login");
            //card.add(cardPanel, "info");
    
            add(card);
            setBounds(600, 200, 900, 600);
            setVisible(true);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
    
        public static void main(String[] args) {
            new login();
        }
    
        @Override
        public void actionPerformed(ActionEvent e) {
            boolean flag=false;//用来标志用户是否正确
    
            if (e.getSource() == loginButton) {
                ArrayList<Users> list = new CheckUsers().getUsers();//获得所有用户信息
                for (int i = 0; i < list.size(); i++) {//遍历所有用户信息,以此来判断输入的信息是否正确
                    users = list.get(i);
                    String passwordStr = new String(passwordField.getPassword());
                    if (username.getText().equals(users.getName()) && passwordStr.equals(users.getPassword())) {
                        if(users.getType()==1){//如果时学生
                            type=users.getType();
                            JOptionPane.showMessageDialog(null, "欢迎登录(学生)", "学生宿舍管理系统", JOptionPane.PLAIN_MESSAGE);
                        }else{//如果时宿管
                            type=users.getType();
                            System.out.println(type);
                            JOptionPane.showMessageDialog(null, "欢迎登录(宿管)", "学生宿舍管理系统", JOptionPane.PLAIN_MESSAGE);
                        }
                        flag = true;
                        break;//如果信息正确就退出遍历,提高效率
                    }
                }
                if(!flag){//信息不正确,重新输入
                    JOptionPane.showMessageDialog(null, "请输入正确的用户名或密码", "警告",JOptionPane.WARNING_MESSAGE);
                    username.setText("");
                    passwordField.setText("");
                }else{
                    //当输入的信息正确时,就开始加载选项卡界面,并把选项卡界面加入到卡片布局器中
                    DormitoryInfo dormitoryInfo = new DormitoryInfo(users,type);//宿舍信息
                    Express express = new Express(type,users);//快件信息
                    Renovation renovation = new Renovation(type,users);//维修信息
                    OutAndIn outAndIn = new OutAndIn(type,users);//学生离校和回校信息
                    Things things=new Things(type,users);//宿舍物品信息
                    Later later = new Later(type,users);//晚归信息
                    cardPanel = new JPanel();
                    jTabbedPane = new JTabbedPane(JTabbedPane.LEFT);
                    jTabbedPane.add("宿舍信息", dormitoryInfo);
                    jTabbedPane.add("快件信息", express);
                    jTabbedPane.add("维修信息", renovation);
                    jTabbedPane.add("学生离校与返校", outAndIn);
                    jTabbedPane.add("晚归记录", later);
                    jTabbedPane.add("宿舍物品", things);
                    cardPanel.add(jTabbedPane);
                    card.add(cardPanel, "info");
                    cardLayout.show(card, "info");//输入信息正确就显示操作界面,否则重新输入正确信息
                }
            }
        }
    }

    数据库的数据显示:我用的是表格来显示数据,这样能够看起来整齐点

        JTable table=new JTable();
        String[] col = { "学号", "姓名", "性别","专业","宿舍号","入住时间" };
        DefaultTableModel mm = new DefaultTableModel(col, 0); // 定义一个表的模板
    
    
    while (resultSet.next()){//把数据库中的数据添加到表格中
                        String Sno=resultSet.getString(1);
                        String Sname=resultSet.getString(2);
                        String Ssex=resultSet.getString(3);
                        String Sdept=resultSet.getString(4);
                        String Dno=resultSet.getString(5);
                        String Scheckin=resultSet.getString(6);
                        String[] data={Sno,Sname,Ssex,Sdept,Dno,Scheckin};
                        mm.addRow(data);
                    }

     

     

    SQL server连接

    SQL server的下载。和SQL server的JDBC怎么搞,我这里就不多说了,网上教程很多,也不难

    public class GetConnection {
        private Connection con=null;
        public Connection GetConnection(){
            String URL="jdbc:sqlserver://localhost:1433;DatabaseName=students";
            String USER="sa";
            String KEY="********";
    
            try {
                Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
                con= DriverManager.getConnection(URL, USER, KEY);
            } catch (Exception e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }
            return con;
        }
    }

    因为代码不少,全部放上来有点太长了,所以我这里只写其中一个,其他的都是大同小异无非就是对数据库的增删改查,源码我会放在我的Github上

    宿管对于宿舍信息的操作,当有学生换宿舍或者换专业的时候,宿管能够对该学生的宿舍信息进行修改并保存到数据库中,

    代码:(再次声明,我的代码只是为了完成作业,不建议像我这样写代码,很杂乱,不仅难理解还难维护)

    public class DormitoryInfo extends JPanel implements ActionListener {
        Connection connection = new GetConnection().GetConnection();
        Users users;//当前用户
        int type;//用户类型
        String Dno="";//宿舍号
        JTable table=new JTable();
        String[] col = { "学号", "姓名", "性别","专业","宿舍号","入住时间" };
        DefaultTableModel mm = new DefaultTableModel(col, 0); // 定义一个表的模板
        JLabel Sdept,suse,name;
        JTextField SdeptText,suseText,nameText;
        JButton submit;
        JPanel suguan;
        public DormitoryInfo(Users users,int type){//从登录界面传回,用户名和用户类型
            this.type=type;
            this.users=users;
            setLayout(new FlowLayout());
    
            table.setModel(mm);
            table.setRowSorter(new TableRowSorter<>(mm));//排序
            JPanel jPanel=new JPanel(new FlowLayout());
            JScrollPane js=new JScrollPane(table);
            jPanel.add(js);
    
            add(jPanel);
            search();
        }
    
        private void search(){
            PreparedStatement state;
            ResultSet resultSet;
            if(type==1){//如果是学生,只显示学生自己宿舍的信息
                try {
                    inquire();
                    String select="select Dno from student where Sname"+"="+"'"+users.getName()+"'";
                    state=connection.prepareStatement(select);
                    resultSet=state.executeQuery();
                    while (resultSet.next()){
                        Dno=resultSet.getString("Dno");
                    }
                    System.out.println(users.getName()+users.getName().length());
                    select="select*from student where Dno"+"="+"'"+Dno+"'";
                    state=connection.prepareStatement(select);
                    resultSet = state.executeQuery();
                    while (resultSet.next()){
                        String Sno=resultSet.getString(1);
                        String Sname=resultSet.getString(2);
                        String Ssex=resultSet.getString(3);
                        String Sdept=resultSet.getString(4);
                        String Dno=resultSet.getString(5);
                        String Scheckin=resultSet.getString(6);
                        String[] data={Sno,Sname,Ssex,Sdept,Dno,Scheckin};
                        mm.addRow(data);
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }else if(type==2){//如果是宿管,则显示全部学生的宿舍
                try {
                    xiugai();
                    state=connection.prepareStatement("select *from student");
                    resultSet = state.executeQuery();
                    while (resultSet.next()){
                        String Sno=resultSet.getString(1);
                        String Sname=resultSet.getString(2);
                        String Ssex=resultSet.getString(3);
                        String Sdept=resultSet.getString(4);
                        String Dno=resultSet.getString(5);
                        String Scheckin=resultSet.getString(6);
                        String[] data={Sno,Sname,Ssex,Sdept,Dno,Scheckin};
                        mm.addRow(data);
                    }
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
    
        }
    
        private void inquire(){//学生只能查询任意宿舍的电话
            suse=new JLabel("宿舍号");
            suseText=new JTextField(10);
            submit=new JButton("查询");
            submit.addActionListener(this);
           suguan=new JPanel(new GridLayout(2, 2));
           suguan.add(suse);suguan.add(suseText);suguan.add(submit);
           add(suguan);
        }
    
    
        private void xiugai(){//宿管修改学生的宿舍信息
            Sdept=new JLabel("学院");
            suse=new JLabel("宿舍号");
            SdeptText=new JTextField(10);
            suseText=new JTextField(10);
            name=new JLabel("名字");
            nameText=new JTextField(10);
            suguan=new JPanel(new GridLayout(4, 2));
            submit=new JButton("提交");
            submit.addActionListener(this);
            suguan.add(name);suguan.add(nameText);
            suguan.add(Sdept);suguan.add(SdeptText);
            suguan.add(suse);suguan.add(suseText);
            add(suguan);
            suguan.add(submit);
        }
        @Override
        public void actionPerformed(ActionEvent e) {
            if(e.getSource()==submit&&type==2){//如果点击按钮的是宿管
                try {
                    if (suseText.getText().length()>0&&SdeptText.getText().length()==0){//只修改宿舍号
    
                        Statement statement = connection.createStatement();
                        String sql="update student set Dno="+"'"+suseText.getText()+"'"+"where Sname"+"="+"'"+nameText.getText()+"'";
                        statement.executeUpdate(sql);
                        PreparedStatement state;
                        ResultSet resultSet;
                        state=connection.prepareStatement("select *from student");
                        resultSet = state.executeQuery();
                        while(mm.getRowCount()>0){//把表格进行刷新,下次显示的时候重头开始显示
                            //System.out.println(model.getRowCount());
                            mm.removeRow(mm.getRowCount()-1);
                        }
                        while (resultSet.next()){//把更新后的数据重新显示到表格中,下同
                            String Sno=resultSet.getString(1);
                            String Sname=resultSet.getString(2);
                            String Ssex=resultSet.getString(3);
                            String Sdept=resultSet.getString(4);
                            String DDno=resultSet.getString(5);
                            String Scheckin=resultSet.getString(6);
                            String[] data={Sno,Sname,Ssex,Sdept,DDno,Scheckin};
                            mm.addRow(data);
                        }
                    }
                  if(suseText.getText().length()==0&&SdeptText.getText().length()>0){//只修改所在系
                        Statement statement = connection.createStatement();
                        String sql="update student set Sdept="+"'"+SdeptText.getText()+"'"+"where Sname"+"="+"'"+nameText.getText()+"'";
                        statement.executeUpdate(sql);
                        PreparedStatement state;
                        ResultSet resultSet;
                        state=connection.prepareStatement("select *from student");
                        resultSet = state.executeQuery();
                        while(mm.getRowCount()>0){//把表格进行刷新,下次显示的时候重头开始显示
                            //System.out.println(model.getRowCount());
                            mm.removeRow(mm.getRowCount()-1);
                        }
                        while (resultSet.next()){
                            String Sno=resultSet.getString(1);
                            String Sname=resultSet.getString(2);
                            String Ssex=resultSet.getString(3);
                            String Sdept=resultSet.getString(4);
                            String DDno=resultSet.getString(5);
                            String Scheckin=resultSet.getString(6);
                            String[] data={Sno,Sname,Ssex,Sdept,DDno,Scheckin};
                            mm.addRow(data);
                        }
                    }
                    if(suseText.getText().length()>0&&SdeptText.getText().length()>0){//同时修改专业和宿舍
                        Statement statement = connection.createStatement();
                        String sql="update student set Sdept="+"'"+SdeptText.getText()+"'"+", Dno="+ "'"+suseText.getText()+"'"   +"where Sname"+"="+"'"+nameText.getText()+"'";
                        statement.executeUpdate(sql);
                        PreparedStatement state;
                        ResultSet resultSet;
                        state=connection.prepareStatement("select *from student");
                        resultSet = state.executeQuery();
                        while(mm.getRowCount()>0){//把表格进行刷新,下次显示的时候重头开始显示
                            //System.out.println(model.getRowCount());
                            mm.removeRow(mm.getRowCount()-1);
                        }
                        while (resultSet.next()){
                            String Sno=resultSet.getString(1);
                            String Sname=resultSet.getString(2);
                            String Ssex=resultSet.getString(3);
                            String Sdept=resultSet.getString(4);
                            String DDno=resultSet.getString(5);
                            String Scheckin=resultSet.getString(6);
                            String[] data={Sno,Sname,Ssex,Sdept,DDno,Scheckin};
                            mm.addRow(data);
                        }
                    }
    
                } catch (Exception e1) {
                    e1.printStackTrace();
                }
            }
            if(e.getSource()==submit&&type==1){//如果是学生的身份进入
                PreparedStatement state;
                ResultSet resultSet;
                try {
                    state=connection.prepareStatement("select Dphone from Dormitory where Dno ="+"'"+suseText.getText()+"'");
                    resultSet = state.executeQuery();
                    while (resultSet.next()){
                        //suse.setText("电话");
                        suseText.setText(resultSet.getString("Dphone"));
                    }
                } catch (SQLException e1) {
                    e1.printStackTrace();
                }
    
            }
        }
    }

    这里提几个可能会遇到的问题,至少是我遇到的问题

    1.当我们更新完数据,再次显示数据的时候会发现,上一次显示的并没有消失,而是会叠加

    解决这个问题只需要再每次显示新数据的时候,把表格之前的数据都删除掉就行了

     while(mm.getRowCount()>0){//获得当前表格的行数,如果大于0就删除
                            mm.removeRow(mm.getRowCount()-1);//列名不删除
                        }

    2.SQL server的char 类型和varchar类型,一开始设计表的时候,字符全都是char类型,但是在登录时,即使信息输入正确还是没法登录,后来才知道char时定长的,如果你的字符长度不够,它会在后面用空格补充,所以在验证的时候即使信息看似正确了,但后面其实跟着空格,除非你能够确定你每个字符的长度,否则建议使用varchar,varchar是变长的,你保存的字符是多长,它就是多长,是可变的,这就让信息判断很方便准确了,

     

    其他的操作都跟上面介绍的那个差不多,只是实现的功能不同,但界面都是相同的,我就不一一介绍了,有需要的就去我GitHub看看吧

    GitHub

     

     

    展开全文
  • 系统基于SSM实现后勤报修管理功能,前端采用DIV+CSS布局处理,采用异步请求AJAX发送请求和接受消息,数据库采用MYSQL,开发工具使用IDEA或ECLIPSE,提供基于MAVEN和非MAVEN两种版本供使用。 主要包含三个角色: ...
  • 设计一个基于微信小程序学生宿舍报修app,主要是给宿舍的学生使用!当宿舍有各种设备坏了,比如水电出问题了,门窗烂了坏了,各种生活用户坏了都可以上报到这个app系统,我们管理员收到学生的上报记录后会安排技术...
  • 第十章 缺勤管理、报修管理、来访人员管理以及公告管理 提示:本博客个为人独立博客,不是权威,仅供参考!所有思路只做交流之用!如有不足之处,望各位在评论区友善指正。 文章目录第十章 缺勤管理、报修管理、...
  • 校园故障报修分为《图书馆报修》,《学生宿舍报修》,《电教中心报修》提供故障报修服务,解决售后故障报修问题。 学校的日常后勤维修任务重,工单数量庞大,需要有专业的系统实现学生,教职工报修,数据统计,外包...
  • 系统很好的结合网站和微信公众号,使得网站页面能够自适应手机端和PC端,确保网站运营后共享链接到微信平台能够正常打开,在校学生能通过关注学校后勤...从而达到拓宽学生宿舍报修渠道,创新后勤人员工作方式的目的。
  • 高等院校是培养大学生成才的...系统开发目的与意义 ①解决学生,维修工以及后勤部三者之间信息交流难问题。 ②解决整个维修流程的时间差问题,提高维修的工作效率。 ③实现无纸化操作,解决维修信息遗漏,损坏等问题。
  • 学生宿舍管理系统数据库模板,包括系统管理员,宿舍管理员,学生,报修维护表,考勤记录表,学生宿舍楼管理表,宿舍管理表
  • 学生宿舍管理系统

    2013-04-19 14:15:19
    学生宿舍管理系统,可以订水、报修、邮件查询等
  • 宿舍管理系统

    2016-09-17 13:05:00
    宿舍管理,包括人员信息管理,寝室卫生、费用、报修管理 提供宿管、学生、超级管理员界面 系统开发软件环境及硬件环境 软件开发环境:visual studio 2013,sql 2008 R2,Microsoft.net framework,...
  • sql学生宿舍管理系统

    2011-12-22 15:56:58
    系统考虑了最为普遍的宿舍管理需求,可以有效的管理数据.主要功能有:宿舍基本信息的管理,宿舍调整管理,宿舍报修管理,宿舍同学晚归管理,宿舍访客管理. 本系统界面友好、操作简单、比较实用。
  • 宿舍管理系统_app 宿舍管理系统数据库、宿舍楼信息表、宿舍员工表、学生登录表...学生登录主界面、查询报修情况信息界面(学生)、查询退宿情况信息界面、查询宿舍楼信息界面、登录界面、查询学生晚归信息界面、主界面
  • 数据库课设----宿舍管理系统java编写。主要是对宿舍进行管理,包括学生入住搬离、宿舍卫生检查、来访人员登记、宿舍报修、学生信息查询、宿舍信息查询等等,具体在文件的报告中叙述
  • JavaWeb-学生宿舍管理系统

    万次阅读 多人点赞 2019-02-11 15:05:11
    但是是用Java swing写的,swing版学生宿舍管理系统,最近在学servlet和jsp之类的web知识,所以就想把之前的学生宿舍管理系统写成Web,该系统能够完成登录,查询宿舍信息,查询快件,报修,离校和返校登记以及晚归...
  • 开展智慧校园,提高校园故障报修新模式,搭建专业的校园二维码报修系统,新时代新概念,学校作为培养输出人才的地方,更加大了信息化建设,通过青鸟报修云系统,学校的学生可以通过扫码报修宿舍及教学楼的各种故障,...

空空如也

空空如也

1 2 3 4 5 6
收藏数 109
精华内容 43
关键字:

宿舍报修系统