|
|
@@ -99,43 +99,10 @@ public class FlowCardRenderer {
|
|
|
}
|
|
|
};
|
|
|
} catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- // 降级:如果 PDF 模板加载失败,用简单文本打印
|
|
|
- return renderSimple(data);
|
|
|
+ throw new RuntimeException("流转卡渲染失败: " + e.getMessage(), e);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /** 降级方案:纯文本流转卡 */
|
|
|
- private static Printable renderSimple(final FlowCardData data) {
|
|
|
- return new Printable() {
|
|
|
- @Override
|
|
|
- public int print(Graphics g, PageFormat pf, int idx) {
|
|
|
- if (idx > 0) return NO_SUCH_PAGE;
|
|
|
- Graphics2D g2 = (Graphics2D) g;
|
|
|
- g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
|
|
|
- g2.translate(pf.getImageableX(), pf.getImageableY());
|
|
|
- drawSimple(g2, data);
|
|
|
- return PAGE_EXISTS;
|
|
|
- }
|
|
|
- };
|
|
|
- }
|
|
|
-
|
|
|
- private static void drawSimple(Graphics2D g, FlowCardData d) {
|
|
|
- g.setFont(new Font("宋体", Font.BOLD, 22));
|
|
|
- g.drawString("生产流转卡", 220, 40);
|
|
|
- g.drawLine(30, 60, 550, 60);
|
|
|
- g.setFont(new Font("宋体", Font.PLAIN, 14));
|
|
|
- int y = 100, step = 32;
|
|
|
- g.drawString("产品编号: " + safe(d.getProduct()), 50, y); y += step;
|
|
|
- g.drawString("序列号 : " + safe(d.getSn()), 50, y); y += step;
|
|
|
- g.drawString("钢印码 : " + safe(d.getSteelSn()), 50, y); y += step;
|
|
|
- g.drawString("工序号 : " + safe(d.getOpNo()), 50, y); y += step;
|
|
|
- g.drawString("批次 : " + safe(d.getBatch()), 50, y); y += step;
|
|
|
- g.drawString("日期 : " + safe(d.getDate()), 50, y); y += step;
|
|
|
- g.drawString("操作员 : " + safe(d.getOperator()), 50, y); y += step;
|
|
|
- g.drawString("备注 : " + safe(d.getRemark()), 50, y);
|
|
|
- }
|
|
|
-
|
|
|
private static void drawDynamic(Graphics2D g2, BufferedImage qr, FlowCardData d) {
|
|
|
// 白底盖一下原模板上的二维码占位图
|
|
|
g2.setColor(Color.WHITE);
|
|
|
@@ -233,8 +200,4 @@ public class FlowCardRenderer {
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- private static String safe(String s) {
|
|
|
- return s == null ? "" : s;
|
|
|
- }
|
|
|
}
|