📄 meetingserviceimpl.java
字号:
package com.wondersgroup.businessmodule.meetingmanage.service.impl;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.StringTokenizer;
import org.apache.struts.action.DynaActionForm;
import com.wondersgroup.basemodule.holidaymanage.web.form.SelectCollectionBean;
import com.wondersgroup.businessmodule.meetingmanage.bo.BusinessMeeting;
import com.wondersgroup.businessmodule.meetingmanage.bo.BusinessMeetingInfo;
import com.wondersgroup.businessmodule.meetingmanage.bo.BusinessMeetingInfoP;
import com.wondersgroup.businessmodule.meetingmanage.bo.BusinessMeetingPermission;
import com.wondersgroup.businessmodule.meetingmanage.bo.BusinessMeetingRoom;
import com.wondersgroup.businessmodule.meetingmanage.bo.BusinessMeetingRoomInfo;
import com.wondersgroup.businessmodule.meetingmanage.bo.BusinessMeetingRoomP;
import com.wondersgroup.businessmodule.meetingmanage.bo.MeetingInfoPPK;
import com.wondersgroup.businessmodule.meetingmanage.bo.RoomPPK;
import com.wondersgroup.businessmodule.meetingmanage.dao.BusinessMeetingDAO;
import com.wondersgroup.businessmodule.meetingmanage.dao.BusinessMeetingInfoDAO;
import com.wondersgroup.businessmodule.meetingmanage.dao.BusinessMeetingPermissionDAO;
import com.wondersgroup.businessmodule.meetingmanage.dao.BusinessMeetingRoomDAO;
import com.wondersgroup.businessmodule.meetingmanage.dao.BusinessMeetingRoomInfoDAO;
import com.wondersgroup.businessmodule.meetingmanage.dao.BusinessMeetingRoomPDAO;
import com.wondersgroup.businessmodule.meetingmanage.service.MeetingService;
import com.wondersgroup.businessmodule.meetingmanage.web.form.MeetingRequestListElement;
import com.wondersgroup.businessmodule.meetingmanage.web.form.PermissionListElement;
import com.wondersgroup.businessmodule.meetingmanage.web.form.RoomInfoListElement;
import com.wondersgroup.framework.core.bo.Page;
public class MeetingServiceImpl implements MeetingService {
/*申明DAO*/
private BusinessMeetingRoomDAO roomDAO;
private BusinessMeetingRoomInfoDAO roomInfoDAO;
private BusinessMeetingRoomPDAO roomPDAO;
private BusinessMeetingDAO meetingDAO;
private BusinessMeetingInfoDAO meetingInfoDAO;
private BusinessMeetingPermissionDAO permissionDAO;
/*申明BO*/
private BusinessMeetingRoom room;
private BusinessMeetingRoomInfo roomInfo;
private BusinessMeetingRoomP roomP;
private BusinessMeeting meeting;
private BusinessMeetingInfo meetingInfo;
private BusinessMeetingInfoP meetingInfoP;
private BusinessMeetingPermission permission;
private RoomPPK roomPPK;
private MeetingInfoPPK meetingInfoPPK;
private Page page;
private Timestamp timestamp;
private StringTokenizer token;
private PermissionListElement pElement;
/* (non-Javadoc)
* @see com.wondersgroup.businessmodule.meetingmanage.service.MeetingService#
* saveRoomInfo(java.lang.String, java.lang.String, int, java.lang.String,
* java.lang.String, java.lang.String, java.lang.String, java.lang.String,
* java.lang.String)
* 新建会议室操作
*/
public void saveRoomInfo(String name, String pos, int num, String person,
long personId, long status, String statusRes, String equ,
String remark) {
// TODO Auto-generated method stub
roomInfo = new BusinessMeetingRoomInfo();
roomP = new BusinessMeetingRoomP();
roomPPK = new RoomPPK();
room = new BusinessMeetingRoom();
/*封装BusinessMeetingRoomInfo*/
roomInfo.setName(name);
roomInfo.setCapability(num);
roomInfo.setEquipment(equ);
// roomInfo.setOperateT();
// roomInfo.setOperator(operator);
roomInfo.setPerson(person);
roomInfo.setPosition(pos);
roomInfo.setRemark(remark);
roomInfo.setStatus(status);
roomInfo.setStatusR(statusRes);
/*服务人员ID存在,封装并保存BusinessMeetingRoomP*/
if(personId != 0){
roomPPK.setPerson(personId);
roomPPK.setRoomInfo(roomInfo);
roomP.setPk(roomPPK);
Set personRel = new HashSet();
personRel.add(roomP);
roomInfo.setPersonRel(personRel);
}
// room.setOperateT(operateT);
// room.setOperator(operator)
roomInfoDAO.save(roomInfo);
room.setRemoved(0);
room.setRoomInfo(roomInfo);
roomDAO.save(room);
}
public List findAllFromRoom(){
return roomDAO.findAll();
}
/* (non-Javadoc)
* @see com.wondersgroup.businessmodule.meetingmanage.service.MeetingService#getRoomList(long, java.lang.String)
* 根据ID,会议室名字获取分页
*/
public Page getRoomList(long id, String name,int curPage,int pageSize) {
// TODO Auto-generated method stub
String hql = "select room from BusinessMeetingRoom room left outer join room.roomInfo info " +
"where room.removed=0";
String hql2 = "select count(*) from BusinessMeetingRoom room left outer join room.roomInfo info " +
"where room.removed=0";
/*如果输入的查询条件不为空,添加名字查询条件*/
if(!name.equals("")){
System.out.println("---------------");
hql += " and info.name like '%"+name+"%'";
hql2 += " and info.name like '%"+name+"%'";
}
List list1; //BO查询出来的List
List<RoomInfoListElement> list2 = new ArrayList<RoomInfoListElement>(); //封装VO后的List
RoomInfoListElement vo;
page = roomDAO.findByHQLWithPage(hql , curPage, pageSize, hql2);
/*封装VO,解决延迟加载问题*/
list1 = page.getResult();
for(int i=0;i<list1.size();i++){
room = (BusinessMeetingRoom)list1.get(i);
vo = new RoomInfoListElement();
vo.setRoomId(String.valueOf(room.getId()));
vo.setName(room.getRoomInfo().getName());
vo.setCap(String.valueOf(room.getRoomInfo().getCapability()));
vo.setEq(room.getRoomInfo().getEquipment());
vo.setPerson(room.getRoomInfo().getPerson());
vo.setPos(room.getRoomInfo().getPosition());
list2.add(vo);
}
if(list2 != null)
page.setResult(list2);
return page;
}
public void updateRoomInfo() {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see com.wondersgroup.businessmodule.meetingmanage.service.MeetingService#getRoomInfoById(long)
* 查看会议室
* 在getRoomInfoById方法中,直接封装DynaActionForm。
*/
public void getRoomInfoById(long id,DynaActionForm form) {
// TODO Auto-generated method stub
room = (BusinessMeetingRoom)roomDAO.load(id);
form.set("roomId", String.valueOf(room.getId()));
form.set("name", room.getRoomInfo().getName());
form.set("position", room.getRoomInfo().getPosition());
form.set("equ", room.getRoomInfo().getEquipment());
form.set("person", room.getRoomInfo().getPerson());
form.set("capability", String.valueOf(room.getRoomInfo().getCapability()));
form.set("status", String.valueOf(room.getRoomInfo().getStatus()));
form.set("status_r", room.getRoomInfo().getStatusR());
form.set("remark", room.getRoomInfo().getRemark());
}
/* (non-Javadoc)
* @see com.wondersgroup.businessmodule.meetingmanage.service.MeetingService#removeRoomInfo(long)
* 对会议室记录进行逻辑删除。
*/
public void removeRoomInfo(long id) {
// TODO Auto-generated method stub
room = (BusinessMeetingRoom)roomDAO.load(new Long(id));
room.setRemoved(1);
roomDAO.update(room);
}
/* (non-Javadoc)
* @see com.wondersgroup.businessmodule.meetingmanage.service.MeetingService#
* updateRoomInfo(java.lang.String, java.lang.String, int, java.lang.String,
* long, long, java.lang.String, java.lang.String, java.lang.String)
* 更新会议室记录
*/
public void updateRoomInfo(long roomId, String name, String pos, int num, String person,
long personId, long status, String statusRes, String equ, String remark) {
// TODO Auto-generated method stub
roomInfo = new BusinessMeetingRoomInfo();
roomP = new BusinessMeetingRoomP();
roomPPK = new RoomPPK();
/*封装BusinessMeetingRoomInfo*/
roomInfo.setName(name);
roomInfo.setCapability(num);
roomInfo.setEquipment(equ);
// roomInfo.setOperateT();
// roomInfo.setOperator(operator);
roomInfo.setPerson(person);
roomInfo.setPosition(pos);
roomInfo.setRemark(remark);
roomInfo.setStatus(status);
roomInfo.setStatusR(statusRes);
/*服务人员ID存在,封装并保存BusinessMeetingRoomP*/
if(personId != 0){
roomPPK.setPerson(personId);
roomPPK.setRoomInfo(roomInfo);
roomP.setPk(roomPPK);
Set personRel = new HashSet();
personRel.add(roomP);
roomInfo.setPersonRel(personRel);
}
roomInfoDAO.save(roomInfo);
room = (BusinessMeetingRoom)roomDAO.load(roomId);
room.setRoomInfo(roomInfo);
roomDAO.update(room);
}
/* (non-Javadoc)
* @see com.wondersgroup.businessmodule.meetingmanage.service.MeetingService#
* getMyRequestMeetingList(java.lang.String, java.lang.String,
* java.lang.String, long, java.lang.String)
* 我的会议申请列表
*/
public Page getMyRequestMeetingList(String userId, String startTime, String endTime,
long roomId, String title, int curPage,int pageSize) {
String hql = "select meeting from BusinessMeeting meeting left outer join meeting.meetingInfo info " +
"where (meeting.removed=0 or meeting.removed=3) and meeting.userId="+userId+" ";
String hql2 = "select count(*) from BusinessMeeting meeting left outer join meeting.meetingInfo info " +
"where (meeting.removed=0 or meeting.removed=3) and meeting.userId="+userId+" ";
List list1; //BO查询出来的List
List<MeetingRequestListElement> list2 = new ArrayList<MeetingRequestListElement>(); //封装VO后的List
MeetingRequestListElement element;
/*判断开始时间*/
if(!startTime.equals("")){
hql += "and days(info.startTime)>days('"+startTime+"') ";
hql2 += "and days(info.startTime)>days('"+startTime+"') ";
}
/*判断结束时间*/
if(!endTime.equals("")){
hql += "and days(info.endTime)<days('"+endTime+"') ";
hql2 += "and days(info.endTime)<days('"+endTime+"') ";
}
/*判断会议室查询条件*/
if(roomId != 0){
hql += "and info.room.id="+roomId+" ";
hql2 += "and info.room.id="+roomId+" ";
}
/*会议标题*/
if(!title.equals("")){
hql += "and info.title like '%"+title+"%' ";
hql2 += "and info.title like '%"+title+"%' ";
}
page = meetingDAO.findByHQLWithPage(hql, curPage, pageSize, hql2);
list1 = page.getResult();
/*如果查询出来的结果存在,进行封装为VO*/
for(int i=0;i<list1.size();i++){
meeting = (BusinessMeeting)list1.get(i);
element = new MeetingRequestListElement();
element.setTitle(meeting.getMeetingInfo().getTitle());
if(meeting.getMeetingInfo().getEndTime()!=null)
element.setEndTime(meeting.getMeetingInfo().getEndTime().toLocaleString());
else
element.setEndTime("--/--");
element.setId(String.valueOf(meeting.getId()));
element.setPerson(meeting.getMeetingInfo().getModerator());
element.setPosition(meeting.getMeetingInfo().getRoom().getRoomInfo().getPosition());
if(meeting.getMeetingInfo().getStartTime()!=null)
element.setStartTime(meeting.getMeetingInfo().getStartTime().toLocaleString());
else
element.setStartTime("--/--");
/*判断申请状态
* 标示符
* 表示当前请求所处的状态:
* 0 待发送、1 待审批、2审批未通过 3、审批通过 4、发布状态
*/
System.out.println(meeting.getStatus());
if(meeting.getStatus()== 0) element.setStatus("待发送");
else if(meeting.getStatus()== 1) element.setStatus("待审批");
else if(meeting.getStatus()== 2) element.setStatus("审批未通过");
else if(meeting.getStatus()== 3) element.setStatus("审批通过");
else element.setStatus("发布状态");
list2.add(element);
}
/*重新将VO的List封装到Page里*/
page.setResult(list2);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -