📄 conferencemanageraction.java
字号:
if(meetinguseinfo == null || meetinguseinfo.getMeetinginfo() == null){
MeetingInfo meetingInfo = new MeetingInfo();//会议室信息实体
meetinguseinfo.setMeetinginfo(meetingInfo);
}
if(meetinguseinfo == null || meetinguseinfo.getUserInfo() == null){
UserInfo userInfo = new UserInfo();//起草人实体
meetinguseinfo.setUserInfo(userInfo);
}
if(meetinguseinfo == null || meetinguseinfo.getDept() == null){
Dept dept = new Dept();//起草部门实体
meetinguseinfo.setDept(dept);
}
meetinguseinfo.setMeetinginfoList(confManage.queryMeetingInfo());
request.setAttribute("meetinguseinfo", meetinguseinfo);
request.setAttribute("state", request.getParameter("state"));
if (S_LOGGER.isDebugEnabled()) {
S_LOGGER.debug("ConferenceManagerAction.editMeetingUseInfo()<<<<<<<<");
}
return mapping.findForward("MeetingUser");
}
/** 删除会议室预定信息
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward deleteMeetingUseInfo (ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
if (S_LOGGER.isDebugEnabled()) {
S_LOGGER.debug("ConferenceManagerAction.deleteMeetingUseInfo()>>>>>>");
}
//参数信息
BaseActionForm baseForm =new BaseActionForm();
baseForm.setId(request.getParameter("id"));
baseForm.setUser_id(request.getParameter("user_id"));
baseForm.setUser_name(request.getParameter("user_name"));
baseForm.setDept_id(request.getParameter("dept_id"));
baseForm.setDept_name(request.getParameter("dept_name"));
baseForm.setDraft_time(request.getParameter("draft_time"));
baseForm.setExigency(request.getParameter("exigency"));
baseForm.setContact_phone(request.getParameter("contact_phone"));
baseForm.setStart_time(request.getParameter("start_time"));
baseForm.setEnd_time(request.getParameter("end_time"));
baseForm.setPresent_num(request.getParameter("present_num"));
baseForm.setMetting_id(request.getParameter("metting_id"));
baseForm.setName(request.getParameter("name"));
baseForm.setIs_medium(request.getParameter("is_medium"));
baseForm.setHold_peoples(request.getParameter("hold_peoples"));
baseForm.setMeeting_content(request.getParameter("meeting_content"));
baseForm.setNote(request.getParameter("note"));
//业务实体
IConferenceManage confManage = new ConferenceManageImpl();
//会议室使用信息实体
MeetingUseInfoBean meetinguseinfo = new MeetingUseInfoBean();
if(baseForm.getId() != null && !"".equals(baseForm.getId())){//删除信息
confManage.deleteMeetingUseInfo(baseForm);
}
if(meetinguseinfo.getMeetinginfo() == null){
MeetingInfo meetingInfo = new MeetingInfo();//会议室信息实体
meetinguseinfo.setMeetinginfo(meetingInfo);
}
if(meetinguseinfo.getUserInfo() == null){
UserInfo userInfo = new UserInfo();//起草人实体
meetinguseinfo.setUserInfo(userInfo);
}
if(meetinguseinfo.getDept() == null){
Dept dept = new Dept();//起草部门实体
meetinguseinfo.setDept(dept);
}
meetinguseinfo.setMeetinginfoList(confManage.queryMeetingInfo());
request.setAttribute("meetinguseinfo", meetinguseinfo);
request.setAttribute("identity", request.getParameter("identity"));
request.setAttribute("state", request.getParameter("state"));
if (S_LOGGER.isDebugEnabled()) {
S_LOGGER.debug("ConferenceManagerAction.deleteMeetingUseInfo()<<<<<<<<");
}
return mapping.findForward("MeetingUser");
}
/** Ajax操作
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward ajaxMeetingInfoQuery (ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
if (S_LOGGER.isDebugEnabled()) {
S_LOGGER.debug("ConferenceManagerAction.ajaxMeetingInfoQuery()>>>>>>");
}
//参数信息
BaseActionForm baseForm =new BaseActionForm();
baseForm.setState(request.getParameter("state"));
baseForm.setName(request.getParameter("name"));
baseForm.setStart_time(request.getParameter("start_time"));
baseForm.setEnd_time(request.getParameter("end_time"));
baseForm.setMetting_id(request.getParameter("metting_id"));
//业务逻辑实体
IConferenceManage confManage = new ConferenceManageImpl();
//会议室预定实体bean
MeetingUseInfoBean meetingUseInfo = new MeetingUseInfoBean();
if(baseForm.getState() == null || "".equals(baseForm.getState())){//新增会议室信息时 判断是否该会议室已经存在
meetingUseInfo.setMeetinginfo(confManage.queryMeetingInfoByNameExpId(baseForm));
}else{
if("1".equals(baseForm.getState())){//根据id查询会议室预定信息 ---选择会议室时 自动带出容纳人数和是否支持电视电话会议
meetingUseInfo.setMeetinginfo(confManage.queryMeetingInfoById(baseForm));
}else if("2".equals(baseForm.getState())){//判断在该时间段内是否已经预定了该会议室
meetingUseInfo = confManage.queryMeetingUseInfoByParams(baseForm);
}
}
if(meetingUseInfo.getMeetinginfo() == null){
MeetingInfo meetingInfo = new MeetingInfo();//会议室实体
meetingUseInfo.setMeetinginfo(meetingInfo);
}
// 设置返回内容的类型
request.setCharacterEncoding("UTF-8");
response.setContentType("text/xml;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
PrintWriter out = response.getWriter();
out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
out.println("<response>");
out.println("<id>"+meetingUseInfo.getId()+"</id>");
out.println("<metting_id>"+meetingUseInfo.getMeetinginfo().getId()+"</metting_id>");
out.println("<name>"+meetingUseInfo.getMeetinginfo().getName()+"</name>");
out.println("<is_medium>"+meetingUseInfo.getMeetinginfo().getIs_medium()+"</is_medium>");
out.println("<hold_peoples>"+meetingUseInfo.getMeetinginfo().getHold_peoples()+"</hold_peoples>");
out.println("<equipment>"+meetingUseInfo.getMeetinginfo().getEquipment()+"</equipment>");
out.println("<metting_note>"+meetingUseInfo.getMeetinginfo().getNote()+"</metting_note>");
out.println("</response>");
out.flush();
out.close();
if (S_LOGGER.isDebugEnabled()) {
S_LOGGER.debug("ConferenceManagerAction.ajaxMeetingInfoQuery()<<<<<<<<");
}
return null;
}
/*********************************************************************************************************************/
public ActionForward initpage(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// (">>>> ConferenceManagerAction.pageInit()");
//得到会议时间的工具
GregorianCalendar grca = new GregorianCalendar();
Date baseDate = new Date();
grca.setTime(baseDate);
grca.add(5, +14);
// 1 得到会议管理服务的接口
IConferenceManage service = (IConferenceManage)new ConferenceManageImpl();
// 2 得到所有会议室
List meets = service.getMeetingAll();
// (">><< meets:" + meets);
// 3 得到未来15天会议室使用记录
List meetInfos = buildMeetingUseInfos(baseDate ,grca.getTime());
// (">><< meetInfos:" + meetInfos);
// (">><< meeting size: " + meetInfos.size());
request.setAttribute("Meetings", meets);
request.setAttribute("Datas", meetInfos);
request.setAttribute("DataSize", new Integer(meetInfos == null ? 0 : meetInfos.size()));
// ("<<<< ConferenceManagerAction.pageInit()");
return mapping.findForward("TOVIEWPAGE");
}
public ActionForward searchMeetingUse(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// (">>>> ConferenceManagerAction.searchMeetingUse()");
// 1 得到开始和结束时间的字符串
String startDate = request.getParameter("startDate");
String endDate = request.getParameter("endDate");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
List meets = null;
List meetInfos = null;
try {
//得到开始和结束时间
Date start = dateFormat.parse(startDate);
Date end = dateFormat.parse(endDate);
// 2 得到会议管理服务的接口
IConferenceManage service = (IConferenceManage)new ConferenceManageImpl();
// 3 得到所有会议室
meets = service.getMeetingAll();
// 4 得到指定时间段内的会议室使用记录
meetInfos = buildMeetingUseInfos(start , end);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// ("<<<< ConferenceManagerAction.searchMeetingUse()");
request.setAttribute("Meetings", meets);
request.setAttribute("Datas", meetInfos);
request.setAttribute("DataSize", new Integer(meetInfos == null ? 0 : meetInfos.size()));
return mapping.findForward("TOVIEWPAGE");
}
public ActionForward meetingUse(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// (">>>> ConferenceManagerAction.meetingUse()");
// 1 得到会议室ID 和 日期
String meetID = request.getParameter("meetingID");
String s_date = request.getParameter("date");
// (">><< meetID:" + meetID);
// (">><< s_date:" + s_date);
MeetingInfo meeting = null;
List meetingUseInfos = null;
// 2 得到会议管理服务的接口
IConferenceManage service = (IConferenceManage)new ConferenceManageImpl();
// 3 根据 会议室ID 和 日期 得到详细列表
meetingUseInfos = service.getMeetingUseInfo(meetID, s_date);
// 4 根据 会议室ID 得到一个完整的会议室信息
meeting = service.getMeetingByID(meetID);
// 5 返回到显示某个会议室下会议预定的详细信息
request.setAttribute("Meeting", meeting);
request.setAttribute("MeetingUseInfos", meetingUseInfos);
// ("<<<< ConferenceManagerAction.meetingUse()");
return mapping.findForward("TOSHOWUSEINFOPAGE");
}
/**
*
* @param statrDate 开始日期
* @param amount 个数 也就是开始时间到结束时间的间距
* @return
*/
private List buildMeetingUseInfos(Date statrDate, Date endDate){
// (">>>> ConferenceManagerAction.buildMeetingUseInfos()");
List result = null; //结果集
List meets = null; //会议室集合
String statrTime = null; //会议时间
String entTime = null; //结束时间
// 1 得到会议管理服务的接口
IConferenceManage service = (IConferenceManage)new ConferenceManageImpl();
// 2 得到所有会议室
meets = service.getMeetingAll();
// 3 以 yyyy-MM-dd 解析日期
GregorianCalendar grca = new GregorianCalendar(); // 标准日历系统
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); // 日期转化工具
/* // 3.1 得到 结束时间的字符串
grca.setTime(endDate);
entTime = dateFormat.format(grca.getTime());
*/ // 3.2 设置到开始时间
grca.setTime(statrDate);
//一天的相对毫秒的时长
long DAY = 24L * 60L * 60L * 1000L;
//得到时间间隔
int amount = (int) ((endDate.getTime() - statrDate.getTime())/DAY) + 1;
if(meets != null){
result = new ArrayList();
// 4 封装信息
for(int i=0; i<amount; i++){
Map item = new HashMap(); // list 内的每一个元素
List meetUses = new ArrayList(); // 会议室使用信息
// 4.1 如果不是第一次就+1 :因为如果第一次+1就不是传进来的时间了,是后一天,这就少了天,
if(i != 0){
grca.add(5, +1); //天数+1
}
// 4.2 解析出查询的时间
statrTime = dateFormat.format(grca.getTime());
entTime = statrTime + " 23:59:59";
// 4.3 以 |日期:会议室使用信息| 组织一条显示数据
item.put(statrTime, meetUses);
// 4.4 向会议室使用信息集合内添加数据
for(int index=0; index<meets.size(); index++){
MeetingInfo meeting = (MeetingInfo)meets.get(index);
// 4.4.1 得到当前会议室 date 时间内是否被使用
boolean use = service.isMeetingUse(meeting.getId(), statrTime, entTime);
// (">><< ID="+meeting.getId() + " 是否使用:" + use +" statrTime:" + statrTime + " entTime:" + entTime);
// 4.4.2 添加到会议室使用信息集合内
meetUses.add(new Boolean(use));
}
// 4.5 添加一条记录到结果集中去
result.add(item);
}
}
// ("<<<< ConferenceManagerAction.buildMeetingUseInfos()");
return result;
}
/**
* 方法描述 删除一个会议室管理信息
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
public ActionForward delMeetingUse(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// (">>>> delMeetingUse:");
String meetUseID = request.getParameter("meetUseID");
// (">><< meetUseID:" + meetUseID);
//参数
BaseActionForm baseForm =new BaseActionForm();
baseForm.setId(meetUseID);
//业务逻辑实体
IConferenceManage confManage = new ConferenceManageImpl();
//删除信息
confManage.deleteMeetingUseInfo(baseForm);
// ("<<<< delMeetingUse:");
return mapping.findForward("VIEWMEETINGUSEINFO");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -