目录
背景:
会议是公司日常管理的重要手段之一,为了更好的协调部门与部门之间、员工与员工之间的工作,并保证公司的日常事物高效并且有序的进行。卓京集团公司决定实施会议OA系统;希望通过这个系统完成会议发起、审批、进行、投票、会议室管理的规范化管理;
会议是一个涉及多个部门,存在一定流程的工作,会议开展的效率决定整个公司的各项事务的开展效率;该会议OA系统将确保会议的高效进行,并且在线记录会议纪要及整个会议中的详细过程;
一、会议OA的原型图业务介绍
这次项目的介绍分为三个板块:会议管理、投票管理、会议室管理
投票管理界面:
会议室管理界面:
会议室管理界面:
这次的项目分享侧重分享和实现会议管理的功能
二、会议OA的表设计
会议管理:
系统管理:(角色权限表在本次分享项目中不会使用)
会议室管理:
三、会议新增
效果:
登录完后进入主界面:(顺便填个信息)
提交成功:
去所有会议里查看:
增加会议成功
源代码:
1、实体类
MeetingInfo:
package com.zking.entity;
import java.util.Date;
//数据库会议信息表t_oa_meeting_info对应的实体类
public class MeetingInfo {
private Long id;
private String title;
private String content;
private String canyuze;
private String liexize;
private String zhuchiren;
private String location;
private Date startTime;
private Date endTime;
private String fujian;
private Integer state;
private String seatPic;
private String remark;
private String auditor;
public String getAuditor() {
return auditor;
}
public void setAuditor(String auditor) {
this.auditor = auditor;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getCanyuze() {
return canyuze;
}
public void setCanyuze(String canyuze) {
this.canyuze = canyuze;
}
public String getLiexize() {
return liexize;
}
public void setLiexize(String liexize) {
this.liexize = liexize;
}
public String getZhuchiren() {
return zhuchiren;
}
public void setZhuchiren(String zhuchiren) {
this.zhuchiren = zhuchiren;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
public Date getStartTime() {
return startTime;
}
public void setStartTime(Date startTime) {
this.startTime = startTime;
}
public Date getEndTime() {
return endTime;
}
public void setEndTime(Date endTime) {
this.endTime = endTime;
}
public String getFujian() {
return fujian;
}
public void setFujian(String fujian) {
this.fujian = fujian;
}
public Integer getState() {
return state;
}
public void setState(Integer state) {
this.state = state;
}
public String getSeatPic() {
return seatPic;
}
public void setSeatPic(String seatPic) {
this.seatPic = seatPic;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public MeetingInfo() {
super();
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "MeetingInfo [id=" + id + ", title=" + title + ", content=" + content + ", canyuze=" + canyuze
+ ", liexize=" + liexize + ", zhuchiren=" + zhuchiren + ", location=" + location + ", startTime="
+ startTime + ", endTime=" + endTime + ", fujian=" + fujian + ", state=" + state + ", seatPic=" + seatPic + ", remark=" + remark + "]";
}
}
2、dao方法
MeetingInfoDao:
package com.zking.dao;
import com.zking.entity.MeetingInfo;
import com.zking.util.BaseDao;
public class MeetingInfoDao extends BaseDao<MeetingInfo>{
//会议信息新增
//增加会议的方法
public int add(MeetingInfo t) throws Exception {
String sql = "insert into t_oa_meeting_info(title,content,canyuze,liexize,zhuchiren,location,startTime,endTime,remark) values(?,?,?,?,?,?,?,?,?)";
return super.executeUpdate(sql, t, new String[] {"title","content","canyuze","liexize","zhuchiren","location","startTime","endTime","remark"});
}
}
3、Action
MeetingInfoAction :
package com.zking.web;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.ConvertUtils;
import com.zking.dao.MeetingInfoDao;
import com.zking.entity.MeetingInfo;
import com.zking.framework.ActionSupport;
import com.zking.mvc.ModelDriven;
import com.zking.util.MyDateConverter;
import com.zking.util.R;
import com.zking.util.ResponseUtil;
public class MeetingInfoAction extends ActionSupport implements ModelDriven<MeetingInfo> {
private MeetingInfo mi = new MeetingInfo();
private MeetingInfoDao mid = new MeetingInfoDao();
@Override
public MeetingInfo getModel() {
//注册一个转换器
ConvertUtils.register(new MyDateConverter(), Date.class);
return mi;
}
//增加的方法
public String add(HttpServletRequest req, HttpServletResponse resp) {
try {
//rs是SQL语句执行的影响行数
int rs = mid.add(mi);
//判断
if(rs > 0) {
ResponseUtil.writeJson(resp, R.ok(200, "会议信息数据新增成功"));
}
else {
ResponseUtil.writeJson(resp, R.ok(0, "会议信息数据新增失败"));
}
} catch (Exception e) {
e.printStackTrace();
try {
ResponseUtil.writeJson(resp, R.ok(0, "会议信息数据新增失败"));
} catch (Exception e1) {
e1.printStackTrace();
}
}
return null;
}
}
4、配置mvc
mvc.xml:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<action path="/user" type="com.zking.web.UserAction">
</action>
<action path="/permission" type="com.zking.web.PermissionAction">
</action>
<action path="/info" type="com.zking.web.MeetingInfoAction">
</action>
</config>
四、多功能下拉框
layui之formSelects多选组件定义:
文档地址:
https://hnzzmsf.github.io/example/example_v4.html#download
下载地址:
https://github.com/hnzzmsf/layui-formSelects
下载后是一个压缩包,解压后:
layui-formSelects-master--> dist
引入那些js和css到项目中就可以了
顺便引入js和script
<!-- 引入formSelects核心css -->
<link rel="stylesheet" href="${pageContext.request.contextPath }/static/js/plugins/formSelects/formSelects-v4.css" />
<!-- 引入formSelects核心js -->
<script src="${pageContext.request.contextPath }/static/js/plugins/formSelects/formSelects-v4.js" type="text/javascript" charset="utf-8"></script>
好啦!今天的分享就到这里啦!咱们下次再见!