Commit a6c3daee by wangweidong

烟草系统demo修改

parent 8bd24004
...@@ -719,6 +719,5 @@ public class StringHandleUtils { ...@@ -719,6 +719,5 @@ public class StringHandleUtils {
public static int compareBig(String one, String two) { public static int compareBig(String one, String two) {
return new BigDecimal(one).compareTo(new BigDecimal(two)); return new BigDecimal(one).compareTo(new BigDecimal(two));
} }
} }
...@@ -1123,4 +1123,27 @@ public class DrugSampleController extends ServiceController<IDrugSampleService, ...@@ -1123,4 +1123,27 @@ public class DrugSampleController extends ServiceController<IDrugSampleService,
return success(baseService.submitFlow(flowDTO,getAccount())); return success(baseService.submitFlow(flowDTO,getAccount()));
} }
@ApiOperation(value = "样品数据查阅", notes = "样品数据查阅")
@ApiImplicitParams({
@ApiImplicitParam(name = PtConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = PtConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = PtConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = PtConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page-sample-data-query")
public PtResult<IPage<DrugSampleVO>> getPageSampleDataQuery(DrugSampleVO vo) {
vo.setStatusList(Lists.newArrayList(SampleStatusEnum.REPORT_MAKE,SampleStatusEnum.REPORT_CHECK,SampleStatusEnum.REPORT_ISSUE,SampleStatusEnum.END));
vo.setCompanyId(getAccount().getCompanyId());
return success(baseService.pageSampleDataQuery(getPage(), vo));
}
@ApiOperation(value = "导出低倍结果", notes = "导出低倍结果")
@PostMapping("/export_sample_test_data/")
public void exportSampleTestData(DrugSampleVO sampleVO){
baseService.exportSampleTestData(response,sampleVO);
}
} }
...@@ -92,4 +92,10 @@ public class DrugItem extends BaseEntity { ...@@ -92,4 +92,10 @@ public class DrugItem extends BaseEntity {
private BigDecimal sampleQuantity; private BigDecimal sampleQuantity;
@ApiModelProperty(value = "不合格数量")
private Integer failQuantity;
@ApiModelProperty(value = "标偏")
private String deviation;
} }
...@@ -111,6 +111,6 @@ public class DrugSample extends BaseEntity { ...@@ -111,6 +111,6 @@ public class DrugSample extends BaseEntity {
@ApiModelProperty(value = "被复检样品ID") @ApiModelProperty(value = "被复检样品ID")
private Long recheckId; private Long recheckId;
@ApiModelProperty(value = "是否流转")
private Integer flowed;
} }
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.patzn.lims.core.web.Account; import com.patzn.lims.core.web.Account;
import com.patzn.lims.core.web.IBaseService; import com.patzn.lims.core.web.IBaseService;
import com.patzn.lims.drug.entity.DrugItemOperation; import com.patzn.lims.drug.entity.DrugItemOperation;
import com.patzn.lims.drug.entity.DrugSampleOperation;
/** /**
* <p> * <p>
...@@ -22,4 +23,5 @@ public interface IDrugItemOperationService extends IBaseService<DrugItemOperatio ...@@ -22,4 +23,5 @@ public interface IDrugItemOperationService extends IBaseService<DrugItemOperatio
boolean writeChecker(Long[] ids, Account account); boolean writeChecker(Long[] ids, Account account);
boolean writeAuditor(Long[] ids, Account account); boolean writeAuditor(Long[] ids, Account account);
} }
...@@ -9,6 +9,7 @@ import com.patzn.lims.drug.entity.DrugItemAllocate; ...@@ -9,6 +9,7 @@ import com.patzn.lims.drug.entity.DrugItemAllocate;
import com.patzn.lims.drug.eunms.ItemStatusEnum; import com.patzn.lims.drug.eunms.ItemStatusEnum;
import com.patzn.lims.drug.vo.DrugItemVO; import com.patzn.lims.drug.vo.DrugItemVO;
import java.util.Collection;
import java.util.List; import java.util.List;
/** /**
...@@ -50,7 +51,7 @@ public interface IDrugItemService extends IBaseService<DrugItem> { ...@@ -50,7 +51,7 @@ public interface IDrugItemService extends IBaseService<DrugItem> {
boolean updateByCondition(Long[] ids, ItemStatusEnum allocate); boolean updateByCondition(Long[] ids, ItemStatusEnum allocate);
boolean updateByCondition(List<Long> ids, ItemStatusEnum allocate); boolean updateByCondition(Collection<Long> ids, ItemStatusEnum allocate);
boolean updateByConditionIds(List<Long> ids, ItemStatusEnum allocate); boolean updateByConditionIds(List<Long> ids, ItemStatusEnum allocate);
...@@ -82,4 +83,8 @@ public interface IDrugItemService extends IBaseService<DrugItem> { ...@@ -82,4 +83,8 @@ public interface IDrugItemService extends IBaseService<DrugItem> {
Page<DrugItemVO> pageItemFail(Page page,DrugItemVO notOK, Account account); Page<DrugItemVO> pageItemFail(Page page,DrugItemVO notOK, Account account);
StatisticSampleItem getSampleItemNum(StatisticSampleItem sampleItem, Account account); StatisticSampleItem getSampleItemNum(StatisticSampleItem sampleItem, Account account);
List<DrugItem> listBySampleIds(Long[] ids);
List<DrugItem> listBySampleIds(Collection<Long> ids);
} }
...@@ -32,6 +32,8 @@ public interface IDrugSampleOperationService extends IBaseService<DrugSampleOper ...@@ -32,6 +32,8 @@ public interface IDrugSampleOperationService extends IBaseService<DrugSampleOper
boolean updateReceiveToFlow(Account account, Long[] ids); boolean updateReceiveToFlow(Account account, Long[] ids);
boolean updateReceiveToFlow(Account account, Collection<Long> ids);
boolean updateSampleToReport(List<Long> sampleIdEnd, Account account); boolean updateSampleToReport(List<Long> sampleIdEnd, Account account);
boolean updateReportMakeInfo(Long[] ids, Account account); boolean updateReportMakeInfo(Long[] ids, Account account);
...@@ -39,4 +41,6 @@ public interface IDrugSampleOperationService extends IBaseService<DrugSampleOper ...@@ -39,4 +41,6 @@ public interface IDrugSampleOperationService extends IBaseService<DrugSampleOper
boolean updateCheckReportInfo(Long[] ids, Account account); boolean updateCheckReportInfo(Long[] ids, Account account);
boolean updateIssueReportInfo(Long[] ids, Account account); boolean updateIssueReportInfo(Long[] ids, Account account);
DrugSampleOperation getBySampleId(Long id);
} }
...@@ -11,6 +11,7 @@ import com.patzn.lims.drug.vo.DrugSampleOosVO; ...@@ -11,6 +11,7 @@ import com.patzn.lims.drug.vo.DrugSampleOosVO;
import com.patzn.lims.drug.vo.DrugSampleVO; import com.patzn.lims.drug.vo.DrugSampleVO;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.Collection;
import java.util.List; import java.util.List;
/** /**
...@@ -41,6 +42,8 @@ public interface IDrugSampleService extends IBaseService<DrugSample> { ...@@ -41,6 +42,8 @@ public interface IDrugSampleService extends IBaseService<DrugSample> {
boolean submitReceive(Long[] ids, Account account); boolean submitReceive(Long[] ids, Account account);
boolean submitReceive(Collection<Long> ids, Account account);
boolean submitReceiveToFlow(Long[] ids, Account account); boolean submitReceiveToFlow(Long[] ids, Account account);
...@@ -52,6 +55,9 @@ public interface IDrugSampleService extends IBaseService<DrugSample> { ...@@ -52,6 +55,9 @@ public interface IDrugSampleService extends IBaseService<DrugSample> {
Page<DrugSampleVO> pageVOReport(Page page, DrugSampleVO vo); Page<DrugSampleVO> pageVOReport(Page page, DrugSampleVO vo);
Page<DrugSampleVO> pageSampleDataQuery(Page page, DrugSampleVO vo);
boolean submitReportMake(Long[] ids, Account account); boolean submitReportMake(Long[] ids, Account account);
List<DrugSample> getListByIds(Long[] ids); List<DrugSample> getListByIds(Long[] ids);
...@@ -104,4 +110,5 @@ public interface IDrugSampleService extends IBaseService<DrugSample> { ...@@ -104,4 +110,5 @@ public interface IDrugSampleService extends IBaseService<DrugSample> {
boolean submitFlow(DrugSampleFlowDTO flowDTO, Account account); boolean submitFlow(DrugSampleFlowDTO flowDTO, Account account);
void exportSampleTestData(HttpServletResponse response, DrugSampleVO sampleVO);
} }
...@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.patzn.lims.core.web.IBaseService; import com.patzn.lims.core.web.IBaseService;
import com.patzn.lims.drug.entity.TestValueExtend; import com.patzn.lims.drug.entity.TestValueExtend;
import java.util.List;
/** /**
* <p> * <p>
* 检测值扩展表 服务类 * 检测值扩展表 服务类
...@@ -15,4 +17,6 @@ import com.patzn.lims.drug.entity.TestValueExtend; ...@@ -15,4 +17,6 @@ import com.patzn.lims.drug.entity.TestValueExtend;
public interface ITestValueExtendService extends IBaseService<TestValueExtend> { public interface ITestValueExtendService extends IBaseService<TestValueExtend> {
Page<TestValueExtend> page(Page<TestValueExtend> page, TestValueExtend testValueExtend); Page<TestValueExtend> page(Page<TestValueExtend> page, TestValueExtend testValueExtend);
List<TestValueExtend> listBySampleIds(Long id);
} }
package com.patzn.lims.drug.service.impl; package com.patzn.lims.drug.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.patzn.lims.core.web.Account; import com.patzn.lims.core.web.Account;
import com.patzn.lims.drug.entity.DrugItemOperation; import com.patzn.lims.drug.entity.DrugItemOperation;
import com.patzn.lims.drug.entity.DrugSample;
import com.patzn.lims.drug.entity.DrugSampleOos;
import com.patzn.lims.drug.entity.DrugSampleOperation;
import com.patzn.lims.drug.mapper.DrugItemOperationMapper; import com.patzn.lims.drug.mapper.DrugItemOperationMapper;
import com.patzn.lims.drug.service.IDrugItemOperationService; import com.patzn.lims.drug.service.IDrugItemOperationService;
import com.patzn.lims.core.web.BaseServiceImpl; import com.patzn.lims.core.web.BaseServiceImpl;
...@@ -57,4 +61,6 @@ public class DrugItemOperationServiceImpl extends BaseServiceImpl<DrugItemOperat ...@@ -57,4 +61,6 @@ public class DrugItemOperationServiceImpl extends BaseServiceImpl<DrugItemOperat
} }
} }
...@@ -178,9 +178,9 @@ public class DrugItemServiceImpl extends BaseServiceImpl<DrugItemMapper, DrugIte ...@@ -178,9 +178,9 @@ public class DrugItemServiceImpl extends BaseServiceImpl<DrugItemMapper, DrugIte
} }
} }
if ((equipMap==null||equipMap.size()==0&&(extendsMap==null||extendsMap.size()==0))){
return voPage;
}
for (DrugItemVO itemVO:list) { for (DrugItemVO itemVO:list) {
Set<String> set= equipMap.get(itemVO.getId()); Set<String> set= equipMap.get(itemVO.getId());
if (null!=set){ if (null!=set){
...@@ -392,7 +392,7 @@ public class DrugItemServiceImpl extends BaseServiceImpl<DrugItemMapper, DrugIte ...@@ -392,7 +392,7 @@ public class DrugItemServiceImpl extends BaseServiceImpl<DrugItemMapper, DrugIte
@Override @Override
public boolean updateByCondition(List<Long> ids, ItemStatusEnum allocate) { public boolean updateByCondition(Collection<Long> ids, ItemStatusEnum allocate) {
if (CollectionUtils.isEmpty(ids)){ if (CollectionUtils.isEmpty(ids)){
return false; return false;
} }
...@@ -880,4 +880,14 @@ public class DrugItemServiceImpl extends BaseServiceImpl<DrugItemMapper, DrugIte ...@@ -880,4 +880,14 @@ public class DrugItemServiceImpl extends BaseServiceImpl<DrugItemMapper, DrugIte
statisticSampleItem.setTotalSample(drugSampleService.count()); statisticSampleItem.setTotalSample(drugSampleService.count());
return statisticSampleItem; return statisticSampleItem;
} }
@Override
public List<DrugItem> listBySampleIds(Long[] ids) {
return super.list(Wrappers.<DrugItem>query().in("sample_id",ids));
}
@Override
public List<DrugItem> listBySampleIds(Collection<Long> ids) {
return super.list(Wrappers.<DrugItem>query().in("sample_id",ids));
}
} }
...@@ -70,6 +70,13 @@ public class DrugSampleOperationServiceImpl extends BaseServiceImpl<DrugSampleOp ...@@ -70,6 +70,13 @@ public class DrugSampleOperationServiceImpl extends BaseServiceImpl<DrugSampleOp
@Override @Override
public boolean updateReceiveToFlow(Account account, Collection<Long> ids) {
return super.update(new DrugSampleOperation().setReceiver(account.getUserName()).setReceiverId(account.getUserId())
.setReceiveTime(new Date()),Wrappers.<DrugSampleOperation>query().in("sample_id",ids));
}
@Override
public boolean updateSampleToReport(List<Long> sampleIdEnd, Account account) { public boolean updateSampleToReport(List<Long> sampleIdEnd, Account account) {
return super.update(new DrugSampleOperation().setTestEndTime(new Date()),Wrappers.<DrugSampleOperation>query().in("sample_id",sampleIdEnd)); return super.update(new DrugSampleOperation().setTestEndTime(new Date()),Wrappers.<DrugSampleOperation>query().in("sample_id",sampleIdEnd));
} }
...@@ -96,4 +103,9 @@ public class DrugSampleOperationServiceImpl extends BaseServiceImpl<DrugSampleOp ...@@ -96,4 +103,9 @@ public class DrugSampleOperationServiceImpl extends BaseServiceImpl<DrugSampleOp
Wrappers.<DrugSampleOperation>query().in("sample_id",ids)); Wrappers.<DrugSampleOperation>query().in("sample_id",ids));
} }
@Override
public DrugSampleOperation getBySampleId(Long id) {
return super.getOne(Wrappers.<DrugSampleOperation>query().eq("sample_id",id).last("LIMIT 1"));
}
} }
...@@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; ...@@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* <p> * <p>
* 检测值扩展表 服务实现类 * 检测值扩展表 服务实现类
...@@ -26,4 +28,9 @@ public class TestValueExtendServiceImpl extends BaseServiceImpl<TestValueExtendM ...@@ -26,4 +28,9 @@ public class TestValueExtendServiceImpl extends BaseServiceImpl<TestValueExtendM
wrapper.orderByAsc("ctime"); wrapper.orderByAsc("ctime");
return this.page(page, wrapper); return this.page(page, wrapper);
} }
@Override
public List<TestValueExtend> listBySampleIds(Long id) {
return list(Wrappers.<TestValueExtend>query().eq("item_id",id).orderByAsc("ctime"));
}
} }
...@@ -118,4 +118,8 @@ public class DrugSampleVO extends DrugSample { ...@@ -118,4 +118,8 @@ public class DrugSampleVO extends DrugSample {
@ApiModelProperty(value = "流转单位") @ApiModelProperty(value = "流转单位")
private String unit; private String unit;
@ApiModelProperty("ids字符串")
private String idsStr;
} }
package com.patzn.lims.res.service; package com.patzn.lims.res.service;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream; import java.io.InputStream;
import java.util.Map;
public interface IExportService { public interface IExportService {
String storageWord(XWPFDocument doc, String filePath);
Map<String, Object> wordToMap(String docFilePath);
String filePath(String fileName); String filePath(String fileName);
String fileFolderPath(String folder, String fileName); String fileFolderPath(String folder, String fileName);
InputStream fileWordInputStreamFolderPath(String folder, String fileName);
/** /**
* <p> * <p>
* 下载 DOCX 文件 * 下载 DOCX 文件
...@@ -26,4 +32,28 @@ public interface IExportService { ...@@ -26,4 +32,28 @@ public interface IExportService {
* @param fileName 文件名 * @param fileName 文件名
* @param doc DOCX 文档对象 * @param doc DOCX 文档对象
*/ */
void downloadDoc(HttpServletResponse response, String fileName, XWPFDocument doc);
void downloadXls(HttpServletResponse response, String fileName, HSSFWorkbook workbook);
void downloadXlsx(HttpServletResponse response, String fileName, XSSFWorkbook workbook);
void downloadXlsxs(HttpServletResponse response, String fileName, SXSSFWorkbook workbook);
XWPFDocument getXWPFDoc(String folder, String modelName);
XWPFDocument getXWPFDoc(InputStream io);
XSSFWorkbook getXSSFWorkbook(String modelName);
SXSSFWorkbook getSXSSFWorkbook(String modelName);
XSSFWorkbook getXSSFWorkbook(InputStream io);
HSSFWorkbook getHSSFWorkbook(String modelName);
} }
package com.patzn.lims.res.service.impl; package com.patzn.lims.res.service.impl;
import com.patzn.lims.core.api.PtAssert;
import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.lims.res.service.IExportService; import com.patzn.lims.res.service.IExportService;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.io.InputStream; import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URL; import java.net.URL;
import java.util.HashMap;
import java.util.Map;
/** /**
* <p> * <p>
...@@ -23,36 +31,216 @@ public class ExportServiceImpl implements IExportService { ...@@ -23,36 +31,216 @@ public class ExportServiceImpl implements IExportService {
private final Logger logger = LoggerFactory.getLogger(ExportServiceImpl.class); private final Logger logger = LoggerFactory.getLogger(ExportServiceImpl.class);
@Override
public String storageWord(XWPFDocument doc, String filePath) {
try (
ByteArrayOutputStream bos = new ByteArrayOutputStream();
FileOutputStream out = new FileOutputStream(filePath, true)
) {
doc.write(bos);
out.write(bos.toByteArray());
} catch (Exception e) {
logger.error("保存 word 异常", e);
return null;
}
return filePath;
}
@Override
public Map<String, Object> wordToMap(String docFilePath) {
String filePath = String.format("templates/word/model/%s", docFilePath);
// 兼容打包 JAR 压缩情况处理
logger.debug("doc 文件路径 {}", docFilePath);
XWPFDocument doc = null;
try (InputStream in = this.getClass().getClassLoader().getResourceAsStream(filePath)) {
doc = new XWPFDocument(in);
} catch (Exception e) {
logger.error("word 转 map 异常", e);
}
Map<String, Object> map = new HashMap<>(2);
if (null!=doc&&null != doc.getTables()) {
map.put("table", doc.getTables().iterator());
}
map.put("doc", doc);
return map;
}
@Override @Override
public String filePath(String fileName) { public String filePath(String fileName) {
URL url = this.getClass().getClassLoader().getResource("templates/word/model/" + fileName); URL url = this.getClass().getClassLoader().getResource("templates/word/model/" + fileName);
PtAssert.fail(null == url, fileName + "不存在"); RestAssert.fail(null == url, fileName + "不存在");
return url.getPath(); return url.getPath();
} }
@Override @Override
public String fileFolderPath(String folder, String fileName) { public String fileFolderPath(String folder,String fileName) {
URL url = this.getClass().getClassLoader().getResource("templates/word/" + folder + "/" + fileName); URL url = this.getClass().getClassLoader().getResource("templates/word/"+folder+"/" + fileName);
PtAssert.fail(null == url, fileName + "不存在"); RestAssert.fail(null == url, fileName + "不存在");
return url.getPath();
}
public String fileFolderPath(String fileName) {
URL url = this.getClass().getClassLoader().getResource("templates/excel/"+fileName);
RestAssert.fail(null == url, fileName + "不存在");
return url.getPath(); return url.getPath();
} }
public InputStream fileInputStreamPath(String fileName) {
InputStream url = this.getClass().getClassLoader().getResourceAsStream("templates/excel/"+fileName);
return url;
}
@Override @Override
public InputStream fileWordInputStreamFolderPath(String folder, String fileName) { public void downloadDoc(HttpServletResponse response, String fileName, XWPFDocument doc) {
InputStream io= this.getClass().getClassLoader().getResourceAsStream("templates/word/" + folder + "/" + fileName); response.reset();
PtAssert.fail(null == io, fileName + "不存在"); response.setCharacterEncoding("UTF-8");
return io; response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document");
response.addHeader("Content-Disposition", String.format("attachment; filename=%s;charset=UTF-8", fileName));
try (
ByteArrayOutputStream bos = new ByteArrayOutputStream();
OutputStream os = response.getOutputStream()
) {
doc.write(bos);
os.write(bos.toByteArray());
os.flush();
} catch (Exception e) {
logger.error("word 转 map 异常", e);
}
} }
@Override
public void downloadXls(HttpServletResponse response, String fileName, HSSFWorkbook workbook) {
response.reset();
response.setCharacterEncoding("UTF-8");
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.addHeader("Content-Disposition", String.format("attachment; filename=%s;charset=UTF-8", fileName));
try (
ByteArrayOutputStream bos = new ByteArrayOutputStream();
OutputStream os = response.getOutputStream()
) {
workbook.write(bos);
os.write(bos.toByteArray());
os.flush();
} catch (Exception e) {
logger.error("excel 转 map 异常", e);
}
}
public InputStream fileFolderPath(String fileName) { @Override
return getClass().getClassLoader().getResourceAsStream("templates/excel/" + fileName); public void downloadXlsx(HttpServletResponse response, String fileName, XSSFWorkbook workbook) {
response.reset();
response.setCharacterEncoding("UTF-8");
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.addHeader("Content-Disposition", String.format("attachment; filename=%s;charset=UTF-8", fileName));
try (
ByteArrayOutputStream bos = new ByteArrayOutputStream();
OutputStream os = response.getOutputStream()
) {
workbook.write(bos);
os.write(bos.toByteArray());
os.flush();
} catch (Exception e) {
logger.error("excel 转 map 异常", e);
}
} }
@Override
public void downloadXlsxs(HttpServletResponse response, String fileName, SXSSFWorkbook workbook) {
response.reset();
response.setCharacterEncoding("UTF-8");
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.addHeader("Content-Disposition", String.format("attachment; filename=%s;charset=UTF-8", fileName));
try (
ByteArrayOutputStream bos = new ByteArrayOutputStream();
OutputStream os = response.getOutputStream()
) {
workbook.write(bos);
os.write(bos.toByteArray());
os.flush();
} catch (Exception e) {
logger.error("excel 转 map 异常", e);
}
}
@Override
public XWPFDocument getXWPFDoc(String folder, String modelName) {
FileInputStream in;
XWPFDocument doc = null;
try {
in = new FileInputStream(new File(fileFolderPath(folder,modelName)));
doc = new XWPFDocument(in);
} catch (Exception e1) {
e1.printStackTrace();
}
return doc;
}
@Override
public XWPFDocument getXWPFDoc(InputStream io) {
XWPFDocument doc = null;
try {
doc = new XWPFDocument(io);
} catch (Exception e1) {
e1.printStackTrace();
}
return doc;
}
@Override
public XSSFWorkbook getXSSFWorkbook(String modelName){
InputStream is;
XSSFWorkbook xssfWorkbook=null;
try {
is = fileInputStreamPath(modelName);
xssfWorkbook = new XSSFWorkbook(is);
} catch (Exception e1) {
e1.printStackTrace();
}
return xssfWorkbook;
}
@Override
public SXSSFWorkbook getSXSSFWorkbook(String modelName){
InputStream is;
SXSSFWorkbook xssfWorkbook=null;
try {
is = fileInputStreamPath(modelName);
xssfWorkbook = new SXSSFWorkbook(new XSSFWorkbook(is));
xssfWorkbook.setCompressTempFiles(true); //压缩临时文件,很重要,否则磁盘很快就会被写满
} catch (Exception e1) {
e1.printStackTrace();
}
return xssfWorkbook;
}
@Override
public XSSFWorkbook getXSSFWorkbook(InputStream io) {
XSSFWorkbook xssfWorkbook=null;
try {
xssfWorkbook = new XSSFWorkbook(io);
} catch (Exception e1) {
e1.printStackTrace();
}
return xssfWorkbook;
}
@Override
public HSSFWorkbook getHSSFWorkbook(String modelName){
FileInputStream is;
HSSFWorkbook xssfWorkbook=null;
try {
is = new FileInputStream(new File(fileFolderPath(modelName)));
xssfWorkbook = new HSSFWorkbook(is);
} catch (Exception e1) {
e1.printStackTrace();
}
return xssfWorkbook;
}
} }
\ No newline at end of file
...@@ -48,10 +48,34 @@ ...@@ -48,10 +48,34 @@
</select> </select>
<sql id="iColumn">
i.ID,
i.NAME,
i.group_name,
i.group_id,
i.sample_id,
i.compare_symbol,
i.limit_value,
i.unit,
i.judged,
i.test_value,
i.status,
i.progress,
i.single_judge,
i.code,
i.standard_name,
i.type,
i.sample_quantity,
i.fail_quantity,
i.deviation ,
i.order_by
</sql>
<select id="selectVOList" resultType="com.patzn.lims.drug.vo.DrugItemVO"> <select id="selectVOList" resultType="com.patzn.lims.drug.vo.DrugItemVO">
WITH item AS ( WITH item AS (
SELECT i.* FROM drug_item i WHERE i.deleted = 0 SELECT <include refid="iColumn"/> FROM drug_item i WHERE i.deleted = 0
<if test="vo.status!=null"> <if test="vo.status!=null">
AND i.status = #{vo.status} AND i.status = #{vo.status}
</if> </if>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment