|
|
|
@ -8,10 +8,7 @@ package com.emr.service.ipml;
|
|
|
|
|
|
|
|
|
|
import com.emr.dao.Archive_DetailMapper;
|
|
|
|
|
import com.emr.dao.Emr_Commom_SetMapper;
|
|
|
|
|
import com.emr.entity.Archive_Detail;
|
|
|
|
|
import com.emr.entity.Archive_Detail_Vo;
|
|
|
|
|
import com.emr.entity.Emr_Commom_Set;
|
|
|
|
|
import com.emr.entity.OffsetLimitPage;
|
|
|
|
|
import com.emr.entity.*;
|
|
|
|
|
import com.emr.service.Archive_DetailService;
|
|
|
|
|
import com.emr.util.Jpg2PdfUtil;
|
|
|
|
|
import com.github.pagehelper.Page;
|
|
|
|
@ -21,6 +18,7 @@ import org.apache.shiro.util.CollectionUtils;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
import javax.servlet.http.HttpSession;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
@ -32,18 +30,55 @@ public class Archive_DetailServiceImpl implements Archive_DetailService {
|
|
|
|
|
private Archive_DetailMapper archiveDetailMapper;
|
|
|
|
|
@Autowired
|
|
|
|
|
private Emr_Commom_SetMapper commomSetMapper;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private ZdAssortService zdAssortService;
|
|
|
|
|
@Override
|
|
|
|
|
public List<Archive_Detail_Vo> selectByClo(Archive_Detail_Vo record) {
|
|
|
|
|
public List<Archive_Detail_Vo> selectByClo(Archive_Detail_Vo record, HttpServletRequest request) {
|
|
|
|
|
List<Archive_Detail_Vo> list = archiveDetailMapper.selectByClo(record);
|
|
|
|
|
//定义权限分类集合
|
|
|
|
|
List<Archive_Detail_Vo> returnList = selectPowerAssort(request, list);
|
|
|
|
|
//页码为0的计算页码
|
|
|
|
|
if(!CollectionUtils.isEmpty(list)){
|
|
|
|
|
for(Archive_Detail_Vo vo : list){
|
|
|
|
|
if(!CollectionUtils.isEmpty(returnList)) {
|
|
|
|
|
for (Archive_Detail_Vo vo : returnList) {
|
|
|
|
|
//页码为0的读取pdf文件重置页码
|
|
|
|
|
setPdfPages(vo);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return list;
|
|
|
|
|
return returnList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 转换权限分类
|
|
|
|
|
* @param request
|
|
|
|
|
* @param list
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
private List<Archive_Detail_Vo> selectPowerAssort(HttpServletRequest request, List<Archive_Detail_Vo> list) {
|
|
|
|
|
List<Archive_Detail_Vo> returnList = new ArrayList<>();
|
|
|
|
|
if(!CollectionUtils.isEmpty(list)){
|
|
|
|
|
//查询登陆者
|
|
|
|
|
List<Zd_Assort> zdAssorts = zdAssortService.selectAssortListByUserId(request);
|
|
|
|
|
if(!CollectionUtils.isEmpty(zdAssorts)){
|
|
|
|
|
//有权限组织权限分类
|
|
|
|
|
for(Archive_Detail_Vo obj : list){
|
|
|
|
|
String assortId = obj.getAssortId();
|
|
|
|
|
//定义是否有权限
|
|
|
|
|
boolean flag = false;
|
|
|
|
|
for(Zd_Assort temp : zdAssorts){
|
|
|
|
|
if(temp.getAssortId().equals(assortId)){
|
|
|
|
|
flag = true;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(flag){
|
|
|
|
|
returnList.add(obj);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
returnList = list;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return returnList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -82,7 +117,13 @@ public class Archive_DetailServiceImpl implements Archive_DetailService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public OffsetLimitPage detailByClo(Archive_Detail_Vo record, Integer offset, Integer limit) {
|
|
|
|
|
public OffsetLimitPage detailByClo(Archive_Detail_Vo record, Integer offset, Integer limit,HttpServletRequest request) {
|
|
|
|
|
Power_User currentUser = (Power_User)request.getSession().getAttribute("CURRENT_USER");
|
|
|
|
|
Integer roleId = currentUser.getRoleId();
|
|
|
|
|
//不是管理员需过滤分类权限
|
|
|
|
|
if(roleId != 0 && roleId != -100){
|
|
|
|
|
record.setUserId(currentUser.getUserId());
|
|
|
|
|
}
|
|
|
|
|
PageHelper.offsetPage(offset, limit);
|
|
|
|
|
List<Archive_Detail_Vo> list = archiveDetailMapper.detailByClo(record);
|
|
|
|
|
OffsetLimitPage offsetLimitPage = new OffsetLimitPage((Page) list);
|
|
|
|
@ -131,7 +172,7 @@ public class Archive_DetailServiceImpl implements Archive_DetailService {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
((Page<Archive_Detail_Vo>) returnList).setTotal(offsetLimitPage.getTotal());
|
|
|
|
|
((Page<Archive_Detail_Vo>) returnList).setTotal(returnList.size());
|
|
|
|
|
return new OffsetLimitPage((Page) returnList);
|
|
|
|
|
}
|
|
|
|
|
return offsetLimitPage;
|
|
|
|
|