点击到达网站指定位置怎么做,登录网站怎么做,如何部署asp网站,设计类网站推荐及介绍良好的基础会使上层实现越做越简单#xff0c;jrt在开始写业务之前就把运用场景需要的基础实验和设计完毕了。基于jrt的基础可以很轻松的实现强大的打印效果。jrt的打印和lodop比较像#xff0c;是高度为满足建议系统打印定制的打印实现#xff0c;设计器可能没lodop通用jrt在开始写业务之前就把运用场景需要的基础实验和设计完毕了。基于jrt的基础可以很轻松的实现强大的打印效果。jrt的打印和lodop比较像是高度为满足建议系统打印定制的打印实现设计器可能没lodop通用但是画布统一可以容易的实现在线预览、得到pdf、图片、控制粒度细、支持Windows、Linux。是自主可控的医疗信创打印不二之选。
这次分享个打印记录单的效果和业务代码 打印逻辑
/*
本代码权归属于JRT计划任何单位或个人未经许可不得以任何方式复制、传播、展示、发布、分发、重新分发、修改、反编译、
反向编译或以其他方式使用本框架的任何部分包括但不限于源代码、二进制文件、文档、演示文稿、示例代码和API。
使用本框架的用户需遵守以下条款
用户只能以个人学习和研究为目的使用本框架不得将其用于商业用途。
用户在使用本框架时应遵守所有适用的法律和法规包括但不限于版权法、商标法、专利法和隐私权法。
用户在使用本框架时应自行承担风险和责任并确保不会侵犯任何知识产权或个人权利。
本框架的使用仅限于用户自己使用不得将其分发给其他用户或将其用于任何形式的共享或传播。
在使用本框架时用户应尊重和保护其他用户的隐私和个人信息不得将其泄露给任何第三方。
违反以上条款将视为侵权行为将采取法律手段维护JRT合法权益。*/
import JRT.Core.DataGrid.*;
import JRT.Core.Dto.HashParam;
import JRT.Core.Dto.OutValue;
import JRT.Core.Dto.PrintElement;
import JRT.Core.MultiPlatform.JRTContext;
import JRT.Core.Util.Convert;
import JRT.Core.Util.PrintDrawProtocol;
import JRT.Model.Bussiness.Parameters;
import JRT.Model.Entity.*;
import JRTBLLBase.BaseHttpHandlerNoSession;
import JRTBLLBase.Helper;import java.util.ArrayList;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.List;/*** 实现jrt打印记录单逻辑*/
public class LISPrintIDPProcess extends BaseHttpHandlerNoSession implements IGridChangePage {/*** 打印元素*/private ListPrintElement retList new ArrayList();/*** 打印模板数据*/JRTPrintTemplateDto template null;/*** 存打印的Data数据*/HashtableString, String printDataMap null;/*** 最后绘图的Y*/private int lastY0;/*** 表格换页之前要执行的逻辑** param gridKey* param maxY*/public void PreChangePageDo(String gridKey, int maxY) {}/*** 表格换页之后要执行的逻辑** param gridKey* param maxY*/public void AfterChangePageDo(String gridKey, int maxY) {System.out.println(换页后执行逻辑);//画固定图片元素PrintFixImage(template, retList);//画数据元素PrintData(template, retList, printDataMap);//画标签元素PrintLabel(template, retList);//画线元素PrintLine(template, retList);}/*** 按传入的ReportDRS输出符合打印元素绘制协议的数据来实现打印控制,多个报告用上尖号分割** param Param 参数* param Session* param Output* return*/public String QueryPrintData(Parameters Param, OutValue Session, OutValue Output) throws Exception {String ReportDRS Param.P0;String[] repArr ReportDRS.split(\\^);//循环打印每个报告for (String repStr : repArr) {if (Helper.IsEmptyStr(repStr)) {continue;}long reportDR Convert.ToLong(repStr);//查询模板数据template GetOneTemplate(null, IDPProcessPrint);//换报告之后无脑输出一个分页retList.add(PrintDrawProtocol.ChangePage());//查询并且填充DataMakePrintDataMap(reportDR);//查询结果数据ListObject repResList MakePrintResultData(reportDR);//画固定图片元素PrintFixImage(template, retList);//画数据元素PrintData(template, retList, printDataMap);//画标签元素PrintLabel(template, retList);//画线元素PrintLine(template, retList);PrintIDPCultureMedRes(template, retList,reportDR);PrintIDPUpMach(template, retList,reportDR);//画表格元素PrintAntDataGrid(template, retList, repResList);}return Helper.Object2Json(retList);}/*** 输出培养基信息* param template 模板* param retList 元素列表* param reportDR 报告主键* throws Exception*/private void PrintIDPCultureMedRes(JRTPrintTemplateDto template, ListPrintElement retList,long reportDR) throws Exception{ListObject gridData new ArrayList();ListIDPResult idpList EntityManager().FindByColVal(IDPResult.class, VisitNumberReportDR, reportDR);if (idpList ! null idpList.size() 0) {for (IDPResult idp : idpList) {String remark Helper.ToStr(idp.Remark);ListIDPCultureMedPakRes pakList EntityManager().FindByColVal(IDPCultureMedPakRes.class, IDPResultDR, idp.RowID);if (pakList ! null pakList.size() 0) {for (IDPCultureMedPakRes pak : pakList) {String cultureMedPak EntityManager().DolerGetCName(BTIDPCultureMedPak.class, pak.IDPCultureMedPakDR);ListIDPCultureMedRes medList EntityManager().FindByColVal(IDPCultureMedRes.class, IDPResultDR, idp.RowID);if (medList ! null medList.size() 0) {for (IDPCultureMedRes med : medList) {String idpCultureMedium EntityManager().DolerGetCName(BTIDPCultureMedium.class, med.IDPCultureMediumDR);String name [ med.RowID ] idpCultureMedium;String cultureDesk Helper.ToStr(med.CultureDesk);String fromInfo remark - idpCultureMedium : cultureDesk;HashMap oneRow new HashMap();oneRow.put(培养基, idpCultureMedium);if (Helper.IsNotEmptyStr(med.CultureDesk)Helper.IsNumeric(med.CultureDesk)) {oneRow.put(形态描述, Helper.ToStr(EntityManager().DolerGetCol(BTIDPCultureDesk.class, Convert.ToLong(med.CultureDesk), Remark)));} else {oneRow.put(形态描述, );}oneRow.put(菌落计数, med.Num);oneRow.put(容器, med.ContainerCode);oneRow.put(拉丝试验, med.Special);oneRow.put(生化反应, med.BioReaction);oneRow.put(百分百, med.Rate);oneRow.put(上机类型, EntityManager().DolerGetCName(BTIDPMach.class,med.IDPMachDR));oneRow.put(快速鉴定, EntityManager().DolerGetCName(BTOrganism.class,med.OrganismDR));oneRow.put(菌落颜色, med.OrgColor);oneRow.put(菌落大小, med.OrgSize);oneRow.put(湿度, med.OrgHumidity);oneRow.put(菌类型, med.OrgType);oneRow.put(粘稠度, med.OrgViscosity);oneRow.put(边缘, med.OrgEdge);oneRow.put(其他说明, med.OrgRemark);gridData.add(oneRow);}}}}}}for (JRTPrintTemplateEle ele : template.EleList) {//输出表格if (ele.PrintType.equals(DataGrid)) {if (!ele.DataField.equals(IDPCultureMedRes)) {continue;}//得到表格定义GridDto defGrid (GridDto) Helper.Json2Object(ele.PrintText, GridDto.class);PrintElement printEle PrintDrawProtocol.DrawLabel(defGrid.PageList.get(0).Left, defGrid.PageList.get(0).Top, 培养记录, 宋体, 12, Bold, null, , , );defGrid.PageList.get(0).Top20;retList.add(printEle);lastYdefGrid.PageList.get(0).Top;if(gridData.size()0) {lastY PrintDrawProtocol.DrawGrid(retList, defGrid, null, gridData, IDPCultureMedRes, this);}}}}/*** 输出培养基信息* param template 模板* param retList 元素列表* param reportDR 报告主键* throws Exception*/private void PrintIDPUpMach(JRTPrintTemplateDto template, ListPrintElement retList,long reportDR) throws Exception{ListObject gridData new ArrayList();ListIDPResult idpList EntityManager().FindByColVal(IDPResult.class, VisitNumberReportDR, reportDR);if (idpList ! null idpList.size() 0) {for (IDPResult idp : idpList) {String remark Helper.ToStr(idp.Remark);ListIDPUpMach list EntityManager().FindByColVal(IDPUpMach.class, IDPResultDR, idp.RowID);if (list ! null list.size() 0) {for (IDPUpMach one : list) {HashMap oneRow new HashMap();oneRow.put(培养结果, one.TxtResult);oneRow.put(上机仪器, EntityManager().DolerGetCName(BTIDPMach.class,one.IDPMachDR));oneRow.put(板条类型, Helper.ToStr(EntityManager().DolerGetCol(BTIDPSlats.class,one.IDPSlatsDR,SlatsCName)));oneRow.put(板条批号, one.SlatsNo);oneRow.put(上机备注, one.Remark);oneRow.put(上机ID, one.UpID);oneRow.put(上机人, EntityManager().DolerGetCName(SYSUser.class,one.UpMachUserDR));oneRow.put(上机日期, Helper.DateIntToStr(one.UpMachDate));oneRow.put(上机时间, Helper.TimeIntToStr(one.UpMachTime));gridData.add(oneRow);}}}}if(gridData.size()0) {for (JRTPrintTemplateEle ele : template.EleList) {//输出表格if (ele.PrintType.equals(DataGrid)) {if (!ele.DataField.equals(IDPUpMach)) {continue;}//得到表格定义GridDto defGrid (GridDto) Helper.Json2Object(ele.PrintText, GridDto.class);lastY20;PrintElement printEle PrintDrawProtocol.DrawLabel(defGrid.PageList.get(0).Left, lastY, 上机记录, 宋体, 12, Bold, null, , , );retList.add(printEle);defGrid.PageList.get(0).ToplastY20;lastY PrintDrawProtocol.DrawGrid(retList, defGrid, null, gridData, IDPUpMach, this);}}}}/*** 构造打印的报告结果数据** param reportDR 报告主键* return*/private ListObject MakePrintResultData(long reportDR) throws Exception {ListObject retList new ArrayList();ListIDPResult idpListEntityManager().FindByColVal(IDPResult.class,VisitNumberReportDR,reportDR);ListLong repDRSnew ArrayList();if(idpList!nullidpList.size()0){for(IDPResult one:idpList){if(one.LinkReportDR!null){repDRS.add(one.LinkReportDR);}}}if(repDRS.size()0){repDRS.add(reportDR);}//查询药敏结果for(Long oneRepDR:repDRS) {ListRPVisitNumberReportResult resList EntityManager().FindByColVal(RPVisitNumberReportResult.class, VisitNumberReportDR, oneRepDR);if (resList ! null resList.size() 0) {for (RPVisitNumberReportResult res : resList) {if (res.IsNotAllowPrint ! null res.IsNotAllowPrint true) {continue;}if (Helper.IsEmptyStr(res.TextRes)) {continue;}BTTestCode tsDto EntityManager().DolerGet(BTTestCode.class, res.TestCodeDR);if (!tsDto.ResultFormat.equals(M)) {continue;}HashMap out new HashMap();out.put(序号, retList.size() 1);out.put(项目名称, tsDto.CName);out.put(缩写, tsDto.Synonym);out.put(结果, res.TextRes);out.put(标志, TransAbFlag(res.AbFlag));out.put(单位, res.Unit);out.put(参考范围, res.RefRanges);out.put(实验方法, EntityManager().DolerGetCName(BTTestMethod.class, res.MethodDR));out.put(多耐药, res.MultipleResChild);if (tsDto.ResultFormat.equals(M)) {out.put(菌落计数, res.Unit);out.put(单位, );} else {out.put(菌落计数, );}out.put(专家规则, res.ExpertRule);out.put(备注, res.ResNoes);out.put(耐药机制, );//微生物取药敏结果if (tsDto.ResultFormat.equals(M)) {//查询药敏书记ListRPVisitNumberReportResSen senList EntityManager().FindByColVal(RPVisitNumberReportResSen.class, VisitNumberReportResultDR, res.RowID);if (senList ! null senList.size() 0) {ListHashMap senOutList new ArrayList();for (RPVisitNumberReportResSen sen : senList) {BTAntibiotics ant EntityManager().DolerGet(BTAntibiotics.class, sen.AntibioticsDR);HashMap outSen new HashMap();outSen.put(序号, senOutList.size() 1);outSen.put(抗生素名称, ant.CName);outSen.put(KB, Helper.ToStr(sen.KbValue));outSen.put(MIC, Helper.ToStr(sen.MicValue));outSen.put(ET, Helper.ToStr(sen.EtestValue));outSen.put(敏感度, EntityManager().DolerGetCName(BTSensitivity.class, sen.SensitivityDR));outSen.put(折点S, sen.SRanges);outSen.put(折点I, sen.IRanges);outSen.put(折点R, sen.RRanges);outSen.put(折点SDD, sen.SDDRanges);senOutList.add(outSen);}out.put(AntSen, senOutList);}//查询耐药机制书记ListRPVisitNumberRepResRst rstList EntityManager().FindByColVal(RPVisitNumberRepResRst.class, VisitNumberReportResultDR, res.RowID);if (rstList ! null rstList.size() 0) {String rstStr ;for (RPVisitNumberRepResRst rst : rstList) {if (Helper.IsEmptyStr(rst.TextResult)) {continue;}BTMCResistanceItem rstItem EntityManager().DolerGet(BTMCResistanceItem.class, rst.ResistanceItemDR);rstStr rstItem.CName : rst.TextResult ;}out.put(耐药机制, rstStr);}}retList.add(out);}}}return retList;}/*** 往打印单个数据里面塞入数据** param reportDR 报告主键*/private void MakePrintDataMap(long reportDR) throws Exception {RPVisitNumberReport rep EntityManager().DolerGet(RPVisitNumberReport.class, reportDR);RPVisitNumberReportExt repExt EntityManager().DolerGet(RPVisitNumberReportExt.class, rep.VisitNumberReportExtID);RPVisitNumber vis EntityManager().DolerGet(RPVisitNumber.class, rep.VisitNumberDR);RPVisitNumberExt visExt EntityManager().DolerGet(RPVisitNumberExt.class, vis.VisitNumberExtID);//存打印的Data数据printDataMap new Hashtable();printDataMap.put(姓名, vis.SurName);printDataMap.put(性别, EntityManager().DolerGetCName(BTSpecies.class, vis.SpeciesDR));printDataMap.put(年龄, vis.AgeDesc);printDataMap.put(登记号, vis.RegNo);printDataMap.put(检验号, vis.VisitNumber);printDataMap.put(科室, EntityManager().DolerGetCName(BTLocation.class, vis.LocationDR));printDataMap.put(标本, Helper.ToStr(EntityManager().DolerGetCol(BTSpecimen.class, vis.SpecimenDR, IName)));printDataMap.put(床号, vis.BedNo);printDataMap.put(诊断, visExt.Symptom);printDataMap.put(采集日期, Helper.DateIntToStr(vis.CollectDate));printDataMap.put(采集时间, Helper.TimeIntToStr(vis.CollectTime));printDataMap.put(医嘱备注, visExt.ReqNotes);printDataMap.put(医嘱名称, rep.TestSetName);printDataMap.put(申请医生, EntityManager().DolerGetCName(BTDoctor.class, vis.DoctorDR));printDataMap.put(申请日期, Helper.DateIntToStr(vis.RequestDate));printDataMap.put(初审者, EntityManager().DolerGetCName(SYSUser.class, rep.EntryUserDR));printDataMap.put(初审者签名, Helper.ToStr(EntityManager().DolerGetCol(SYSUser.class, rep.EntryUserDR, Code)));printDataMap.put(初审日期, Helper.DateIntToStr(rep.EntryDate));printDataMap.put(初审时间, Helper.TimeIntToStr(rep.EntryTime));printDataMap.put(审核者, EntityManager().DolerGetCName(SYSUser.class, rep.AuthUserDR));printDataMap.put(审核日期, Helper.DateIntToStr(rep.AuthDate));printDataMap.put(审核时间, Helper.TimeIntToStr(rep.AuthTime));printDataMap.put(审核者签名, Helper.ToStr(EntityManager().DolerGetCol(SYSUser.class, rep.AuthUserDR, Code)));printDataMap.put(出生日期, Helper.DateIntToStr(visExt.BirthDate));printDataMap.put(仪器名称, );printDataMap.put(流水号, rep.EpisodeNo);printDataMap.put(病案号, vis.MedicalRecordNo);printDataMap.put(病区, EntityManager().DolerGetCName(BTWard.class, vis.WardDR));printDataMap.put(血型, EntityManager().DolerGetCName(BTABOBG.class, visExt.AboDR) EntityManager().DolerGetCName(BTRHBG.class, visExt.RhDR));printDataMap.put(电话, visExt.MobileNo);printDataMap.put(地址, visExt.Address);printDataMap.put(接收者, EntityManager().DolerGetCName(SYSUser.class, vis.ReceiveUserDR));printDataMap.put(接收者签名, Helper.ToStr(EntityManager().DolerGetCol(SYSUser.class, vis.ReceiveUserDR, Code)));printDataMap.put(接收日期, Helper.DateIntToStr(vis.ReceiveDate));printDataMap.put(接收时间, Helper.TimeIntToStr(vis.ReceiveTime));printDataMap.put(打印时间, Helper.GetNowDateStr());printDataMap.put(核收日期, Helper.DateIntToStr(rep.AcceptDate));printDataMap.put(核收时间, Helper.TimeIntToStr(rep.AcceptTime));printDataMap.put(核收者, EntityManager().DolerGetCName(SYSUser.class, rep.AcceptUserDR));printDataMap.put(核收者签名, Helper.ToStr(EntityManager().DolerGetCol(SYSUser.class, rep.AcceptUserDR, Code)));printDataMap.put(报告评价, repExt.MajorConclusion);printDataMap.put(标本质量, EntityManager().DolerGetCName(BTSpecimenQuality.class, vis.SpecimenQualityDR));BTWorkGroupMachine wgm EntityManager().DolerGet(BTWorkGroupMachine.class, rep.WorkGroupMachineDR);printDataMap.put(工作小组, wgm.CName);BTWorkGroup wg EntityManager().DolerGet(BTWorkGroup.class, wgm.WorkGroupDR);printDataMap.put(工作组, wg.CName);printDataMap.put(报告说明, repExt.ReportRemark);BTHospital hos EntityManager().DolerGet(BTHospital.class, vis.HospitalDR);printDataMap.put(标题, hos.CName wg.CName 鉴定记录);printDataMap.put(采集部位, EntityManager().DolerGetCName(BTAnatomicalSite.class, vis.AnatomicalSiteDR));printDataMap.put(患者类型, EntityManager().DolerGetCName(BTAdmissionType.class, vis.AdmissionTypeDR));printDataMap.put(证件类型, EntityManager().DolerGetCName(BTCertType.class, visExt.CertTypeDR));printDataMap.put(证件号, visExt.CertNo);if (vis.Urgent ! null vis.Urgent 1) {printDataMap.put(加急, 急);} else {printDataMap.put(加急, );}printDataMap.put(身份证号, vis.IDNumber);printDataMap.put(采集者, EntityManager().DolerGetCName(SYSUser.class, vis.CollectUserDR));printDataMap.put(采集者签名, Helper.ToStr(EntityManager().DolerGetCol(SYSUser.class, vis.CollectUserDR, Code)));}/*** 得到报告图片数据** param reprtDR* return*/private HashMapString, String MakePrintImageData(long reprtDR) throws Exception {HashMapString, String out new HashMap();ListRPVisitNumberReportImage imgList EntityManager().FindByColVal(RPVisitNumberReportImage.class, VisitNumberReportDR, reprtDR);if (imgList ! null imgList.size() 0) {String fileService (String) Helper.GetBllMethodData(common.GetParaCommon, GetFileServiceAddr, EntityManager());for (RPVisitNumberReportImage img : imgList) {out.put(img.ImageClass, fileService img.FileName);}}return out;}/*** 输出药敏报告结果** param template* param template 模板* param retList 元素列表* param repResList 报告结果列表*/private void PrintAntDataGrid(JRTPrintTemplateDto template, ListPrintElement retList, ListObject repResList) throws Exception {int index 0;for (Object one : repResList) {HashMap repRes (HashMap) one;GridDto antGrid GetAntGridDef();lastY20;PrintElement printEle PrintDrawProtocol.DrawLabel(antGrid.PageList.get(0).Left, lastY, Helper.ToStr(repRes.get(结果)), 宋体, 12, Bold, null, , , );retList.add(printEle);//有药敏结果的输出药敏if (repRes.containsKey(AntSen)) {ListObject antSenList (ListObject) repRes.get(AntSen);index;if (antGrid ! nullantSenList.size()0) {antGrid.PageList.get(0).Top lastY20;lastY PrintDrawProtocol.DrawGrid(retList, antGrid, null, antSenList, AntSen, this);}//打印耐药机制String rstRes(String)repRes.get(耐药机制);if(Helper.IsNotEmptyStr(rstRes)) {ListObject rstResListnew ArrayList();HashMap rstResHsnew HashMap();rstResHs.put(data,耐药机制);rstResList.add(rstResHs);rstResHsnew HashMap();rstResHs.put(data,rstRes);rstResList.add(rstResHs);GridDto defGetOneColGrid(antGrid.PageList.get(0).Left,lastY-antGrid.RowHeight, GridDraw.GetGridWidth(antGrid));lastY PrintDrawProtocol.DrawGrid(retList, def, null, rstResList, RstRes, this);}//不同的菌输出一个换页retList.add(PrintDrawProtocol.ChangePage());}}}/*** 得到只有一列的无边框表格来画长的换行串* param left 左边* param top 顶部* param width 宽度* return*/private GridDto GetOneColGrid(int left,int top,int width){//这部分由设计器维护的Json得到表格维护信息GridDto def new GridDto();//边框宽度def.BoderWidth0;//列数def.Cols1;//是否左填充def.ColsLeftFull0;//第一页控制参数GridPageDto page new GridPageDto();//换页行数page.ChangePageRowNum999;page.Leftleft;//顶部page.Toptop;def.PageList.add(page);//定义表格的列GridColDto col new GridColDto();col new GridColDto();col.DataField data;col.Width width;def.DataCol.add(col);return def;}/*** 输出固定图片** param template* param template 模板* param retList 元素列表*/private void PrintFixImage(JRTPrintTemplateDto template, ListPrintElement retList) {for (JRTPrintTemplateEle ele : template.EleList) {try {//输出图片if (ele.PrintType.equals(Graph)) {boolean isSign false;if (ele.PrintFlag.equals(D)) {isSign true;}String dataField ele.DataField;//不是图标的且不包含https的不打印if (isSign false !dataField.contains(http)) {continue;}//取图标书记if (isSign) {HashParam hs new HashParam();hs.Add(Code, dataField);hs.Add(ImgType, DEF);JRTPrintImage printImage EntityManager().GetByPara(JRTPrintImage.class, hs);if (printImage ! null) {dataField printImage.ImgBase64String;}}PrintElement printEle PrintDrawProtocol.DrawGraph(ele.PrintX, ele.PrintY, ele.PrintWidth, ele.PrintHeight, dataField, isSign, false);retList.add(printEle);}}catch (Exception ex){Helper.WriteExceptionLog(打印图片异常,ex);}}}/*** 输出数据** param template 模板* param retList 元素列表* param printDataMap 数据哈希*/private void PrintData(JRTPrintTemplateDto template, ListPrintElement retList, HashtableString, String printDataMap) {for (JRTPrintTemplateEle ele : template.EleList) {//输出标签if (ele.PrintType.equals(Data)) {String dataFiled ele.DataField;if (!dataFiled.isEmpty() printDataMap.containsKey(dataFiled)) {//带字的条码if (ele.PrintFlag.contains(BarCode)) {String BarType ele.PrintFlag.replace(BarCode, );PrintElement printEle PrintDrawProtocol.DrawBarCode(ele.PrintX, ele.PrintY, printDataMap.get(dataFiled), true, ele.PrintWidth, ele.PrintHeight, BarType, ele.PrintFont, Convert.ToDouble(ele.PrintFontSize).intValue(), ele.PrintFontStyle, PrintDrawProtocol.GetPrintAlignment(ele.PrintAlignment), ele.Color, ele.Angle);retList.add(printEle);}//不带字的条码else if (ele.PrintFlag.contains(BarCodeN)) {String BarType ele.PrintFlag.replace(BarCodeN, );PrintElement printEle PrintDrawProtocol.DrawBarCode(ele.PrintX, ele.PrintY, printDataMap.get(dataFiled), false, ele.PrintWidth, ele.PrintHeight, BarType, ele.PrintFont, Convert.ToDouble(ele.PrintFontSize).intValue(), ele.PrintFontStyle, PrintDrawProtocol.GetPrintAlignment(ele.PrintAlignment), ele.Color, ele.Angle);retList.add(printEle);}//画普通数据else {PrintElement printEle PrintDrawProtocol.DrawLabel(ele.PrintX, ele.PrintY, printDataMap.get(dataFiled), ele.PrintFont, Convert.ToDouble(ele.PrintFontSize).intValue(), ele.PrintFontStyle, PrintDrawProtocol.GetPrintAlignment(ele.PrintAlignment), ele.Color, , ele.Angle);retList.add(printEle);}}}}}/*** 输出标签** param template* param retList*/private void PrintLabel(JRTPrintTemplateDto template, ListPrintElement retList) {for (JRTPrintTemplateEle ele : template.EleList) {//输出标签if (ele.PrintType.equals(Label)) {PrintElement printEle PrintDrawProtocol.DrawLabel(ele.PrintX, ele.PrintY, ele.PrintText, ele.PrintFont, Convert.ToDouble(ele.PrintFontSize).intValue(), ele.PrintFontStyle, PrintDrawProtocol.GetPrintAlignment(ele.PrintAlignment), ele.Color, , ele.Angle);retList.add(printEle);}}}/*** 输出线** param template* param retList*/private void PrintLine(JRTPrintTemplateDto template, ListPrintElement retList) {for (JRTPrintTemplateEle ele : template.EleList) {//输出先if (ele.PrintType.equals(ILineN)) {long width ele.PrintWidth;long height ele.PrintHeight;long endX ele.PrintX width;long endY ele.PrintY;long lineWidth height;if (height width) {endX ele.PrintX;endY ele.PrintY;lineWidth width;}PrintElement printEle PrintDrawProtocol.DrawLine(ele.PrintX, ele.PrintY, endX, endY, lineWidth, ele.PrintFlag, ele.Color);retList.add(printEle);}}}/*** 通过模板主键或者代码得到模板数据供打印使用** param rowID* param code* return*/private JRTPrintTemplateDto GetOneTemplate(Integer rowID, String code) throws Exception {JRTPrintTemplateDto retDto null;//按主键取if (rowID ! null) {retDto EntityManager().GetById(JRTPrintTemplateDto.class, rowID);}//按代码取else if (code ! null !code.isEmpty()) {retDto EntityManager().GetByColVal(JRTPrintTemplateDto.class, Code, code);}if (retDto ! null) {HashParam hs new HashParam();hs.Add(PrintTemplateDR, retDto.RowID);retDto.EleList EntityManager().FindAllSimple(JRTPrintTemplateEle.class, hs);}return retDto;}/*** 得到抗生素表格定义** return* throws Exception*/private GridDto GetAntGridDef() throws Exception {for (JRTPrintTemplateEle ele : template.EleList) {//输出表格if (ele.PrintType.equals(DataGrid)) {if (!ele.DataField.equals(AntSen)) {continue;}//得到表格定义GridDto defGrid (GridDto) Helper.Json2Object(ele.PrintText, GridDto.class);return defGrid;}}return null;}/*** 翻译结果标识** param abFlag* return*/private String TransAbFlag(String abFlag) {if (abFlag null) {return ;}if (abFlag.equals(L)) {abFlag ↓;} else if (abFlag.equals(H)) {abFlag ↑;} else if (abFlag.equals(PL)) {abFlag ↓↓↓;} else if (abFlag.equals(PH)) {abFlag ↑↑↑;} else if (abFlag.equals(A)) {abFlag *;} else if (abFlag.equals(S)) {abFlag ***;}return abFlag;}/*** 存获得的一个模板数据*/public static class JRTPrintTemplateDto extends JRTPrintTemplate {/*** 模板元素*/public ListJRTPrintTemplateEle EleList;}}