Fork me on GitHub

思创记录

获取当前用户

1
2
3
4
*service*
@Autowired
protected IUserService userService;// 统一用户服务
String userId=userService.getCurrentUser().getUserId();

列表显示数据

连表查询但获取的是一个表的数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**
* 获取当前用户参加的议题
* @param page
* @param model
* @return
* @throws SystemException
* @throws ServiceException
*/
public Page<TGxMeetingAgenda> getCurrentUserJoin(Page page, String meetingId) throws SystemException,ServiceException{
List params = new ArrayList();
StringBuffer hql=new StringBuffer("select ad from TGxMeetingMru mru,TGxMeetingAgenda ad");
hql.append(" where mru.mruMid=ad.meetingId");
hql.append(" and mru.mruAid=ad.id");
if(StringUtils.isNotBlank(meetingId)){
hql.append(" and ad.meetingId=?");
params.add(meetingId);
}
hql.append(" and mru.mruUserid=?");
params.add(userService.getCurrentUser().getUserId());
page=meetingAdDAO.find(page, hql.toString(), params.toArray());
return page;
}

单表查询数据(带条件)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/**
* author:
* description: 获取所有没有删除的会议室 page对象
* modifyer:
* description:
* @param page 分页对象
* @param model 搜索条件
* @return
* @throws SystemException
* @throws ServiceException
*/
public Page<TGxMeetingAgenda> getAllPage(Page page, TGxMeetingAgenda model) throws SystemException,ServiceException{
try{
StringBuilder hql = new StringBuilder();
List palist=new ArrayList();
hql.append("select t from TGxMeetingAgenda t where 1=1");
if(null!=model.getMeetingId()){//会议id
String meetingId = model.getMeetingId();
if(!"".equals(meetingId)&&null!=meetingId){
hql.append(" and t.meetingId = ?");
palist.add(FiltrateContent.getNewContent(meetingId));
}
}
if(null!=model.getTitle()){//议题
String mTile = model.getTitle();
if(!"".equals(mTile)&&null!=mTile){
hql.append(" and t.title like ?");
palist.add("%"+FiltrateContent.getNewContent(mTile.trim())+"%");
}
}
if(null!=model.getUserName()){//参与人员
String userName = model.getUserName();
if(!"".equals(userName)&&null!=userName){
hql.append(" and t.userName like ?");
palist.add("%"+FiltrateContent.getNewContent(userName.trim())+"%");
}
}
hql.append(" order by t.sort asc");//创建时间排序
return meetingDAO.find(page, hql.toString(), palist.toArray());
}catch(ServiceException e){
throw new ServiceException(MessagesConst.find_error,
new Object[] {"会议议题列表"});
}
}

连表查询数据(结果集为多表字段)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/**
* 分页浏览参会人员
* @param page
* @param username 搜索
* @param model
* @param logInfos
* @return
* @throws SystemException
* @throws ServiceException
*/
public Page getTGxMeetingUserPage(Page page,TGxMeetingUser model)throws SystemException,ServiceException{
try {
List palist=new ArrayList();
StringBuffer hql = new StringBuffer();
hql.append("SELECT tu.id,tu.userId,us.userName as userName,tbo.orgName as userOrgName");
hql.append(" FROM TUumsBaseUser us, ");
hql.append(" TGxMeetingUser tu,");
hql.append(" TUumsBaseOrg tbo");
hql.append(" WHERE us.userId = tu.userId ");
hql.append( "AND us.orgId = tbo.orgId");
if(null!=model.getUserName() && !"".equals(model.getUserName())){
hql.append(" and us.userName like ? ");
palist.add("%"+model.getUserName()+"%");
}
hql.append( " order by tu.id asc");
page=tGxMeetingUserDAO.find(page, hql.toString(),palist.toArray());
if(null!=page.getResult()){
List<TGxMeetingUser> tmuList=new ArrayList<TGxMeetingUser>();
TGxMeetingUser tmu=null;
List<Object> objs=page.getResult();
for(Object obj:objs){
tmu =new TGxMeetingUser();
Object[] a = (Object[]) obj;
tmu.setId(a[0].toString());
tmu.setUserId(a[1].toString());
tmu.setUserName(a[2].toString());
tmu.setUserOrgName(a[3].toString());
tmuList.add(tmu);
}
page.setResult(tmuList);
}
return page;
} catch (Exception e) {
throw new ServiceException(MessagesConst.find_error,
new Object[] { "分页搜索参会用户" });
}
}
1
2
3
4
其中结果返回对象里面加入了其他与当前对象无关字段
#加入注解@Transient不将字段加入数据库#
private String userName;//用户名字
private String userOrgName;//用户部门

添加

1
2
3
4
5
6
7
/**
* 添加
* @param model
*/
public void save(TGxMeetingUser model) {
tGxMeetingUserDAO.save(model);
}

编辑

1
2
3
4
5
6
7
/**
* 编辑实体
* @param model
*/
public void update(TGxMeetingUser model){
this.tGxMeetingUserDAO.update(model);
}

删除

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/**
* 删除参会人员根据id
* @param suggestionCode
* @param loginfos
* @throws SystemException
* @throws ServiceException
*/
public void delete(String id,OALogInfo logInfo)
throws SystemException, ServiceException {
try {
tGxMeetingUserDAO.delete(id);
} catch (Exception e) {
throw new ServiceException(MessagesConst.save_error,
new Object[] {"删除参与人员"});
}
}
1
2
3
4
5
6
7
8
9
10
11
12
**其中action里面一般批量删除**
//删除
@Override
public String delete() throws Exception {
// TODO Auto-generated method stub
String[] mrIdString = ids.split(",");
for(int i=0;i<mrIdString.length;i++){
manager.delete(mrIdString[i],new OALogInfo("会议室管理-『删除』:"+mrIdString[i]));
}
renderText("reload");
return null;
}

根据ID获取信息

1
2
3
4
5
6
7
8
9
@Transactional(readOnly=true)
public TGxMeeting getTGxMeetingById(String roomId) throws SystemException,ServiceException{
try{
return meetingDAO.get(roomId);
}catch(ServiceException e){
throw new ServiceException(MessagesConst.find_error,
new Object[] {"获取会议室信息"});
}
}

人员选择树结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/**
* 选择机构负责人,支持多选.
* @author:邓志城
* @date:2011-1-6 下午04:16:31
* @return
*/
public String chooseOrgManager() {
List<TempPo> nodes = new LinkedList<TempPo>();
try {
List<Organization> orgList = userService.getAllDeparments();//得到机构列表
Map<String,List<User>> userMap = userService.getUserMap();//得到用户MAP:KEY:机构ID,VALUE:机构下的人员列表
List<Organization> newList = new ArrayList<Organization>(orgList);
Collections.sort(newList, new Comparator<Organization>(){
@Override
public int compare(Organization o1, Organization o2) {
String code1 = o1.getOrgSyscode();
String code2 = o2.getOrgSyscode();
if(code1 != null && code2 != null) {
return code1.length() - code2.length();
}
return 0;
}
});
String root = null;
if(!newList.isEmpty()) {
root = newList.get(0).getOrgSyscode();
}
for(int i=0;i<orgList.size();i++) {//遍历塞值进去 (部门)
Organization organization = orgList.get(i);
TempPo po = new TempPo();
po.setId("o"+organization.getOrgId());
po.setName(organization.getOrgName());
String parentId = organization.getOrgParentId();
po.setType("o");
if(organization.getOrgSyscode().equals(root)) {//判断树结构是否根节点
parentId = "0";
} else {
parentId = parentId == null ? "0" : "o" + parentId;//自定义非根节点表示样式
}
po.setParentId(parentId);//---
nodes.add(po);
//添加人员
List<User> userList = userMap.get(organization.getOrgId());
if(userList != null) {
for(User u : userList) {
TempPo upo = new TempPo();
upo.setId(u.getUserId());
upo.setName(u.getUserName());
upo.setParentId(po.getId());//--对应部门
upo.setType("u");
nodes.add(upo);
}
}
}
userMap.clear();//清空
orgList.clear();//清空
}catch (Exception e) {
logger.error("选择机构负责人发生异常", e);
}
getRequest().setAttribute("data", nodes);//前台自定义树遍历值
getRequest().setAttribute("id", getRequest().getParameter("id"));
getRequest().setAttribute("ids", manager.getUserTreeIds());
return "bigtree";
}
1
其中的data在前台自定义标签里面自动遍历
-------------本文结束感谢您的阅读-------------