二开案例.服务插件.单据编号生成二维码
【应用场景】
将单据编号创建成二维码图片,方便扫码。
【案例演示】
采购订单,单据保存的时候,将单据编号创建成二维码图片,列表查询显示单据编号的二维码。
【实现步骤】
<1>编写服务插件,代码如下。
using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Util; using System; using System.ComponentModel; using System.IO; using System.Text; using ThoughtWorks.QRCode.Codec; namespace Jac.XkDemo.BOS.App.PlugIn { /// <summary> /// 【服务插件】单据编号生成二维码 /// </summary> [Description("【服务插件】单据编号生成二维码"), HotUpdate] public class ConvertBillNoToQrCodeOperationServicePlugIn : AbstractOperationServicePlugIn { public override void BeginOperationTransaction(BeginOperationTransactionArgs e) { base.BeginOperationTransaction(e); foreach (var dataEntity in e.DataEntitys) { var billNo = (string) dataEntity["BillNo"]; if (!string.IsNullOrWhiteSpace(billNo)) { dataEntity["F_Jac_Image"] = GetQrCode(billNo); } } } /// <summary> /// 生成二维码图片 /// </summary> /// <param name="data"></param> /// <returns></returns> public static byte[] GetQrCode(string data) { var imgFileName = Guid.NewGuid().ToString().Replace("-", "") + ".webp"; var encoder = new QRCodeEncoder(); encoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; //编码方法(注意:BYTE能支持中文,ALPHA_NUMERIC扫描出来的都是数字) encoder.QRCodeScale = 4; //大小(值越大生成的二维码图片像素越高) encoder.QRCodeVersion = 0; //版本(注意:设置为0主要是防止编码的字符串太长时发生错误) encoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M; //错误效验、错误更正(有4个等级) var bp = encoder.Encode(data, Encoding.GetEncoding("UTF-8")); var imgFilePath = AppDomain.CurrentDomain.BaseDirectory + "TempfilePath/" + imgFileName; bp.Save(imgFilePath); var imgBytes = File.ReadAllBytes(imgFilePath); File.Delete(imgFilePath); return imgBytes; } } }
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>BOSIDE扩展采购订单,新增图片字段,注册服务插件,保存元数据,开发完毕。
【功能验证】
<1>登录业务站点,打开采购订单新增界面,保存单据,此时会将单据编号自动生成二维码,并存储到图片字段上。
---------------------------------------------------------------------------------------------------------
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.服务插件.单据编号生成二维码
【应用场景】将单据编号创建成二维码图片,方便扫码。【案例演示】采购订单,单据保存的时候,将单据编号创建成二维码图片,列表查询显示单...
点击下载文档
本文2024-09-23 04:01:23发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-162611.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章