|
|
|
|
@ -19,7 +19,9 @@ 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;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
@ -39,40 +41,44 @@ public class Archive_DetailServiceImpl implements Archive_DetailService {
|
|
|
|
|
PageHelper.offsetPage(offset, limit);
|
|
|
|
|
List<Archive_Detail_Vo> list = archiveDetailMapper.detailByClo(record);
|
|
|
|
|
OffsetLimitPage offsetLimitPage = new OffsetLimitPage((Page) list);
|
|
|
|
|
if(!CollectionUtils.isEmpty(list)){
|
|
|
|
|
if(!CollectionUtils.isEmpty(list)) {
|
|
|
|
|
//定义新的集合。病程记录分类中的首次病程记录排前头
|
|
|
|
|
String strTemp = "首次病程";
|
|
|
|
|
String assortId = "AFB9FBE656D7492C80AEDE6E685A851A";
|
|
|
|
|
List<Archive_Detail_Vo> returnList = new Page<>();
|
|
|
|
|
//定义是否存在首次病程
|
|
|
|
|
boolean flagTemp = false;
|
|
|
|
|
//定义接收首次病程记录的对象
|
|
|
|
|
Archive_Detail_Vo detailVoTemp = new Archive_Detail_Vo();
|
|
|
|
|
for (int i = 0; i < list.size(); i++) {
|
|
|
|
|
if(list.get(i).getAssortId().equals(assortId) && list.get(i).getTitle().contains(strTemp)){
|
|
|
|
|
if (list.get(i).getAssortId().equals(assortId) && list.get(i).getTitle().contains(strTemp)) {
|
|
|
|
|
detailVoTemp = list.get(i);
|
|
|
|
|
list.remove(i);
|
|
|
|
|
flagTemp = true;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(!CollectionUtils.isEmpty(list)) {
|
|
|
|
|
//重新排序
|
|
|
|
|
//定义是否已添加首次病程
|
|
|
|
|
boolean flag = false;
|
|
|
|
|
for (Archive_Detail_Vo detailVo : list) {
|
|
|
|
|
if (StringUtils.isNotBlank(detailVo.getAssortId()) && detailVo.getAssortId().equals(assortId) && !flag) {
|
|
|
|
|
returnList.add(detailVoTemp);
|
|
|
|
|
flag = true;
|
|
|
|
|
if (flagTemp) {
|
|
|
|
|
if (!CollectionUtils.isEmpty(list)) {
|
|
|
|
|
//重新排序
|
|
|
|
|
//定义是否已添加首次病程
|
|
|
|
|
boolean flag = false;
|
|
|
|
|
for (Archive_Detail_Vo detailVo : list) {
|
|
|
|
|
if (StringUtils.isNotBlank(detailVo.getAssortId()) && detailVo.getAssortId().equals(assortId) && !flag) {
|
|
|
|
|
returnList.add(detailVoTemp);
|
|
|
|
|
flag = true;
|
|
|
|
|
}
|
|
|
|
|
returnList.add(detailVo);
|
|
|
|
|
}
|
|
|
|
|
returnList.add(detailVo);
|
|
|
|
|
} else {
|
|
|
|
|
//只有首次病程记录的情况
|
|
|
|
|
returnList.add(detailVoTemp);
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
//只有首次病程记录的情况
|
|
|
|
|
returnList.add(detailVoTemp);
|
|
|
|
|
((Page<Archive_Detail_Vo>) returnList).setTotal(offsetLimitPage.getTotal());
|
|
|
|
|
return new OffsetLimitPage((Page) returnList);
|
|
|
|
|
}
|
|
|
|
|
((Page<Archive_Detail_Vo>) returnList).setTotal(offsetLimitPage.getTotal());
|
|
|
|
|
return new OffsetLimitPage((Page) returnList);
|
|
|
|
|
}else{
|
|
|
|
|
return offsetLimitPage;
|
|
|
|
|
}
|
|
|
|
|
return offsetLimitPage;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ -105,32 +111,13 @@ public class Archive_DetailServiceImpl implements Archive_DetailService {
|
|
|
|
|
return archiveDetailMapper.selectByCol(record);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<Archive_Detail> selectByIdStr(Archive_Detail record) {
|
|
|
|
|
return archiveDetailMapper.selectByIdStr(record);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void getPdfToPdf(HttpServletResponse response, String imgStr, String masterId,String pdfWater) {
|
|
|
|
|
if (StringUtils.isNotBlank(masterId)) {
|
|
|
|
|
//获取废除的pdf文件名列表archive_detail
|
|
|
|
|
Archive_Detail archiveDetail = new Archive_Detail();
|
|
|
|
|
archiveDetail.setFlag("0");
|
|
|
|
|
archiveDetail.setMasterid(masterId.trim());
|
|
|
|
|
archiveDetail.setTitle(imgStr);
|
|
|
|
|
List<Archive_Detail> arList = selectByCol(archiveDetail);
|
|
|
|
|
mulFile2OneById(response, pdfWater,arList);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 封装合成pdf方法
|
|
|
|
|
* @param response
|
|
|
|
|
* @param pdfWater
|
|
|
|
|
* @param arList
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public void mulFile2OneById(HttpServletResponse response, String pdfWater, List<Archive_Detail> arList) {
|
|
|
|
|
public List<String> mulFile2OneById(HttpServletResponse response,List<Archive_Detail> arList) {
|
|
|
|
|
List<String> pdfList = new ArrayList<>();
|
|
|
|
|
if (arList != null && !arList.isEmpty()) {
|
|
|
|
|
//抽取首次病程记录
|
|
|
|
|
@ -141,7 +128,6 @@ public class Archive_DetailServiceImpl implements Archive_DetailService {
|
|
|
|
|
String assortid = arList.get(i).getAssortid();
|
|
|
|
|
if(StringUtils.isNotBlank(assortid) && assortid.equals(assortId) && arList.get(i).getTitle().contains(strTemp)){
|
|
|
|
|
strPath = arList.get(i).getPdfPath();
|
|
|
|
|
arList.remove(i);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -156,7 +142,9 @@ public class Archive_DetailServiceImpl implements Archive_DetailService {
|
|
|
|
|
pdfList.add(strPath);
|
|
|
|
|
flag = true;
|
|
|
|
|
}
|
|
|
|
|
pdfList.add(str);
|
|
|
|
|
if(!detail.getPdfPath().equals(strPath)){
|
|
|
|
|
pdfList.add(str);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
@ -164,15 +152,34 @@ public class Archive_DetailServiceImpl implements Archive_DetailService {
|
|
|
|
|
pdfList.add(strPath);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
Jpg2PdfUtil.mulFile2One(response, pdfList, pdfWater);
|
|
|
|
|
return pdfList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void selectPdfPathByIds(HttpServletResponse response,HttpSession session,String detailIds, String masterId) {
|
|
|
|
|
//获取废除的pdf文件名列表archive_detail
|
|
|
|
|
List<Archive_Detail> arList = archiveDetailMapper.selectPdfPathByIds(masterId,detailIds);
|
|
|
|
|
pdfToSession(response,session,arList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void pdfToSession(HttpServletResponse response,HttpSession session, List<Archive_Detail> arList){
|
|
|
|
|
List<String> pdfList = mulFile2OneById(response, arList);
|
|
|
|
|
//存至session
|
|
|
|
|
session.setAttribute("showRecord",pdfList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void selectByIdStr(HttpServletResponse response, HttpSession session,Archive_Detail detail) {
|
|
|
|
|
List<Archive_Detail> arList = archiveDetailMapper.selectByIdStr(detail);
|
|
|
|
|
pdfToSession(response,session,arList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void selectPdfPathByIds(HttpServletResponse response, String detailIds, String masterId,String pdfWater) {
|
|
|
|
|
if (StringUtils.isNotBlank(masterId)) {
|
|
|
|
|
//获取废除的pdf文件名列表archive_detail
|
|
|
|
|
List<Archive_Detail> arList = archiveDetailMapper.selectPdfPathByIds(masterId,detailIds);
|
|
|
|
|
mulFile2OneById(response, pdfWater,arList);
|
|
|
|
|
public void showPdf(HttpServletResponse response, HttpSession session, String pdfWater) {
|
|
|
|
|
List<String> pdfList = (List<String>)session.getAttribute("showRecord");
|
|
|
|
|
if(!CollectionUtils.isEmpty(pdfList)) {
|
|
|
|
|
Jpg2PdfUtil.mulFile2One(response, pdfList, pdfWater);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|