栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

OA项目之会议发布

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

OA项目之会议发布

目录
  • 一、后端
      • 1、MeetingInfoDao
      • 2、MeetingInfo
      • 3、MeetingInfoAction
      • 4、UserDao
      • 5、UserAction
      • 6、配置mvc.xml
  • 二、前端
      • 1、header.jsp
      • 2、addMeeting.jsp
      • 3、addMeeting.js
      • 4、导入formSelects文件
  • 三、运行效果

一、后端 1、MeetingInfoDao
package com.zking.dao;

import com.zking.entity.MeetingInfo;
import com.zking.util.BaseDao;

public class MeetingInfoDao extends BaseDao {
	// 添加会议信息
	public int add(MeetingInfo info) throws Exception {
		String sql = "insert into t_oa_meeting_info(title,content,canyuze,liexize,zhuchiren,rn"
				+ "location,startTime,endTime,remark) values(?,?,?,?,?,?,?,?,?)";
		return super.executeUpdate(sql, info, new String[] { "title", "content", "canyuze", "liexize", "zhuchiren",
				"location", "startTime", "endTime", "remark" });
	}
}
2、MeetingInfo
package com.zking.entity;

import java.util.Date;

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 + "]";
	}
    
}
3、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.framework.ModelDriver;
import com.zking.util.MyDateConverter;
import com.zking.util.R;
import com.zking.util.ResponseUtil;

public class MeetingInfoAction extends ActionSupport implements ModelDriver{
	private MeetingInfo info = new MeetingInfo();
	private MeetingInfoDao meetingInfoDao = new MeetingInfoDao();

	@Override
	public MeetingInfo getModel() {
		//方式二:
	    ConvertUtils.register(new MyDateConverter(),Date.class);
		return info;
	}
	
//	会议发布
	public String add(HttpServletRequest req, HttpServletResponse resp) {
		try {
			int rs = meetingInfoDao.add(info);
			if (rs > 0) {
				ResponseUtil.writeJson(resp, R.ok(200, "会议发布成功"));
			}else {
				ResponseUtil.writeJson(resp, R.error(0, "会议发布失败"));
			}
		} catch (Exception e) {
			e.printStackTrace();
			try {
				ResponseUtil.writeJson(resp, R.error(0, "会议发布失败"));
			} catch (Exception e1) {
				e1.printStackTrace();
			}
		}
		return null;
	}

}
4、UserDao
package com.zking.dao;

import java.util.List;
import java.util.Map;

import com.zking.entity.User;
import com.zking.util.BaseDao;
import com.zking.util.PageBean;
import com.zking.util.StringUtils;

public class UserDao extends BaseDao {
	public User login(User user) throws Exception {
		String sql="select * from t_oa_user where loginName='"+user.getLoginName()+"' and pwd='"+user.getPwd()+"'";
//		根据sql查询符合条件的用户,通常只会返回一条数据
		List users = super.executeQuery(sql, User.class, null);
		return users==null||users.size()==0?null:users.get(0);
//		return super.executeQuery(sql, clz, pageBean);
	}
	
	//查询用户信息及对应的角色,角色是通过case when得来的
	
	public List> list(User user,PageBean pageBean) throws Exception{
		String sql = "select * rn" + 
				"	,(case rid rn" + 
				"		when 1 then '管理者' rn" + 
				"		when 2 then '发起者' rn" + 
				"		when 3 then '审批者' rn" + 
				"		when 4 then '参与者' rn" + 
				"		when 5 then '会议室管理员' rn" + 
				"		else '其他' end rn" + 
				"	) roleName from t_oa_user where 1=1";
		String name = user.getName();
		if(StringUtils.isNotBlank(name)) {
			sql+=" and name like '%"+name+"%' ";
		}
		//实体类的属性完全包含数据库查询出来的列段的时候使用
		//super.executeUpdate(sql, User.cl, pageBean)
		//返回List>对应的是联表查询,单个实体类对象不完全包含查询的列段
		return super.executeQuery(sql, pageBean);
	}
	
	//增加
	public int add(User user) throws Exception {
		String sql = "insert into t_oa_user(name,loginName,pwd) values(?,?,?)";
		return super.executeUpdate(sql, user, new String[] {"name","loginName","pwd"});
	}
	
	//删
	public int del(User user) throws Exception {
		String sql = "delete from t_oa_user where id=?";
		return super.executeUpdate(sql, user, new String[] {"id"});
	}
	
	//改
	public int edit(User user) throws Exception {
		String sql = "update  t_oa_user set name=?,loginName=?,pwd=? where id=?";
		return super.executeUpdate(sql, user, new String[] {"name","loginName","pwd","id"});
	}
	
	public List> findAll(User user, PageBean pageBean) throws Exception {
		String sql = "SELECT name,id as value from t_oa_user";
		return super.executeQuery(sql, pageBean);
	}
}

5、UserAction
package com.zking.web;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.zking.dao.UserDao;
import com.zking.entity.User;
import com.zking.framework.ActionSupport;
import com.zking.framework.ModelDriver;
import com.zking.util.PageBean;
import com.zking.util.R;
import com.zking.util.ResponseUtil;

public class UserAction extends ActionSupport implements ModelDriver{
	
	private User user=new User();
	private UserDao userDao=new UserDao();
	
//	写一个方法处理前台的请求
	
	public String login(HttpServletRequest req, HttpServletResponse resp) {
		try {
			User u = userDao.login(user);
//			通过账户名密码查到了用户记录
			if(u!=null) {
//				ResponseUtil.writeJson(resp, new R().
//						data("code", 200).
//						data("msg", "成功"));
				ResponseUtil.writeJson(resp, R.ok(200, "成功"));
				req.getSession().setAttribute("user", u);
			}else {
//				ResponseUtil.writeJson(resp, new R().data("code", 0).data("msg", "账号密码错误"));
				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;
	}
	//用户查询
	public String list(HttpServletRequest req,HttpServletResponse resp) {
		try {
			PageBean pageBean = new PageBean();
			pageBean.setRequest(req);
			List> users = userDao.list(user, pageBean);
			//注意:layui中的数据的格式
			ResponseUtil.writeJson(resp, R.ok(0, "用户数据查询成功",pageBean.getTotal(),users));
		} catch (Exception e) {
			e.printStackTrace();
			try {
				ResponseUtil.writeJson(resp,R.error(0, "用户数据查询失败"));
			} catch (Exception e1) {
				e1.printStackTrace();
			}
 
		}
		return null;
	}
	
	public String findAll(HttpServletRequest req, HttpServletResponse resp) {
		try {
			List> users = userDao.findAll(user,null);
			ResponseUtil.writeJson(resp, R.ok(200, "获取用户多选框数据成功", users));
		} catch (Exception e) {
			e.printStackTrace();
			try {
				ResponseUtil.writeJson(resp, R.error(0, "获取用户多选框数据失败"));
			} catch (Exception e1) {
				e1.printStackTrace();
			}
		}
		return null;
	}
	
	//用户增加
	public String add(HttpServletRequest req,HttpServletResponse resp) {
		try {
			//影响行数
			int rs = userDao.add(user);
			if(rs>0) {
				ResponseUtil.writeJson(resp, R.ok(200, "用户数据新增成功"));
			}
			else {
				ResponseUtil.writeJson(resp,R.error(0, "用户数据新增失败"));
			}
		} catch (Exception e) {
			e.printStackTrace();
			try {
				ResponseUtil.writeJson(resp,R.error(0, "用户数据新增失败"));
			} catch (Exception e1) {
				e1.printStackTrace();
			}
 
		}
		return null;
	}
	
	//用户删除
	public String del(HttpServletRequest req,HttpServletResponse resp) {
		try {
			//影响行数
			int rs = userDao.del(user);
			if(rs>0) {
				ResponseUtil.writeJson(resp, R.ok(200, "用户数据删除成功"));
			}
			else {
				ResponseUtil.writeJson(resp,R.error(0, "用户数据删除失败"));
			}
		} catch (Exception e) {
			e.printStackTrace();
			try {
				ResponseUtil.writeJson(resp,R.error(0, "用户数据删除失败"));
			} catch (Exception e1) {
				e1.printStackTrace();
			}
 
		}
		return null;
	}
	
	//用户修改
	public String edit(HttpServletRequest req,HttpServletResponse resp) {
		try {
			//影响行数
			int rs = userDao.edit(user);
			if(rs>0) {
				ResponseUtil.writeJson(resp, R.ok(200, "用户数据修改成功"));
			}
			else {
				ResponseUtil.writeJson(resp,R.error(0, "用户数据修改失败"));
			}
		} catch (Exception e) {
			e.printStackTrace();
			try {
				ResponseUtil.writeJson(resp,R.error(0, "用户数据修改失败"));
			} catch (Exception e1) {
				e1.printStackTrace();
			}
 
		}
		return null;
	}
	@Override
	public User getModel() {
		// TODO Auto-generated method stub
		return user;
	}
	
}

6、配置mvc.xml



	
	
	
	
	
	
	
	


二、前端 1、header.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>










玉渊工作室
2、addMeeting.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@include file="/common/header.jsp"%>





发布会议


3、addMeeting.js
let form,layer,$,formSelects,laydate;
layui.use(['form','layer','jquery','laydate'],function(){
	form=layui.form,
	layer=layui.layer,
	$=layui.jquery,
	laydate=layui.laydate,
	//非模块化处理方式
	formSelects=layui.formSelects;
	
	//必须进行初始化操作
	formSelects.btns('canyuze', ['select', 'remove', 'reverse']);
	formSelects.btns('liexize', ['select', 'remove', 'reverse']);
	
	//会议时间组件初始化
	laydate.render({
	    elem: '#dt',
	    type: 'datetime',
	    range: '至'
	});
	
	//初始化多选下拉框
	initFormSelects();
	
	form.on('submit(meeting)', function(data){
	  console.log(data.elem) //被执行事件的元素DOM对象,一般为button对象
	  console.log(data.form) //被执行提交的form对象,一般在存在form标签时才会返回
	  console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value}
	  let rs=data.field;
	  rs['startTime']=rs.dt.split('至')[0].trim();
	  rs['endTime']=rs.dt.split('至')[1].trim();
	  rs['methodName']='add';
	  console.log(rs);
	  $.post($("#ctx").val()+'/info.action',rs,function(json){
		  if(json.success){
			  layer.msg(json.msg,{icon:6},function(){});
			  $('#btn_reset').click();
		  }else{
			  layer.msg(json.msg,{icon:5},function(){});
		  }
	  },'json');
	  return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
	});
});

//初始化多选下拉框
function initFormSelects(){
	$.getJSON($("#ctx").val()+'/user.action',{
		'methodName':'findAll'
	},function(rs){
		console.log(rs);
		formSelects.data('liexize', 'local',{arr:rs.data});
	    formSelects.data('canyuze', 'local',{arr:rs.data});
	});
}
4、导入formSelects文件

三、运行效果




转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1023761.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号