打印功能
This commit is contained in:
parent
e560b2e94e
commit
6dbebb37f3
@ -0,0 +1,11 @@
|
|||||||
|
package com.czblood.bus.constants;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打印类型
|
||||||
|
*/
|
||||||
|
public class BloodPrintTypeConstants {
|
||||||
|
/**
|
||||||
|
* 输血前评估单
|
||||||
|
*/
|
||||||
|
public static final String ASSESS_BEFORE = "ASSESS_BEFORE";
|
||||||
|
}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
package com.czblood.bus.pojo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class ReportParam {
|
||||||
|
private String billNo;
|
||||||
|
private String beinhosId;
|
||||||
|
}
|
||||||
@ -1,7 +1,74 @@
|
|||||||
package com.czblood.bus.utils;
|
package com.czblood.bus.utils;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.codec.Base64;
|
||||||
|
import com.czblood.bus.pojo.ReportParam;
|
||||||
|
import com.czblood.common.core.domain.Result;
|
||||||
|
import com.czblood.common.utils.file.FileUtils;
|
||||||
|
import com.czblood.common.utils.file.ImageUtils;
|
||||||
|
import com.czblood.common.utils.ip.IpUtils;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
import java.io.File;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
|
@Slf4j
|
||||||
public class ReportUtil {
|
public class ReportUtil {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private DataSource dataSource;
|
||||||
|
@Value("${server.port:}")
|
||||||
|
String port;
|
||||||
|
@Value("${czblood.printURL:}")
|
||||||
|
String printURL;
|
||||||
|
|
||||||
|
public Result printToPdf(String templateName, ReportParam reportParam, boolean base64) {
|
||||||
|
String staticpath= ImageUtils.getStaticPath()+ File.separator;
|
||||||
|
String pdfName1 = UUID.randomUUID().toString();
|
||||||
|
String outputPath = staticpath+ File.separator + "printPDF"+ File.separator + pdfName1 + ".pdf"; // PDF输出路径(多级目录会自动创建)
|
||||||
|
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(reportParam);
|
||||||
|
try {
|
||||||
|
Connection connection = dataSource.getConnection();
|
||||||
|
JasperReportUtil.exportToPdf(templateName, stringObjectMap, connection, outputPath);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
log.error("打印条码失败,参数{}", reportParam, e);
|
||||||
|
}
|
||||||
|
String httpPath = getPrintURL(pdfName1);
|
||||||
|
log.info("传给前端的pdf地址:{}", httpPath);
|
||||||
|
if (base64) {
|
||||||
|
//删除最后给前端的pdf文件
|
||||||
|
File file = new File(outputPath);
|
||||||
|
String data = "";
|
||||||
|
if (file.exists()) {
|
||||||
|
data = Base64.encode(file);
|
||||||
|
FileUtils.deleteFile(outputPath);
|
||||||
|
}
|
||||||
|
return new Result("0", "打印成功!", data);
|
||||||
|
} else {
|
||||||
|
return new Result("0", "打印成功!", httpPath);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public String getPrintURL(String pdfName) {
|
||||||
|
return getHttpURL("printPDF")+"/"+pdfName+".pdf";
|
||||||
|
}
|
||||||
|
public String getHttpURL(String pathChild) {
|
||||||
|
String httpPath;
|
||||||
|
if (printURL == null || printURL.isEmpty()) {
|
||||||
|
httpPath = "http://" + IpUtils.getHostIp() + ":" + port + "/" + pathChild;
|
||||||
|
} else {
|
||||||
|
httpPath = "http://" + printURL + ":" + port + "/" + pathChild;
|
||||||
|
}
|
||||||
|
return httpPath;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,18 +2,17 @@ package com.czblood.busDoctor.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.json.JSONArray;
|
import cn.hutool.json.JSONArray;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import com.czblood.bus.constants.BloodPrintTypeConstants;
|
||||||
import com.czblood.bus.mapper.XkPatientInfoMapper;
|
import com.czblood.bus.mapper.XkPatientInfoMapper;
|
||||||
import com.czblood.bus.mapper.XkTransfuseApplyBeforeMapper;
|
import com.czblood.bus.mapper.XkTransfuseApplyBeforeMapper;
|
||||||
import com.czblood.bus.mapper.XkTransfuseApplyMapper;
|
import com.czblood.bus.mapper.XkTransfuseApplyMapper;
|
||||||
import com.czblood.bus.pojo.XkPatientInfo;
|
import com.czblood.bus.pojo.*;
|
||||||
import com.czblood.bus.pojo.XkTransfuseApply;
|
|
||||||
import com.czblood.bus.pojo.XkTransfuseApplyBefore;
|
|
||||||
import com.czblood.bus.pojo.XkTransfuseApplyTestitem;
|
|
||||||
import com.czblood.bus.pojo.inter.BeforeAssessRequest;
|
import com.czblood.bus.pojo.inter.BeforeAssessRequest;
|
||||||
import com.czblood.bus.pojo.inter.GetPatientInfoRequest;
|
import com.czblood.bus.pojo.inter.GetPatientInfoRequest;
|
||||||
import com.czblood.bus.pojo.inter.GetTestResultRequest;
|
import com.czblood.bus.pojo.inter.GetTestResultRequest;
|
||||||
import com.czblood.bus.utils.BloodBankUtil;
|
import com.czblood.bus.utils.BloodBankUtil;
|
||||||
import com.czblood.bus.utils.BloodInterfaceUtil;
|
import com.czblood.bus.utils.BloodInterfaceUtil;
|
||||||
|
import com.czblood.bus.utils.ReportUtil;
|
||||||
import com.czblood.busDoctor.pojo.TransfuseApplyBeforeDTO;
|
import com.czblood.busDoctor.pojo.TransfuseApplyBeforeDTO;
|
||||||
import com.czblood.busDoctor.service.TransfuseApplyBeforeService;
|
import com.czblood.busDoctor.service.TransfuseApplyBeforeService;
|
||||||
import com.czblood.busDoctor.utils.TransfuseApplyBeforeUtil;
|
import com.czblood.busDoctor.utils.TransfuseApplyBeforeUtil;
|
||||||
@ -38,6 +37,8 @@ public class TransfuseApplyBeforeServiceImpl implements TransfuseApplyBeforeServ
|
|||||||
TransfuseApplyBeforeUtil transfuseApplyBeforeUtil;
|
TransfuseApplyBeforeUtil transfuseApplyBeforeUtil;
|
||||||
@Resource
|
@Resource
|
||||||
XkTransfuseApplyMapper xkTransfuseApplyMapper;
|
XkTransfuseApplyMapper xkTransfuseApplyMapper;
|
||||||
|
@Resource
|
||||||
|
ReportUtil reportUtil;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Result queryList(XkTransfuseApplyBefore xkTransfuseApplyBefore) {
|
public Result queryList(XkTransfuseApplyBefore xkTransfuseApplyBefore) {
|
||||||
@ -129,7 +130,10 @@ public class TransfuseApplyBeforeServiceImpl implements TransfuseApplyBeforeServ
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Result print(String billNo) {
|
public Result print(String billNo) {
|
||||||
return null;
|
//打印输血前评估单
|
||||||
|
ReportParam reportParam = new ReportParam();
|
||||||
|
reportParam.setBillNo(billNo);
|
||||||
|
return reportUtil.printToPdf(BloodPrintTypeConstants.ASSESS_BEFORE, reportParam, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Result canModify(String billNo){
|
public Result canModify(String billNo){
|
||||||
|
|||||||
11
sql/函数/f_get_hosname.sql
Normal file
11
sql/函数/f_get_hosname.sql
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
CREATE FUNCTION [dbo].[f_get_hosname]()
|
||||||
|
RETURNS varchar(255)
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
DECLARE @hospital_name VARCHAR(255);
|
||||||
|
|
||||||
|
select @hospital_name = hospital_name from xk_hos_info where sfby = 'Y' ;
|
||||||
|
|
||||||
|
return @hospital_name
|
||||||
|
END;
|
||||||
|
GO
|
||||||
Loading…
x
Reference in New Issue
Block a user