使用FastReport生成二维码

项目场景:

使用FastReport生成二维码

项目场景:打印申请单模版加入患者信息二维码(FastReport中有现有的数据源可用)


解决方案

这里使用的FastReport 版本为 v2013.2.5.0 + .NETFramework,Version=v4.0
默认UTF-8编码格式

第一步

  • 添加二维码组件在合适的位置
    在这里插入图片描述

拖动出来之后是条形码,需要更改属性

  • 更改 BarCode 属性为 QR Code,条形码变为二维码
    在这里插入图片描述

第二步

  • 注册二维码的BeforePrint事件,在Code中编写代码
    在这里插入图片描述
  • 拼写需要的字符串或者文本
    private void Barcode2_BeforePrint(object sender, EventArgs e)
    {
      string  JsonResult  =string.Empty;
      if(Report.GetColumnValue("申请单信息.分类代码").ToString() == "XDT")
      {       
        Barcode2.Visible = true;
        JsonResult = GetJsonResult();
        if(!string.IsNullOrEmpty(JsonResult)){
          Barcode2.Text = JsonResult;
        }
      }else{
        Barcode2.Visible = false;
      }
    }
    
    
    private string GetJsonResult(){
      
      StringBuilder strBuild = new StringBuilder();
      strBuild.AppendLine("{");
      strBuild.AppendLine("\"patientId\":\"" + Report.GetColumnValue("申请单信息.申请单号").ToString() + "\",");
      strBuild.AppendLine("\"patientName\": \"" + Report.GetColumnValue("申请单信息.姓名").ToString() + "\",");
      //日期处理
      string DataTime =  Report.GetColumnValue("申请信息.出生日期").ToString();
      string DateResult = string.Empty;
      if(!string.IsNullOrEmpty(DataTime))
      {
        DateResult = DateTime.ParseExact(DataTime, "yyyyMMddHHmmss", null).ToString("yyyy-MM-dd HH:mm:ss");
      }
      strBuild.AppendLine("\"patientBirthDate\":\"" + DateResult + "\",");
      //性别处理
      string sex = String.Empty;
      if((String)Report.GetColumnValue("申请单信息.性别").ToString() == "女")
      {
        sex ="F";
      } else if((String)Report.GetColumnValue("申请单信息.性别").ToString() == "男"){
        sex ="M";
      } else{
        sex ="U";
      }
      strBuild.AppendLine("\"patientSex\":\"" + sex + "\",");
      //患者类型处理
      string  patientType  = string.Empty;
      if((String)Report.GetColumnValue("申请单信息.病人类型").ToString() == "0")
      {
        patientType ="MZ";
      }else{
        patientType ="ZY";
      }
      strBuild.AppendLine("\"patientType\":\"" + patientType + "\",");
      strBuild.AppendLine("\"patientStatus\":0,");
      strBuild.AppendLine("\"history\":\"" + (String)Report.GetColumnValue("申请单信息.病史概要").ToString() + "\",");
      strBuild.AppendLine("\"bq\":\"" +  (String)Report.GetColumnValue("申请单信息.所属病区").ToString() + "\"");
      strBuild.AppendLine("\"qbq\":\"\",");
      strBuild.AppendLine("\"sqks\":\"" + (String)Report.GetColumnValue("申请单信息.所属科室").ToString() + "\",");
      strBuild.AppendLine("\"sqys\":\"" +  (String)Report.GetColumnValue("申请单信息.申请医生").ToString() + "\"");
      strBuild.AppendLine("\"jcks\":\"" + (String)Report.GetColumnValue("申请单信息.受理科室").ToString() + "\",");
      strBuild.AppendLine("\"jcys\":\"\"");
      strBuild.AppendLine("\"mzh\":\"" + (String)Report.GetColumnValue("申请单信息.门诊号").ToString() + "\",");
      strBuild.AppendLine("\"bch\":\"" +  (String)Report.GetColumnValue("申请单信息.床位号").ToString() + "\"");
      strBuild.AppendLine("}");
      string JsonResult = strBuild.ToString();
      if(!string.IsNullOrEmpty(JsonResult)){
        return  JsonResult;
      }
      else{
        return string.Empty;
      }
        
    }
  • 预览

在这里插入图片描述

扫描二维码后,可得到需要的内容,满足我的需求

  • 扫码结果
    扫码结果由三方处理

扫码结果由三方处理


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值