feat:增加门诊缴费模板-T2

This commit is contained in:
石崇礼 2025-03-25 21:00:46 +08:00
parent e36ffeb994
commit b2f2e8cd49
3 changed files with 78 additions and 12 deletions

View File

@ -20,8 +20,12 @@ public enum ReceiptTemplateEnum {
/** /**
* 门诊缴费的模板 * 门诊缴费的模板
*/ */
OUTPATIENT_PAYMENT("3", "outpatientPayment", "门诊缴费的小票"), OUTPATIENT_T1("3", "outpatientPayment", "门诊缴费的小票-T1"),
/**
* 门诊缴费的模板
*/
OUTPATIENT_T2("4", "department", "门诊缴费的小票-T2"),
; ;

View File

@ -83,7 +83,7 @@ public class RegisterServiceImpl implements PrintService {
} }
} catch (IOException e) { } catch (IOException e) {
log.error(""); log.error("图片分段错误");
e.printStackTrace(); e.printStackTrace();
} }
}else { }else {
@ -101,16 +101,17 @@ public class RegisterServiceImpl implements PrintService {
param.put("alignment", 0); // 对齐方式 param.put("alignment", 0); // 对齐方式
param.put("offsetX", 0); // x param.put("offsetX", 0); // x
param.put("offsetY", 0); // y param.put("offsetY", 0); // y
param.put("resolution", 8); // 1\2\4\6\8打印的清晰度 param.put("resolution", 1); // 1\2\4\6\8打印的清晰度
param.put("mediaCtrl", 1); // 媒介类型当前为打印缓冲区 + 弹出 + 剪纸 param.put("mediaCtrl", 1); // 媒介类型当前为打印缓冲区 + 弹出 + 剪纸
param.put("fields", StringUtils.join(filePathList, "&")); param.put("fields", StringUtils.join(filePathList, "&"));
lexMarkDTO.setParam(param.toJSONString()); lexMarkDTO.setParam(param.toJSONString());
LexMarkResultDTO<LexMarkResultDTO.Param> paramLexMarkResultDTO = thirdService.callDevice(lexMarkDTO, LexMarkResultDTO.Param.class); LexMarkResultDTO<LexMarkResultDTO.Param> paramLexMarkResultDTO = thirdService.callDevice(lexMarkDTO, LexMarkResultDTO.Param.class);
for (String path : deletePathList) { for (String path : deletePathList) {
if ( path != null && !path.isEmpty()) {
File file = new File(path); File file = new File(path);
// 检查文件是否存在 // 检查文件是否存在
if (file.exists() ) { if (file.exists()) {
// 尝试删除文件 // 尝试删除文件
if (file.delete()) { if (file.delete()) {
log.info("文件删除成功: " + path); log.info("文件删除成功: " + path);
@ -121,6 +122,7 @@ public class RegisterServiceImpl implements PrintService {
log.info("文件不存在: " + path); log.info("文件不存在: " + path);
} }
} }
}
// this.thirdService.close("ReceiptPrinter"); // this.thirdService.close("ReceiptPrinter");
return paramLexMarkResultDTO; return paramLexMarkResultDTO;

View File

@ -0,0 +1,60 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>门诊缴费凭证</title>
</head>
<body>
<div style="font-weight: 700;">
<div style="text-align: center;margin-top: 40px;">
<div><span style="font-size: 28px;">******<span th:text="${hospitalName}"></span>******</span></div>
<div style="font-size: 38px; margin-top: 20px;"><span th:text="${registeTerminalName}"></span></div>
<div style="font-size: 38px; margin-top: 10px;"><span th:text="${registeType}"></span></div>
</div>
<div style="text-align: center; font-weight: 700; font-size: 32px;">-----------------------------------------------------------------------------</div>
<div style="margin-left: 20px; font-size: 35px; margin-bottom: 10px; display: flex">
<div style="flex: 1; margin-top: 10px; ">
姓名:<span style="margin-right: 40px;" th:text="${name}"></span>
性别:<span style="margin-right: 40px;" th:text="${gender}"></span>
年龄:<span style="margin-right: 40px;" th:text="${age}"></span>
</div>
<div th:if="${outpatientNumber}" style="flex: 1; margin-top: 10px; margin-right: 15px;">门诊号:<span th:text="${outpatientNumber}"></span></div>
<div th:if="${doctor}" style="flex: 1; margin-top: 10px; margin-right: 15px;">就诊医生:<span th:text="${doctor}"></span></div>
<div th:if="${department}" style="flex: 1; margin-top: 10px;">就诊科室:<span th:text="${department}"></span></div>
</div>
<div style="text-align: center; font-weight: 700; font-size: 32px;">-----------------------------------------------------------------------------</div>
<div style="margin-left: 20px; font-size: 35px; margin-bottom: 20px; ">
<div style="margin-top: 20px; ">费用总额:<span style="margin-right: 30px;" th:text="${totalFee}"></span> 个人支付:<span th:text="${personalPayment}"></span></div>
<div style="margin-top: 10px;">实收金额:<span style="font-weight: 700;" th:text="${actualReceiptAmount}"></span></div>
<div style="margin-top: 10px;">实收金额:<span style="font-weight: 700;" th:text="${actualReceiptAmountChinese}"></span></div>
</div>
<div style="text-align: center; font-weight: 700; font-size: 32px;">-----------------------------------------------------------------------------</div>
<div style="margin-left: 20px; margin-top: 10px; ">
<table border="0" style="font-size: 30px;">
<tr style="font-size: 34px; ">
<th >项目名称</th>
<th >数量</th>
<th >单价</th>
<th >小计</th>
</tr>
<tr th:each="item : ${items}" style="height: 50px;">
<td style=" width: 310px; word-break: break-all;" th:text="${item.name}"></td>
<td th:text="${item.quantity}"></td>
<td th:text="${item.unitPrice}"></td>
<td th:text="${item.subtotal}"></td>
</tr>
</table>
</div>
<div style="text-align: center; font-weight: 700; font-size: 32px;">-----------------------------------------------------------------------------</div>
<div style="margin-left: 20px; font-weight: 700; font-size: 35px;">
<div>终端编号:<span th:text="${terminalNumber}"></span></div>
<div>打印时间:<span th:text="${printTime}"></span></div>
</div>
<div style="margin-left: 20px; font-size: 35px; font-weight: 700; margin-top: 20px;">
<span style="margin-top: 20px;">温馨提示</span><br>
<span>1.请取走全部凭条、并妥善保管</span><br>
<span>2.如果对缴费结算存在疑问,请到人工窗口咨询</span>
</div>
</div>
</body>
</html>