📄 testprintdoc.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using System.Data;
using System.Drawing.Printing;
using System.Windows.Forms;
using Youzi.Model;
using Youzi.BLL;
namespace Youzi
{
public class TestPrintDoc:PrintDocument
{
Font font = null;
Pen pen = null;
private string time; //时间
private string []num;
private string year;
private string month;
private string day;
private string RegisterID; //门诊号
private string PatientName; //姓名
private string OfficeName; //科室
private string RegisterCost; //挂号费
private string CureCost; //诊疗费
private string Money; //合计金额(大写)
private string money; //合计金额(小写)
private string OperateDate; //操作时间
private string Operator; //录入人,收款人
private string[] ss1;
private string[] ss2;
private string s1;
private string s2;
private int sum;
public TestPrintDoc(RegisterInfo entity)
{
RegisterBLL bll = new RegisterBLL();
this.time = entity.OperateDate;
this.num = time.Split('-');
this.year = num[0]; //年
this.month = num[1]; //月
this.day = num[2].Substring(0,2); //日
this.OperateDate = entity.OperateDate; //操作时间
DataSet ds= bll.SelectRegisterTodayID(OperateDate);
this.RegisterID = ds.Tables[0].Rows[0][0].ToString(); //此编号ID需要从数据库中取,以操作时间为条件去查询门诊号
this.PatientName = entity.PatientInfo.PatientName; //姓名
this.OfficeName = entity.OfficeInfo.OfficeName; //科室
this.RegisterCost = entity.RegisterTypeInfo.RegisterTypeCost; //挂号费
this.CureCost = entity.OfficeInfo.CureCost; //诊疗费
this.Operator = entity.Operator; //
ss1=RegisterCost.Split('.'); //以.为分隔符
ss2 = CureCost.Split('.'); //以.为分隔符
s1=ss1[0];
s2=ss2[0];
sum=(int.Parse(s1)+int.Parse(s2));
money = sum.ToString();
switch (money)
{
case "1": Money = "壹元整";
break;
case "2": Money = "贰元整";
break;
case "3": Money = "叁元整";
break;
case "4": Money = "肆元整";
break;
case "5": Money = "伍元整";
break;
case "6": Money = "陆元整";
break;
case "7": Money = "柒元整";
break;
case "8": Money = "捌元整";
break;
case "9": Money = "玖元整";
break;
case "10": Money = "拾元整";
break;
case "11": Money = "拾壹元整";
break;
case "12": Money = "拾贰元整";
break;
case "13": Money = "拾叁元整";
break;
case "14": Money = "拾肆元整";
break;
case "15": Money = "拾伍元整";
break;
case "16": Money = "拾陆元整";
break;
case "17": Money = "拾柒元整";
break;
case "18": Money = "拾捌元整";
break;
case "19": Money = "拾玖元整";
break;
default: Money = "贰拾元整";
break;
}
}
protected override void OnBeginPrint(PrintEventArgs e)
{
font = new Font("宋体", 15);
pen = new Pen(Brushes.Red);
}
protected override void OnPrintPage(PrintPageEventArgs e)
{
e.Graphics.DrawString("游子医院收费票据",new Font("宋体",20,FontStyle.Bold), Brushes.Red, 280, 130);
e.Graphics.DrawString(year, font, Brushes.Blue, 300, 170);
e.Graphics.DrawString("年", font, Brushes.Red, 350, 170);
e.Graphics.DrawString(month, font, Brushes.Blue, 385, 170);
e.Graphics.DrawString("月", font, Brushes.Red, 410, 170);
e.Graphics.DrawString(day, font, Brushes.Blue, 445, 170);
e.Graphics.DrawString("日", font, Brushes.Red, 470, 170);
e.Graphics.DrawRectangle(pen, 40, 200, 740, 300); //矩形
e.Graphics.DrawLine(pen, 40, 250, 780, 250);
e.Graphics.DrawLine(pen, 40, 300, 780, 300);
e.Graphics.DrawLine(pen, 40, 350, 780, 350);
e.Graphics.DrawLine(pen, 40, 400, 780, 400);
e.Graphics.DrawLine(pen, 40, 450, 780, 450); //5条横线
e.Graphics.DrawLine(pen, 240, 250, 240, 450);
e.Graphics.DrawLine(pen, 410, 250, 410, 450);
e.Graphics.DrawLine(pen, 610, 250, 610, 450); //3条长竖线
e.Graphics.DrawLine(pen, 140, 200, 140, 250);
e.Graphics.DrawLine(pen, 320, 200, 320, 250);
e.Graphics.DrawLine(pen, 420, 200, 420, 250);
e.Graphics.DrawLine(pen, 550, 200, 550, 250);
e.Graphics.DrawLine(pen, 650, 200, 650, 250);
e.Graphics.DrawLine(pen, 550, 450, 550, 500);
//画字
e.Graphics.DrawString("门诊号", font, Brushes.Red, 50, 220);
e.Graphics.DrawString(RegisterID, font, Brushes.Blue, 150, 220);
e.Graphics.DrawString("姓名", font, Brushes.Red, 334, 220);
e.Graphics.DrawString(PatientName, font, Brushes.Blue, 440, 220);
e.Graphics.DrawString("科室", font, Brushes.Red, 564, 220);
e.Graphics.DrawString(OfficeName, font, Brushes.Blue, 670, 220);
e.Graphics.DrawString("收费项目", font, Brushes.Red, 86, 270);
e.Graphics.DrawString("金额(元)", font, Brushes.Red, 280, 270);
e.Graphics.DrawString("收费项目", font, Brushes.Red, 456, 270);
e.Graphics.DrawString("金额(元)", font, Brushes.Red, 640, 270);
e.Graphics.DrawString("挂号费", font, Brushes.Blue, 94, 320);
e.Graphics.DrawString(RegisterCost, font, Brushes.Blue, 300, 320);
e.Graphics.DrawString("诊疗费",font, Brushes.Blue, 94, 370);
e.Graphics.DrawString(CureCost, font, Brushes.Blue, 300, 370);
e.Graphics.DrawString("其他费用", font, Brushes.Blue, 86, 420);
e.Graphics.DrawString("合计金额(大写)", font, Brushes.Red, 44, 470);
e.Graphics.DrawString(Money, font, Brushes.Blue, 200, 470);
e.Graphics.DrawString("合计金额(小写)¥", font, Brushes.Red, 552, 470);
e.Graphics.DrawString(money, font, Brushes.Blue, 722, 470);
e.Graphics.DrawString("单位盖章:", font, Brushes.Red, 46, 515);
e.Graphics.DrawString("录入人:", font, Brushes.Red, 340, 515);
e.Graphics.DrawString(Operator, font, Brushes.Blue, 430, 515);
e.Graphics.DrawString("收款人:", font, Brushes.Red, 550, 515);
e.Graphics.DrawString(Operator, font, Brushes.Blue, 640, 515);
e.Graphics.DrawString("第", font, Brushes.Red, 782, 270);
e.Graphics.DrawString("一", font, Brushes.Red, 782, 300);
e.Graphics.DrawString("联", font, Brushes.Red, 782, 320);
e.Graphics.DrawString(".", font, Brushes.Red, 786, 335);
e.Graphics.DrawString(".", font, Brushes.Red, 786, 345);
e.Graphics.DrawString("收", font, Brushes.Red, 782, 380);
e.Graphics.DrawString("据", font, Brushes.Red, 782, 440);
}
protected override void OnEndPrint(PrintEventArgs e)
{
font = null;
pen = null;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -