fix(common): 统一异常处理并迁移打印功能到hiprint

- 替换所有System.out.println和printStackTrace为slf4j日志记录
- 在BeanUtils、AuditFieldUtil、DateUtils、ServletUtils等工具类中添加Logger实例
- 在Flowable相关控制器和服务中统一错误日志记录格式
- 在代码生成器中添加日志记录功能
- 将前端打印组件从Lodop迁移到hiprint打印方案
- 更新体温单打印功能使用hiprint预览打印
- 移除调试用的console.log语句
- 修复打印模板中线条元素类型定义
This commit is contained in:
2026-03-06 22:32:56 +08:00
parent b65841c0cc
commit 8a3fe5461e
11 changed files with 1667 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
{
"panels": [
{
"height": 60,
"index": 1,
"name": "床头卡",
"paperFooter": 170,
"paperHeader": 0,
"paperList": {"height": 60, "type": "自定义", "width": 100},
"paperNumberDisabled": true,
"paperType": "自定义",
"printElements": [
{"options": {"field": "bedName", "fontSize": 10, "fontWeight": "bold", "height": 10, "left": 45, "title": "床号:", "top": 5, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "patientName", "fontSize": 10, "fontWeight": "bold", "height": 10, "left": 45, "title": "姓名:", "top": 17, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "hisId", "fontSize": 10, "fontWeight": "bold", "height": 10, "left": 45, "title": "患者编号:", "top": 29, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "dept", "fontSize": 10, "fontWeight": "bold", "height": 10, "left": 45, "title": "分诊科室:", "top": 41, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "triageLevel", "fontSize": 10, "fontWeight": "bold", "height": 10, "left": 45, "title": "分诊等级:", "top": 53, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}
],
"width": 100
}
]
}

View File

@@ -0,0 +1,38 @@
{
"panels": [
{
"height": 210,
"index": 1,
"name": "护理交接班",
"paperFooter": 595.5,
"paperHeader": 0,
"paperList": {"height": 210, "type": "A4", "width": 297},
"paperNumberDisabled": true,
"paperType": "A4",
"printElements": [
{"options": {"fontSize": 14, "fontWeight": "bold", "height": 15, "left": 0, "textAlign": "center", "title": "护理交接班", "top": 5, "width": 210}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "date", "fontSize": 10, "height": 10, "left": 5, "title": "日期:", "top": 25, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "initiatorName", "fontSize": 10, "height": 10, "left": 60, "title": "发起人:", "top": 25, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "heirName", "fontSize": 10, "height": 10, "left": 120, "title": "接收人:", "top": 25, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {
"columns": [[
{"align": "center", "field": "typeDisplay", "title": "类别", "width": 20},
{"align": "center", "field": "bedName", "title": "床号", "width": 25},
{"align": "center", "field": "patientName", "title": "姓名", "width": 30},
{"align": "center", "field": "mainSuit", "title": "主诉", "width": 45},
{"align": "center", "field": "previousHistory", "title": "既往史", "width": 45},
{"align": "center", "field": "diagnosis", "title": "诊断", "width": 45},
{"align": "center", "field": "content", "title": "交接信息", "width": 60}
]],
"field": "shiftRecordItems",
"fontSize": 9,
"height": 150,
"left": 5,
"top": 40,
"width": 200
}, "printElementType": {"title": "表格", "type": "table"}}
],
"width": 210
}
]
}

View File

@@ -0,0 +1,27 @@
{
"panels": [
{
"height": 210,
"index": 1,
"name": "会诊申请单",
"paperFooter": 595.5,
"paperHeader": 0,
"paperList": {"height": 210, "type": "A4", "width": 210},
"paperNumberDisabled": true,
"paperType": "A4",
"printElements": [
{"options": {"fontSize": 14, "fontWeight": "bold", "height": 15, "left": 0, "textAlign": "center", "title": "会诊申请单", "top": 5, "width": 180}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "hospitalName", "fontSize": 10, "height": 10, "left": 0, "textAlign": "center", "title": "医院名称", "top": 22, "width": 180}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "patientName", "fontSize": 10, "height": 10, "left": 5, "title": "姓名:", "top": 40, "width": 60, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "gender", "fontSize": 10, "height": 10, "left": 70, "title": "性别:", "top": 40, "width": 30, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "age", "fontSize": 10, "height": 10, "left": 105, "title": "年龄:", "top": 40, "width": 40, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "deptName", "fontSize": 10, "height": 10, "left": 150, "title": "科室:", "top": 40, "width": 30, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "diagnosis", "fontSize": 10, "height": 20, "left": 5, "title": "初步诊断:", "top": 55, "width": 170, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "consultationReason", "fontSize": 10, "height": 40, "left": 5, "title": "会诊目的:", "top": 80, "width": 170, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "applyTime", "fontSize": 10, "height": 10, "left": 5, "title": "申请时间:", "top": 130, "width": 80, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "applyDoctor", "fontSize": 10, "height": 10, "left": 100, "title": "申请医生:", "top": 130, "width": 75, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}
],
"width": 180
}
]
}

View File

@@ -0,0 +1,41 @@
{
"panels": [
{
"height": 210,
"index": 1,
"name": "医嘱执行单",
"paperFooter": 595.5,
"paperHeader": 0,
"paperList": {"height": 210, "type": "A4", "width": 297},
"paperNumberDisabled": true,
"paperType": "A4",
"printElements": [
{"options": {"fontSize": 14, "fontWeight": "bold", "height": 15, "left": 0, "textAlign": "center", "title": "医嘱执行单", "top": 5, "width": 210}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "hospitalName", "fontSize": 12, "fontWeight": "bold", "height": 12, "left": 0, "textAlign": "center", "title": "医院名称", "top": 20, "width": 210}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "bedName", "fontSize": 9, "height": 10, "left": 5, "title": "床号:", "top": 35, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "patientName", "fontSize": 9, "height": 10, "left": 60, "title": "姓名:", "top": 35, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "patientAge", "fontSize": 9, "height": 10, "left": 115, "title": "年龄:", "top": 35, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "diag", "fontSize": 9, "height": 10, "left": 5, "title": "诊断:", "top": 47, "width": 200, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {
"columns": [[
{"align": "center", "field": "moTime", "title": "医嘱日期", "width": 25},
{"align": "center", "field": "orderName", "title": "医嘱", "width": 40},
{"align": "center", "field": "flag", "title": "标记", "width": 15},
{"align": "center", "field": "remark", "title": "嘱托", "width": 25},
{"align": "center", "field": "doseOnceUnit", "title": "用量", "width": 20},
{"align": "center", "field": "usageName", "title": "用法", "width": 20},
{"align": "center", "field": "frequency", "title": "频次", "width": 20},
{"align": "center", "field": "moDocName", "title": "开立医生", "width": 25}
]],
"field": "recordData",
"fontSize": 8,
"height": 140,
"left": 5,
"top": 60,
"width": 200
}, "printElementType": {"title": "表格", "type": "table"}}
],
"width": 210
}
]
}

View File

@@ -0,0 +1,39 @@
{
"panels": [
{
"height": 80,
"index": 1,
"name": "输液标签",
"paperFooter": 226.8,
"paperHeader": 0,
"paperList": {"height": 80, "type": "自定义", "width": 100},
"paperNumberDisabled": true,
"paperType": "自定义",
"printElements": [
{"options": {"fontSize": 12, "fontWeight": "bold", "height": 12, "left": 0, "textAlign": "center", "title": "急诊输液贴", "top": 5, "width": 60}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "qrCode", "height": 30, "left": 65, "qrCodeLevel": 0, "title": "二维码", "top": 5, "width": 30}, "printElementType": {"title": "二维码", "type": "text"}},
{"options": {"field": "hisNo", "fontSize": 9, "height": 10, "left": 5, "title": "病历号:", "top": 20, "width": 25, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "name", "fontSize": 9, "height": 10, "left": 30, "title": "姓名:", "top": 20, "width": 20, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "sexName", "fontSize": 9, "height": 10, "left": 50, "title": "性别:", "top": 20, "width": 15, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "patientAge", "fontSize": 9, "height": 10, "left": 65, "title": "年龄:", "top": 20, "width": 30, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {
"columns": [[
{"align": "center", "field": "orderName", "title": "药品名称", "width": 35},
{"align": "center", "field": "doseOnceUnit", "title": "用量", "width": 15},
{"align": "center", "field": "flag", "title": "标记", "width": 10},
{"align": "center", "field": "frequency", "title": "频次", "width": 15},
{"align": "center", "field": "usageName", "title": "用法", "width": 15}
]],
"field": "orderDetail",
"fontSize": 8,
"height": 35,
"left": 5,
"top": 35,
"width": 90
}, "printElementType": {"title": "表格", "type": "table"}},
{"options": {"field": "printDate", "fontSize": 8, "height": 8, "left": 5, "title": "日期:", "top": 72, "width": 90, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}}
],
"width": 100
}
]
}

View File

@@ -0,0 +1,39 @@
{
"panels": [
{
"height": 180,
"index": 1,
"name": "体温单",
"paperFooter": 510,
"paperHeader": 0,
"paperList": {"height": 180, "type": "A4", "width": 210},
"paperNumberDisabled": true,
"paperType": "A4",
"printElements": [
{"options": {"fontSize": 12, "fontWeight": "bold", "height": 15, "left": 0, "textAlign": "center", "title": "体温单", "top": 5, "width": 180}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "patientName", "fontSize": 9, "height": 10, "left": 5, "title": "姓名:", "top": 25, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "bedName", "fontSize": 9, "height": 10, "left": 60, "title": "床号:", "top": 25, "width": 50, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "hospitalName", "fontSize": 9, "height": 10, "left": 115, "title": "科室:", "top": 25, "width": 60, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {
"columns": [[
{"align": "center", "field": "date", "title": "日期", "width": 25},
{"align": "center", "field": "time", "title": "时间", "width": 20},
{"align": "center", "field": "temperature", "title": "体温", "width": 20},
{"align": "center", "field": "pulse", "title": "脉搏", "width": 20},
{"align": "center", "field": "breath", "title": "呼吸", "width": 20},
{"align": "center", "field": "bloodPressure", "title": "血压", "width": 25},
{"align": "center", "field": "bloodOxygen", "title": "血氧", "width": 20},
{"align": "center", "field": "nurseName", "title": "签名", "width": 30}
]],
"field": "tprData",
"fontSize": 8,
"height": 130,
"left": 5,
"top": 40,
"width": 180
}, "printElementType": {"title": "表格", "type": "table"}}
],
"width": 180
}
]
}

View File

@@ -0,0 +1,35 @@
{
"panels": [
{
"height": 100,
"index": 1,
"name": "分诊条",
"paperFooter": 283.5,
"paperHeader": 0,
"paperList": {"height": 100, "type": "自定义", "width": 80},
"paperNumberDisabled": true,
"paperType": "自定义",
"printElements": [
{"options": {"fontSize": 14, "fontWeight": "bold", "height": 15, "left": 0, "textAlign": "center", "title": "分诊单", "top": 5, "width": 80}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "hisId", "height": 40, "left": 15, "qrCodeLevel": 0, "textAlign": "center", "title": "病历号二维码", "top": 25, "width": 50}, "printElementType": {"title": "二维码", "type": "text"}},
{"options": {"field": "hisId", "fontSize": 10, "height": 10, "left": 0, "textAlign": "center", "title": "病历号:", "top": 70, "width": 80, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "triageLevel", "fontSize": 10, "height": 10, "left": 0, "textAlign": "center", "title": "分级(科室)", "top": 82, "width": 80, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "patientName", "fontSize": 10, "height": 10, "left": 5, "title": "姓名:", "top": 100, "width": 35, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "sex", "fontSize": 10, "height": 10, "left": 40, "title": "性别:", "top": 100, "width": 15, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "age", "fontSize": 10, "height": 10, "left": 55, "title": "年龄:", "top": 100, "width": 20, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "temperature", "fontSize": 9, "height": 10, "left": 5, "title": "体温:", "top": 115, "width": 35, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "sphygmus", "fontSize": 9, "height": 10, "left": 40, "title": "脉搏:", "top": 115, "width": 35, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "breath", "fontSize": 9, "height": 10, "left": 5, "title": "呼吸:", "top": 127, "width": 35, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "bloodPressure", "fontSize": 9, "height": 10, "left": 40, "title": "血压:", "top": 127, "width": 35, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "bloodOxygen", "fontSize": 9, "height": 10, "left": 5, "title": "血氧:", "top": 139, "width": 70, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "triageTime", "fontSize": 9, "height": 10, "left": 5, "title": "分诊时间:", "top": 155, "width": 70, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "tel", "fontSize": 9, "height": 10, "left": 5, "title": "联系电话:", "top": 167, "width": 70, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"fontSize": 9, "fontWeight": "bold", "height": 10, "left": 5, "title": "请仔细核对个人信息后进行挂号", "top": 185, "width": 70}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"fontSize": 8, "height": 8, "left": 5, "title": "为了您家人和其他患者的健康", "top": 197, "width": 70}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"fontSize": 8, "height": 8, "left": 5, "title": "请您保持就诊秩序保持诊区安静", "top": 207, "width": 70}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"fontSize": 8, "height": 8, "left": 5, "title": "祝您早日康复", "top": 217, "width": 70}, "printElementType": {"title": "文本", "type": "text"}}
],
"width": 80
}
]
}

View File

@@ -0,0 +1,25 @@
{
"panels": [
{
"height": 25,
"index": 1,
"name": "腕带",
"paperFooter": 94.5,
"paperHeader": 0,
"paperList": {"height": 25, "type": "自定义", "width": 100},
"paperNumberContinue": true,
"paperNumberDisabled": true,
"paperType": "自定义",
"printElements": [
{"options": {"field": "patientName", "fontSize": 8, "fontWeight": "bold", "height": 9, "left": 5, "title": "姓名:", "top": 3, "width": 40, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "hisId", "fontSize": 8, "fontWeight": "bold", "height": 9, "left": 50, "title": "病历号:", "top": 3, "width": 45, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "gender", "fontSize": 8, "fontWeight": "bold", "height": 9, "left": 5, "title": "性别:", "top": 13, "width": 40, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "dept", "fontSize": 8, "fontWeight": "bold", "height": 9, "left": 50, "title": "科室:", "top": 13, "width": 45, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "bedName", "fontSize": 8, "fontWeight": "bold", "height": 9, "left": 5, "title": "床号:", "top": 23, "width": 40, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "triageLevel", "fontSize": 8, "fontWeight": "bold", "height": 9, "left": 50, "title": "分级:", "top": 23, "width": 45, "hideTitle": false}, "printElementType": {"title": "文本", "type": "text"}},
{"options": {"field": "hisId", "height": 18, "left": 80, "qrCodeLevel": 0, "textAlign": "center", "title": "腕带二维码", "top": 5, "width": 18}, "printElementType": {"title": "二维码", "type": "text"}}
],
"width": 100
}
]
}