当前位置: 首页 > news >正文

网站开发外包 价格汉中市建设局网站

网站开发外包 价格,汉中市建设局网站,wordpress 预览demo,开发者选项在哪里打开oppo这是一段充满挑战与奋斗的旅程#xff0c;自第一行Java代码的写下起#xff0c;便历经重重险阻。从细微的代码行#xff0c;逐步汇聚成实用的工具类方法#xff1b;从工具类方法的积累#xff0c;逐渐构建起功能强大的工具包#xff1b;再从工具包的整合#xff0c;最终…这是一段充满挑战与奋斗的旅程自第一行Java代码的写下起便历经重重险阻。从细微的代码行逐步汇聚成实用的工具类方法从工具类方法的积累逐渐构建起功能强大的工具包再从工具包的整合最终搭建起稳健的运行程序体系。这个过程就像是一场从点到线、从线到面、从面到立体的华丽蜕变。如今JRT已顺利迈入正常的业务开发阶段这半年里日夜兼程、不懈努力的加班时光终于换来了令人欣慰的效果一切都是值得的。 演示视频 B站视频 目前已经具有以下部分涉及网站、客户端、打印导出、运维、仪器连接的方方面面 1.Web框架 2.JRTClient 3.JRTBrowser 4.模板设计器 5.JRTMachine 6.码表 7.代码生成器 8.jrt的linux命令 9.菜单体系 来满足Web业务开发、打印、打印pdf、生成pdf、导出Excel、在线预览、在线得到打印的pdf的Base64串、定制浏览器、模板设计、连设备程序、码表程序、代码生成工具、Linux运维命令、登录菜单和权限。 首先全新设计了登录体系登录抽象各系统的差异性提供各登录的共性实现在保证登录差异性的情况下提供最大的登录共性。张弛有度、设计的首要目标就是在不入侵别人业务的情况下最大程度为各模块提供公共逻辑既不过度设计也不揉成一团。任何使用该登录体系的人只要关注登录接口实现然后把实现类配置到容器在登录界面传入配置代码既是该系统的登录界面了。使用面向接口和IOC 登录接口 package JRT.Login;import java.util.List;import JRT.Login.SelectRoleDto;/*** 作为JRT实现登录的抽象接口不同系统登录实现该接口把接口实现类配置到容器里通过给登录界面URL指定LoginType为配置对象ID实现不同系统的登录* 从而方便各个依赖JRT开发的系统共享登录和菜单功能部分可以快速把登录和菜单并入自己系统而又不需要介入太多自己可以用自己的用户表和用户权限部分。*/ public interface ILogin {/*** 得到登录界面显示的大标题** return 大标题*/String GetSystemTitle();/*** 得到登录界面用户密码框上面显示的系统名称** return 系统名称*/String GetSystemName();/*** 得到登录界面Url显示的名称** return URL名称*/String GetUrlTitle();/*** 得到登录的角色类型名称如工作组、科室、试剂组等** return URL名称*/String GetRoleTypeName();/*** 返回空就是不要求密码强度,1,2,3密码要求加强** return*/String GetSYSPasswordLevel() throws Exception;/*** 返回要求的密码长度限制有密码级别要求才限制强度** return*/int GetSYSPasswordLength() throws Exception;/*** 检查用户名和密码** param userCode 用户在登录界面输入的用户名* param pass 用户在登录界面输入的密码* return 是否验证通过*/boolean CheckUser(String userCode, String pass) throws Exception;/*** 检查用户名和密码** param userCode 用户在登录界面输入的用户名* return 是否验证通过*/ListSelectRoleDto GetSelectRole(String userCode) throws Exception;/*** 修改用户密码用户密码强度不符合时候修改密码调用的接口** param userCode 用户在登录界面输入的用户名* param passOld 用户在登录界面输入的老密码* param passNew 用户在登录界面输入的新密码* return 成功返回空否则返回失败原因*/String ChangePassword(String userCode, String passOld, String passNew) throws Exception; } 检验登录实现实例 package JRT.Login;import JRT.Core.Dto.HashParam; import JRT.Core.Util.LogUtils; import JRT.Core.Util.PassWordUtil; import JRT.DAL.ORM.EntityManager.EntityManagerFactory; import JRT.DAL.ORM.EntityManager.IEntityManager; import JRT.Login.SelectRoleDto; import JRT.Model.Entity.*; import JRTBLLBase.Helper;import java.util.ArrayList; import java.util.List;/*** 作为登录到检验工作组的实现类其他登录科室和试剂组的登录实现参照此类即可由登录界面通过URL上的LoginType从容器获取登录实现类*/ public class LoginLIS implements JRT.Login.ILogin {/*** 访问数据库*/private IEntityManager entityManager null;/*** 给业务脚本提供的操作数据库的对象*/public IEntityManager EntityManager() {if (entityManager null) {entityManager EntityManagerFactory.CreateEntityManager();}return entityManager;}/*** 得到登录界面显示的大标题** return 大标题*/Overridepublic String GetSystemTitle() {return 检验信息管理系统;}/*** 得到登录界面用户密码框上面显示的系统名称** return 系统名称*/Overridepublic String GetSystemName() {return 检验系统;}/*** 得到登录界面Url显示的名称** return URL名称*/Overridepublic String GetUrlTitle() {return JRTLIS © 1.0;}/*** 得到登录的角色类型名称如工作组、科室、试剂组等** return URL名称*/Overridepublic String GetRoleTypeName() {return 工作组;}/*** 返回空就是不要求密码强度,1,2,3密码要求加强** return*/Overridepublic String GetSYSPasswordLevel() throws Exception {//查询系统参数JRTParameter dto EntityManager().GetByColVal(JRTParameter.class, Code, SYSPasswordLevel);if (dto ! null) {return dto.ParaValue;}return ;}/*** 返回要求的密码长度限制有密码级别要求才限制强度** return*/Overridepublic int GetSYSPasswordLength() throws Exception {//查询系统参数JRTParameter dto EntityManager().GetByColVal(JRTParameter.class, Code, SYSPasswordLength);if (dto ! null) {if (dto.ParaValue ! null !dto.ParaValue.isEmpty()) {return Integer.valueOf(dto.ParaValue);}}return 9;}/*** 检查用户名和密码** param userCode 用户在登录界面输入的用户名* param pass 用户在登录界面输入的密码* return 是否验证通过, 验证不通过的前端都统一返回用户名或密码错误*/Overridepublic boolean CheckUser(String userCode, String pass) throws Exception {//按代码查询用户SYSUser user EntityManager().GetByColVal(SYSUser.class, Code, userCode);//没查到用户if (user null) {LogUtils.WriteDebugLog(用户: userCode 不存在);return false;}//比较密码boolean checkRes PassWordUtil.PassCompare(pass, user.Password);return checkRes;}/*** 获取用户角色** param userCode 用户在登录界面输入的用户名* return 是否验证通过*/Overridepublic ListSelectRoleDto GetSelectRole(String userCode) throws Exception {ListSelectRoleDto retList new ArrayList();//按代码查询用户SYSUser user EntityManager().GetByColVal(SYSUser.class, Code, userCode);//没查到用户if (user null) {return retList;}HashParam para new HashParam();para.Add(UserDR, user.RowID);ListSYSUserRole roleList EntityManager().FindAllSimple(SYSUserRole.class, para);if (roleList ! null roleList.size() 0) {for (SYSUserRole dto : roleList) {//取工作组数据BTWorkGroup wgDto EntityManager().DolerGet(BTWorkGroup.class, dto.WorkGroupDR);//得到科室BTDepartment depDto EntityManager().DolerGet(BTDepartment.class, wgDto.DepartmentDR);//得到医院BTHospital hosDto EntityManager().DolerGet(BTHospital.class, depDto.HospitalDR);//岗位名称String postName ;if (dto.PostDR ! null) {//取岗位数据SYSPost postDto EntityManager().DolerGet(SYSPost.class, dto.WorkGroupDR);postName [ postDto.CName ];}SelectRoleDto role new SelectRoleDto();role.RoleDR dto.RoleDR;role.RoleName wgDto.CName postName;//放工作组role.GroupID String.valueOf(dto.WorkGroupDR);role.UserID String.valueOf(user.RowID);role.UserCode user.Code;role.UserName user.CName;role.SessionStr user.RowID ^ dto.WorkGroupDR ^ depDto.RowID ^ dto.RoleDR ^ hosDto.RowID;retList.add(role);}}return retList;}/*** 修改用户密码用户密码强度不符合时候修改密码调用的接口** param userCode 用户在登录界面输入的用户名* param passOld 用户在登录界面输入的老密码* param passNew 用户在登录界面输入的新密码* return 成功返回空否则返回失败原因*/Overridepublic String ChangePassword(String userCode, String passOld, String passNew) throws Exception {//按代码查询用户SYSUser user EntityManager().GetByColVal(SYSUser.class, Code, userCode);//没查到用户if (user null) {return 用户: userCode 不存在!;}//比较密码boolean checkRes PassWordUtil.PassCompare(passOld, user.Password);if (checkRes false) {return 用户名或密码不正确!;}//加密密码user.Password PassWordUtil.PassEntry(passNew);//更新密码ListString upCol new ArrayList();upCol.add(Password);int ret EntityManager().Update(user, upCol);if (ret 1) {return ;} else {return 修改密码发送错误!;}} } 试剂登录实现 package JRT.Login;import JRT.Core.Dto.HashParam; import JRT.Core.Util.LogUtils; import JRT.Core.Util.PassWordUtil; import JRT.DAL.ORM.EntityManager.EntityManagerFactory; import JRT.DAL.ORM.EntityManager.IEntityManager; import JRT.Login.SelectRoleDto; import JRT.Model.Entity.*; import JRTBLLBase.Helper;import java.util.ArrayList; import java.util.List;/*** 作为登录到试剂的实现类其他登录科室和护士站的登录实现参照此类即可由登录界面通过URL上的LoginType从容器获取登录实现类*/ public class LoginRG implements JRT.Login.ILogin {/*** 访问数据库*/private IEntityManager entityManager null;/*** 给业务脚本提供的操作数据库的对象*/public IEntityManager EntityManager() {if (entityManager null) {entityManager EntityManagerFactory.CreateEntityManager();}return entityManager;}/*** 得到登录界面显示的大标题** return 大标题*/Overridepublic String GetSystemTitle() {return 试剂库存管理系统;}/*** 得到登录界面用户密码框上面显示的系统名称** return 系统名称*/Overridepublic String GetSystemName() {return 试剂系统;}/*** 得到登录界面Url显示的名称** return URL名称*/Overridepublic String GetUrlTitle() {return JRTRG © 1.0;}/*** 得到登录的角色类型名称如工作组、科室、试剂组等** return URL名称*/Overridepublic String GetRoleTypeName() {return 试剂组;}/*** 返回空就是不要求密码强度,1,2,3密码要求加强** return*/Overridepublic String GetSYSPasswordLevel() throws Exception {//查询系统参数JRTParameter dto EntityManager().GetByColVal(JRTParameter.class, Code, SYSPasswordLevel);if (dto ! null) {return dto.ParaValue;}return ;}/*** 返回要求的密码长度限制有密码级别要求才限制强度** return*/Overridepublic int GetSYSPasswordLength() throws Exception {//查询系统参数JRTParameter dto EntityManager().GetByColVal(JRTParameter.class, Code, SYSPasswordLength);if (dto ! null) {if (dto.ParaValue ! null !dto.ParaValue.isEmpty()) {return Integer.valueOf(dto.ParaValue);}}return 9;}/*** 检查用户名和密码** param userCode 用户在登录界面输入的用户名* param pass 用户在登录界面输入的密码* return 是否验证通过, 验证不通过的前端都统一返回用户名或密码错误*/Overridepublic boolean CheckUser(String userCode, String pass) throws Exception {//按代码查询用户SYSUser user EntityManager().GetByColVal(SYSUser.class, Code, userCode);//没查到用户if (user null) {LogUtils.WriteDebugLog(用户: userCode 不存在);return false;}//比较密码boolean checkRes PassWordUtil.PassCompare(pass, user.Password);return checkRes;}/*** 获取用户角色** param userCode 用户在登录界面输入的用户名* return 是否验证通过*/Overridepublic ListSelectRoleDto GetSelectRole(String userCode) throws Exception {ListSelectRoleDto retList new ArrayList();//按代码查询用户SYSUser user EntityManager().GetByColVal(SYSUser.class, Code, userCode);//没查到用户if (user null) {return retList;}HashParam para new HashParam();para.Add(UserDR, user.RowID);ListSYSUserReagentRole roleList EntityManager().FindAllSimple(SYSUserReagentRole.class, para);if (roleList ! null roleList.size() 0) {for (SYSUserReagentRole dto : roleList) {//取试剂组数据SYSReagentGroup rgDto EntityManager().DolerGet(SYSReagentGroup.class, dto.ReagentGroupDR);//得到科室BTDepartment depDto EntityManager().DolerGet(BTDepartment.class, rgDto.DepartmentDR);//得到医院BTHospital hosDto EntityManager().DolerGet(BTHospital.class, depDto.HospitalDR);SelectRoleDto role new SelectRoleDto();role.RoleDR dto.RoleDR;role.RoleName rgDto.CName;//放工作组role.GroupID String.valueOf(dto.ReagentGroupDR);role.UserID String.valueOf(user.RowID);role.UserCode user.Code;role.UserName user.CName;role.SessionStr user.RowID ^ dto.ReagentGroupDR ^ depDto.RowID ^ dto.RoleDR ^ hosDto.RowID;retList.add(role);}}return retList;}/*** 修改用户密码用户密码强度不符合时候修改密码调用的接口** param userCode 用户在登录界面输入的用户名* param passOld 用户在登录界面输入的老密码* param passNew 用户在登录界面输入的新密码* return 成功返回空否则返回失败原因*/Overridepublic String ChangePassword(String userCode, String passOld, String passNew) throws Exception {//按代码查询用户SYSUser user EntityManager().GetByColVal(SYSUser.class, Code, userCode);//没查到用户if (user null) {return 用户: userCode 不存在!;}//比较密码boolean checkRes PassWordUtil.PassCompare(passOld, user.Password);if (checkRes false) {return 用户名或密码不正确!;}//加密密码user.Password PassWordUtil.PassEntry(passNew);//更新密码ListString upCol new ArrayList();upCol.add(Password);int ret EntityManager().Update(user, upCol);if (ret 1) {return ;} else {return 修改密码发送错误!;}} } 医生登录实现 package JRT.Login;import JRT.Core.Dto.HashParam; import JRT.Core.Util.LogUtils; import JRT.Core.Util.PassWordUtil; import JRT.DAL.ORM.EntityManager.EntityManagerFactory; import JRT.DAL.ORM.EntityManager.IEntityManager; import JRT.Login.SelectRoleDto; import JRT.Model.Entity.*; import JRTBLLBase.Helper;import java.util.ArrayList; import java.util.List;/*** 作为登录到医生科室的实现类其他登录实现参照此类即可由登录界面通过URL上的LoginType从容器获取登录实现类*/ public class LoginDOC implements JRT.Login.ILogin {/*** 访问数据库*/private IEntityManager entityManager null;/*** 给业务脚本提供的操作数据库的对象*/public IEntityManager EntityManager() {if (entityManager null) {entityManager EntityManagerFactory.CreateEntityManager();}return entityManager;}/*** 得到登录界面显示的大标题** return 大标题*/Overridepublic String GetSystemTitle() {return 医生站系统;}/*** 得到登录界面用户密码框上面显示的系统名称** return 系统名称*/Overridepublic String GetSystemName() {return 医生站;}/*** 得到登录界面Url显示的名称** return URL名称*/Overridepublic String GetUrlTitle() {return JRTHIS © 1.0;}/*** 得到登录的角色类型名称如工作组、科室、试剂组等** return URL名称*/Overridepublic String GetRoleTypeName() {return 科室;}/*** 返回空就是不要求密码强度,1,2,3密码要求加强** return*/Overridepublic String GetSYSPasswordLevel() throws Exception {//查询系统参数JRTParameter dto EntityManager().GetByColVal(JRTParameter.class, Code, SYSPasswordLevel);if (dto ! null) {return dto.ParaValue;}return ;}/*** 返回要求的密码长度限制有密码级别要求才限制强度** return*/Overridepublic int GetSYSPasswordLength() throws Exception {//查询系统参数JRTParameter dto EntityManager().GetByColVal(JRTParameter.class, Code, SYSPasswordLength);if (dto ! null) {if (dto.ParaValue ! null !dto.ParaValue.isEmpty()) {return Integer.valueOf(dto.ParaValue);}}return 9;}/*** 检查用户名和密码** param userCode 用户在登录界面输入的用户名* param pass 用户在登录界面输入的密码* return 是否验证通过, 验证不通过的前端都统一返回用户名或密码错误*/Overridepublic boolean CheckUser(String userCode, String pass) throws Exception {//按代码查询用户SYSUser user EntityManager().GetByColVal(SYSUser.class, Code, userCode);//没查到用户if (user null) {LogUtils.WriteDebugLog(用户: userCode 不存在);return false;}//比较密码boolean checkRes PassWordUtil.PassCompare(pass, user.Password);return checkRes;}/*** 获取用户角色** param userCode 用户在登录界面输入的用户名* return 是否验证通过*/Overridepublic ListSelectRoleDto GetSelectRole(String userCode) throws Exception {ListSelectRoleDto retList new ArrayList();//按代码查询用户SYSUser user EntityManager().GetByColVal(SYSUser.class, Code, userCode);//没查到用户if (user null) {return retList;}HashParam para new HashParam();para.Add(UserDR, user.RowID);ListSYSUserLocationRole roleList EntityManager().FindAllSimple(SYSUserLocationRole.class, para);if (roleList ! null roleList.size() 0) {for (SYSUserLocationRole dto : roleList) {//取试剂组数据BTLocation locDto EntityManager().DolerGet(BTLocation.class, dto.LocationDR);//得到医院BTHospital hosDto EntityManager().DolerGet(BTHospital.class, locDto.HospitalDR);SelectRoleDto role new SelectRoleDto();role.RoleDR dto.RoleDR;role.RoleName locDto.CName;//放工作组role.GroupID String.valueOf(dto.LocationDR);role.UserID String.valueOf(user.RowID);role.UserCode user.Code;role.UserName user.CName;role.SessionStr user.RowID ^ dto.LocationDR ^ dto.LocationDR ^ dto.RoleDR ^ hosDto.RowID;retList.add(role);}}return retList;}/*** 修改用户密码用户密码强度不符合时候修改密码调用的接口** param userCode 用户在登录界面输入的用户名* param passOld 用户在登录界面输入的老密码* param passNew 用户在登录界面输入的新密码* return 成功返回空否则返回失败原因*/Overridepublic String ChangePassword(String userCode, String passOld, String passNew) throws Exception {//按代码查询用户SYSUser user EntityManager().GetByColVal(SYSUser.class, Code, userCode);//没查到用户if (user null) {return 用户: userCode 不存在!;}//比较密码boolean checkRes PassWordUtil.PassCompare(passOld, user.Password);if (checkRes false) {return 用户名或密码不正确!;}//加密密码user.Password PassWordUtil.PassEntry(passNew);//更新密码ListString upCol new ArrayList();upCol.add(Password);int ret EntityManager().Update(user, upCol);if (ret 1) {return ;} else {return 修改密码发送错误!;}} } 配置登录实现类 全java化的打印导出支持 jrt命令支持 监听支持 Windows和Linux下的浏览器支持 超低占用资源在腾讯云2G内存下运行数据库、web、svn服务器的内存占用情况 极少开发环境依赖 开发环境只需要ideajdk在Windows和Linux都很容易准备好不需要额外的配置 极低的上手门槛 无需精通Maven管理、无需繁琐配置IDEA插件、无需深入学习Spring框架更无需掌握MyBatis写SQL与Mapper设置。只需在具备开发环境的基础上轻松更新代码并一键运行掌握以下代码知识即可轻松驾驭JRT。简洁明了的代码设计实现了打印、导出、上传Excel、生成PDF、文件服务操作以及摄像头调用等诸多功能。JRT的魅力正在于它的去繁就简让编程回归本真为您带来高效且愉悦的开发体验。 界面示例 !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd html xmlnshttp://www.w3.org/1999/xhtml headmeta http-equivContent-Type contenttext/html;charsetutf-8 /titleJRTPrintTemplateEle供拷贝代码使用/titlelink relshortcut icon href../../resource/common/images/favicon.ico /script src../../resource/common/js/JRTBSBase.js typetext/javascript/scriptscript src../../jrtprint/js/JRTPrint.js typetext/javascript/scriptscript languagejavascript typetext/javascriptSYSPageCommonInfo.Init();var BasePath ;var ResourcePath ;var WebServicAddress SYSPageCommonInfo.Data.WebServicAddress;var UserDR SYSPageCommonInfo.Data.Sesssion.UserDR;var GroupID SYSPageCommonInfo.Data.Sesssion.GroupID;var SessionStr SYSPageCommonInfo.Data.SessionStr;/scriptscript typetext/javascript//全局变量var me {actionUrl: ../ashx/ashJRTPrintTemplateEle.ashx};//jquery入口$(function () {//导出Excel$(#btnExport).click(function () {var para {};var tempPath DealExportExcelTMPName(打印元素.xls);JRTBasePrint(Export WebServicAddress vm.test.QryPrintTemplateEleQryPrintEle JSON.stringify(para) SessionStr tempPath 0);});//导出Excel多模板$(#btnExport1).click(function () {var para {};var tempPath DealExportExcelTMPName(打印元素多模板);JRTBasePrint(Export WebServicAddress vm.test.QryPrintTemplateEleQryPrintEle JSON.stringify(para) SessionStr tempPath 0);});//导出Excel无模板$(#btnExport0).click(function () {var para {};var tempPath ;JRTBasePrint(Export WebServicAddress vm.test.QryPrintTemplateEleQryPrintEle JSON.stringify(para) SessionStr tempPath 0);});//打印预览$(#btnPrintPreview).click(function () {//0:打印所有报告 1:循环打印每一份报告var printFlag 0;var userCode ;//打印参数var paramList ;//PrintOut:打印 PrintPreview打印预览var printType PrintPreview;var printPara 1;var Param printFlag WebServicAddress printPara userCode printType paramList vm.test.PrintBarCodeTestGetData;JRTBasePrint(Param);});//打印表格$(#btnPrintPreviewGrid).click(function () {//0:打印所有报告 1:循环打印每一份报告var printFlag 0;var userCode ;//打印参数var paramList ;//PrintOut:打印 PrintPreview打印预览var printType PrintOut;var printPara 1;var Param printFlag WebServicAddress printPara userCode printType paramList vm.test.DrawGridGetData;JRTBasePrint(Param);});//打印报告$(#btnPrintReport).click(function () {//0:打印所有报告 1:循环打印每一份报告var printFlag 0;var userCode ;//打印参数var paramList ;//PrintOut:打印 PrintPreview打印预览var printType PrintOut;var printPara 1;var Param printFlag WebServicAddress printPara userCode printType paramList vm.test.PrintTemplateTestGetData;JRTBasePrint(Param);});//集中打印$(#btnCenterPrint).click(function () {//0:打印所有报告 1:循环打印每一份报告var printFlag 0;var userCode ;//打印参数var paramList ;//PrintOut:打印 PrintPreview打印预览var printType PrintOut;var printPara 1;var Param printFlag WebServicAddress printPara userCode printType paramList vm.test.CenterPrintTestGetData;JRTBasePrint(Param);});//在线预览$(#btnPrintPreviewInline).click(function () {showwin(#winPrintPreview, 在线打印预览, ../../facade/form/frmJRTPrintDrawView.aspx?PrintDR 1 PrintClassNamevm.test.PrintBarCodeTest, 950, $(window).height() - 20, true, 10px);});//打印$(#btnPrint).click(function () {//0:打印所有报告 1:循环打印每一份报告var printFlag 0;var userCode ;//打印参数var paramList ;//PrintOut:打印 PrintPreview打印预览var printType PrintOut;var printPara 1;var Param printFlag WebServicAddress printPara userCode printType paramList vm.test.PrintBarCodeTestGetData;JRTBasePrint(Param);});//PDF$(#btnPDF).click(function () {//0:打印所有报告 1:循环打印每一份报告var printFlag 0;var userCode ;//打印参数var paramList ;//PrintOut:打印 PrintPreview打印预览var printType PDF#-1;var printPara 1;var Param printFlag WebServicAddress printPara userCode printType paramList vm.test.PrintBarCodeTestGetData;JRTBasePrint(Param);});//PDF弹窗$(#btnPDFSave).click(function () {//0:打印所有报告 1:循环打印每一份报告var printFlag 0;var userCode ;//打印参数var paramList ;//PrintOut:打印 PrintPreview打印预览var printType PDF#0;var printPara 1;var Param printFlag WebServicAddress printPara userCode printType paramList vm.test.PrintBarCodeTestGetData;JRTBasePrint(Param);});//上传文件到文件服务$(#btnUpfile).click(function () {$(#file_upload).click();});//改名文件$(#btnRenamefile).click(function () {//往后台提交数据$.ajax({type: post,dataType: json,cache: false, //async: true, //为true时异步不等待后台返回值为false时强制等待-asirurl: me.actionUrl ?MethodReNameImageFile,success: function (data, status) {$.messager.progress(close);if (!FilterBackData(data)) {return;}alert(成功);}});});//删除文件$(#btnDeletefile).click(function () {//往后台提交数据$.ajax({type: post,dataType: json,cache: false, //async: true, //为true时异步不等待后台返回值为false时强制等待-asirurl: me.actionUrl ?MethodDeleteImageFile,success: function (data, status) {$.messager.progress(close);if (!FilterBackData(data)) {return;}alert(成功);}});});//Excel得到JSON$(#btnExcelGetJson).click(function () {JRTGetExcelFileJson(function (retJson) {alert(JSON.stringify(retJson));});});//新增数据点击$(#btnAddJRTPrintTemplateEle).click(function () {$(#txtJRTPrintTemplateEleRowID).val(); $(#winEditJRTPrintTemplateEle).window({title: TranslateDataMTHD(Add Data, 新增数据, ),modal: true});});//修改数据点击$(#btnUpdateJRTPrintTemplateEle).click(function () {UpdateJRTPrintTemplateEle();});//修改数据function UpdateJRTPrintTemplateEle(row){var selectRow $(#dgJRTPrintTemplateEle).datagrid(getSelected);if(row!null){selectRowrow;}if (selectRow null) {$.messager.alert(TranslateDataMTHD(Info, 提示, ), TranslateDataMTHD(Please select the data to modify, 请选择要修改的数据!, ), info);return;}$(#formJRTPrintTemplateEle).form(load, selectRow);$(#winEditJRTPrintTemplateEle).window({title: TranslateDataMTHD(Update Data, 修改数据, ),modal: true});}//删除数据点击$(#btnDeleteJRTPrintTemplateEle).click(function () {var checkRow $(#dgJRTPrintTemplateEle).datagrid(getChecked);var selectRow $(#dgJRTPrintTemplateEle).datagrid(getSelected);if ((checkRow null || checkRow.length 0)selectRownull) {$.messager.alert(TranslateDataMTHD(Info, 提示, ), TranslateDataMTHD(Please select the data to delete, 请勾选要删除的数据!, ), info);return;}if ((checkRow null || checkRow.length 0)) {checkRow[selectRow];}var RowIDS ;for (var i 0; i checkRow.length; i) {if (i 0) {RowIDS checkRow[i].RowID;}else {RowIDS ^ checkRow[i].RowID;}}$.messager.confirm(TranslateDataMTHD(Info, 提示, ), TranslateDataMTHD(Do you want to delete the selected data, 是否要删除选择的数据?, ) , function (r) {if (r) {//开启等待$.messager.progress({ text: TranslateDataMTHD(Deleting data,正在删除数据, ), interval: 500 });setTimeout(function () {$.messager.progress(close);}, 8000);//往后台提交数据$.ajax({type: post,dataType: json,cache: false, //async: true, //为true时异步不等待后台返回值为false时强制等待-asirurl: me.actionUrl ?MethodDeleteJRTPrintTemplateEle,data: { RowIDS: RowIDS },success: function (data, status) {$.messager.progress(close);if (!FilterBackData(data)) {return;}if (!data.IsOk) {$.messager.alert(TranslateDataMTHD(Error message, 错误提示, ), TranslateDataMTHD(failed to dalete data, error message:, 删除失败,错误信息, ) data.Message);}else {QryJRTPrintTemplateEle();$.messager.show({title: TranslateDataMTHD(Info, 提示, ),msg: TranslateDataMTHD(Successfully deleted!, 删除成功, ),timeout: 500,showType: slide});}}});}});});//保存数据$(#btnSaveJRTPrintTemplateEle).click(function () {var saveData jQuery.parseJSON($(#formJRTPrintTemplateEle).serializeObject());//开启等待$.messager.progress({ text: TranslateDataMTHD(Saving data,正在保存数据, ), interval: 500 });setTimeout(function () {$.messager.progress(close);}, 8000);//往后台提交数据$.ajax({type: post,dataType: json,cache: false, //async: true, //为true时异步不等待后台返回值为false时强制等待-asirurl: me.actionUrl ?MethodSaveJRTPrintTemplateEle,data: saveData,success: function (data, status) {$.messager.progress(close);if (!FilterBackData(data)) {return;}if (!data.IsOk) {$.messager.alert(TranslateDataMTHD(Error message, 错误提示, ), TranslateDataMTHD(failed to dalete data, error message:, 删除失败,错误信息, ) data.Message);}else {QryJRTPrintTemplateEle();$.messager.show({title: TranslateDataMTHD(Info, 提示, ),msg: TranslateDataMTHD(Successfully saveed!, 保存成功, ),timeout: 500,showType: slide});$(#winEditJRTPrintTemplateEle).window(close);}}});});//关闭窗口$(#btnCloseJRTPrintTemplateEle).click(function () {$(#winEditJRTPrintTemplateEle).window(close);});//构造查询事件$(#txtFilterJRTPrintTemplateEle).searchbox({searcher: function (value, name) {QryJRTPrintTemplateEle();},prompt: TranslateDataMTHD(Enter query, 回车查询, )});//模板下拉表格渲染$(#txtJRTPrintTemplateElePrintTemplateDR).combogrid({panelWidth: 350,idField: RowID,width: 205,textField: CName,url: me.actionUrl ?MethodCommonQueryViewdataJSON.stringify({ ModelName: JRTPrintTemplate, Pram: [], IsDisplayCount: false, Joiner: [], Operators: [] }),columns: [[{ field: RowID, title: 主键, width: 60 },{ field: CName, title: 名称, width: 260 }]]});$(#txtJRTPrintTemplateElePrintTemplateDR).combogrid(showSelectWin);//JRTPrintTemplateEle表格$(#dgJRTPrintTemplateEle).datagrid({remoteSort:false,singleSelect: true,toolbar: #dgJRTPrintTemplateEleToolBar,fit: true,onSelect: function (index, row) {//方便拷贝到子表查询用var selectJRTPrintTemplateEle$(#dgJRTPrintTemplateEle).datagrid(getSelected);},onDblClickRow: function (index, row) {UpdateJRTPrintTemplateEle(row);},columns: [[{ field: ChkFlag, title: TranslateDataMTHD(Check, 选择, ), width: 20, sortable: true, align: center, checkbox: true },{ field: RowID, title: TranslateDataMTHD(RowID, 主键, ) , width: 150, sortable: true },{ field: PrintTemplateDRName, title: TranslateDataMTHD(PrintTemplateDRName, 模板, ) , width: 150, sortable: true },{ field: PrintType, title: TranslateDataMTHD(PrintType, 元素类型, ) , width: 150, sortable: true },{ field: PrintX, title: TranslateDataMTHD(PrintX, X坐标, ) , width: 150, sortable: true },{ field: PrintY, title: TranslateDataMTHD(PrintY, Y坐标, ) , width: 150, sortable: true },{ field: PrintFont, title: TranslateDataMTHD(PrintFont, 打印字体, ) , width: 150, sortable: true },{ field: PrintFontSize, title: TranslateDataMTHD(PrintFontSize, 打印字体大小, ) , width: 150, sortable: true },{ field: PrintFontStyle, title: TranslateDataMTHD(PrintFontStyle, 打印字体样式, ) , width: 150, sortable: true },{ field: PrintLength, title: TranslateDataMTHD(PrintLength, 打印长度, ) , width: 150, sortable: true },{ field: PrintWidth, title: TranslateDataMTHD(PrintWidth, 元素宽度, ) , width: 150, sortable: true },{ field: PrintHeight, title: TranslateDataMTHD(PrintHeight, 元素高度, ) , width: 150, sortable: true },{ field: PrintText, title: TranslateDataMTHD(PrintText, 元素文本, ) , width: 150, sortable: true },{ field: DataField, title: TranslateDataMTHD(DataField, 绑定属性, ) , width: 150, sortable: true },{ field: PrintFlag, title: TranslateDataMTHD(PrintFlag, 特殊标志, ) , width: 150, sortable: true },{ field: PrintAlignment, title: TranslateDataMTHD(PrintAlignment, 停靠方向, ) , width: 150, sortable: true },{ field: LayOut, title: TranslateDataMTHD(LayOut, 布局方式, ) , width: 150, sortable: true },{ field: Angle, title: TranslateDataMTHD(Angle, 旋转角度, ) , width: 150, sortable: true },{ field: IsVShow, title: TranslateDataMTHD(IsVShow, 是否垂直显示, ) , width: 150, sortable: true },{ field: Color, title: TranslateDataMTHD(Color, 颜色, ) , width: 150, sortable: true },{ field: FixedReport, title: TranslateDataMTHD(FixedReport, 固定元素, ) , width: 150, sortable: true }]]});//查询JRTPrintTemplateElefunction QryJRTPrintTemplateEle() {var Filter $(#txtFilterJRTPrintTemplateEle).searchbox(getValue);//开启等待,默认注释在单击事件调用的逻辑启用等待会冲掉双击事件,按需要开启//$.messager.progress({ text: TranslateDataMTHD(Querying data,正在查询数据, ), interval: 500 });//setTimeout(function () {//$.messager.progress(close);//}, 8000);$.ajax({type: post,dataType: json,cache: false, //async: true, //为true时异步不等待后台返回值为false时强制等待-asirurl: me.actionUrl ?MethodQryJRTPrintTemplateEle,data: { Filter: Filter },success: function (data, status) {//结束等待//$.messager.progress(close);if (!FilterBackData(data)) {return;}$(#dgJRTPrintTemplateEle).datagrid(loadData, data);}});};//执行查询数据QryJRTPrintTemplateEle();});//上传文件function UpFile(a) {var selectFiles document.getElementById(file_upload).files;if (selectFiles ! null selectFiles.length 0) {for (var i 0; i selectFiles.length; i) {var data new FormData();var file selectFiles[i];data.append(file, file);ajaxLoading();setTimeout(function () {ajaxLoadEnd();}, 4000);var url me.actionUrl ?MethodUpImageFile;var callback function (retData) {retData JSON.parse(retData);if (retData.IsOk) {showInfo(上传成功!);}else {showError(retData[Message]);}ajaxLoadEnd();};JRTHttpSys(data, url, callback);}$(#file_upload).val();}}/script /head bodydiv classeasyui-layout fittrue styleborder: none;div data-optionsregion:center,title: styleborder: none;div iddgJRTPrintTemplateEleToolBar stylepadding: 3px 0px 3px 10px;a idbtnAddJRTPrintTemplateEle href# classeasyui-linkbutton data-optionsiconCls:icon-add plaintrue listranslatehtml~Add新增/aa idbtnUpdateJRTPrintTemplateEle href# classeasyui-linkbutton data-optionsiconCls:icon-write-order plaintrue listranslatehtml~Mod修改/aa idbtnDeleteJRTPrintTemplateEle href# classeasyui-linkbutton data-optionsiconCls:icon-cancel plaintrue listranslatehtml~Del删除/ainput idtxtFilterJRTPrintTemplateEle stylemargin-left: 14px; width: 240px;/inputa idbtnExport href# classeasyui-linkbutton data-optionsiconCls:icon-excel plaintrue listranslatehtml~Export导出/aa idbtnExport1 href# classeasyui-linkbutton data-optionsiconCls:icon-excel plaintrue listranslatehtml~Export多模板/aa idbtnExport0 href# classeasyui-linkbutton data-optionsiconCls:icon-excel plaintrue listranslatehtml~Export无模板/aa idbtnPrintPreview href# classeasyui-linkbutton data-optionsiconCls:icon-print plaintrue listranslatehtml~PrintPreview打印预览/aa idbtnPrintPreviewInline href# classeasyui-linkbutton data-optionsiconCls:icon-print plaintrue listranslatehtml~PrintPreview在线预览/aa idbtnPrint href# classeasyui-linkbutton data-optionsiconCls:icon-print plaintrue listranslatehtml~Print打印/aa idbtnPDF href# classeasyui-linkbutton data-optionsiconCls:icon-print plaintrue listranslatehtml~PDFPDF/aa idbtnPDFSave href# classeasyui-linkbutton data-optionsiconCls:icon-print plaintrue listranslatehtml~PDFPDF弹/aa idbtnPrintPreviewGrid href# classeasyui-linkbutton data-optionsiconCls:icon-print plaintrue listranslatehtml~PrintGrid打表格/aa idbtnPrintReport href# classeasyui-linkbutton data-optionsiconCls:icon-print plaintrue listranslatehtml~PrintReport打报告/aa idbtnCenterPrint href# classeasyui-linkbutton data-optionsiconCls:icon-print plaintrue listranslatehtml~CenterPrint集中打印/aa idbtnUpfile href# classeasyui-linkbutton data-optionsiconCls:icon-file plaintrue listranslatehtml~File上传文件/ainput typefile idfile_upload namef onchangeUpFile(this); acceptimage/png,image/gif,image/jp2,image/jpeg,image/bmp styledisplay: none multiplemultiple /a idbtnExcelGetJson href# classeasyui-linkbutton data-optionsiconCls:icon-excel plaintrue listranslatehtml~ExcelJsonExcelJson/aa idbtnRenamefile href# classeasyui-linkbutton data-optionsiconCls:icon-file plaintrue listranslatehtml~File改名/aa idbtnDeletefile href# classeasyui-linkbutton data-optionsiconCls:icon-file plaintrue listranslatehtml~File删除/a/divtable iddgJRTPrintTemplateEle title iconclsicon-paper listranslatetitle~JRTPrintTemplateEle/table/divdiv idwinEditJRTPrintTemplateEle stylepadding: 10px 0px 0px 10px;width:1140px;height:366.6666666666666667px;display: none;form idformJRTPrintTemplateEle nameedit_form methodpostinput typehidden idtxtJRTPrintTemplateEleRowID nameRowID value0 /tabletrtd classlisar jrttranslatehtml~PrintTemplateDR模板/tdtd classlisalinput idtxtJRTPrintTemplateElePrintTemplateDR typetext namePrintTemplateDR stylewidth:200px;//tdtd classlisar jrttranslatehtml~PrintType元素类型/tdtd classlisalinput idtxtJRTPrintTemplateElePrintType typetext namePrintType stylewidth:200px; classeasyui-validatebox maxlength20//tdtd classlisar jrttranslatehtml~PrintXX坐标/tdtd classlisalinput idtxtJRTPrintTemplateElePrintX typetext namePrintX stylewidth:200px; classeasyui-validatebox maxlength10//td/trtrtd classlisar jrttranslatehtml~PrintYY坐标/tdtd classlisalinput idtxtJRTPrintTemplateElePrintY typetext namePrintY stylewidth:200px; classeasyui-validatebox maxlength10//tdtd classlisar jrttranslatehtml~PrintFont打印字体/tdtd classlisalinput idtxtJRTPrintTemplateElePrintFont typetext namePrintFont stylewidth:200px; classeasyui-validatebox maxlength20//tdtd classlisar jrttranslatehtml~PrintFontSize打印字体大小/tdtd classlisalinput idtxtJRTPrintTemplateElePrintFontSize typetext namePrintFontSize stylewidth:200px; classeasyui-validatebox maxlength10//td/trtrtd classlisar jrttranslatehtml~PrintFontStyle打印字体样式/tdtd classlisalinput idtxtJRTPrintTemplateElePrintFontStyle typetext namePrintFontStyle stylewidth:200px; classeasyui-validatebox maxlength20//tdtd classlisar jrttranslatehtml~PrintLength打印长度/tdtd classlisalinput idtxtJRTPrintTemplateElePrintLength typetext namePrintLength stylewidth:200px; classeasyui-validatebox maxlength10//tdtd classlisar jrttranslatehtml~PrintWidth元素宽度/tdtd classlisalinput idtxtJRTPrintTemplateElePrintWidth typetext namePrintWidth stylewidth:200px; classeasyui-validatebox maxlength10//td/trtrtd classlisar jrttranslatehtml~PrintHeight元素高度/tdtd classlisalinput idtxtJRTPrintTemplateElePrintHeight typetext namePrintHeight stylewidth:200px; classeasyui-validatebox maxlength10//tdtd classlisar jrttranslatehtml~PrintText元素文本/tdtd classlisalinput idtxtJRTPrintTemplateElePrintText typetext namePrintText stylewidth:200px; classeasyui-validatebox maxlength2000//tdtd classlisar jrttranslatehtml~DataField绑定属性/tdtd classlisalinput idtxtJRTPrintTemplateEleDataField typetext nameDataField stylewidth:200px; classeasyui-validatebox maxlength500//td/trtrtd classlisar jrttranslatehtml~PrintFlag特殊标志/tdtd classlisalinput idtxtJRTPrintTemplateElePrintFlag typetext namePrintFlag stylewidth:200px; classeasyui-validatebox maxlength50//tdtd classlisar jrttranslatehtml~PrintAlignment停靠方向/tdtd classlisalinput idtxtJRTPrintTemplateElePrintAlignment typetext namePrintAlignment stylewidth:200px; classeasyui-validatebox maxlength10//tdtd classlisar jrttranslatehtml~LayOut布局方式/tdtd classlisalinput idtxtJRTPrintTemplateEleLayOut typetext nameLayOut stylewidth:200px; classeasyui-validatebox maxlength10//td/trtrtd classlisar jrttranslatehtml~Angle旋转角度/tdtd classlisalinput idtxtJRTPrintTemplateEleAngle typetext nameAngle stylewidth:200px; classeasyui-validatebox maxlength10//tdtd classlisar jrttranslatehtml~IsVShow是否垂直显示/tdtd classlisalinput idtxtJRTPrintTemplateEleIsVShow typetext nameIsVShow stylewidth:200px; classeasyui-validatebox maxlength10//tdtd classlisar jrttranslatehtml~Color颜色/tdtd classlisalinput idtxtJRTPrintTemplateEleColor typetext nameColor stylewidth:200px; classeasyui-validatebox maxlength30//td/trtrtd classlisar jrttranslatehtml~FixedReport固定元素/tdtd classlisalinput idtxtJRTPrintTemplateEleFixedReport typetext nameFixedReport stylewidth:200px; classeasyui-validatebox maxlength10//td/tablediv regionsouth borderfale styletext-align: center; padding: 5px 0 0;a idbtnSaveJRTPrintTemplateEle href# classeasyui-linkbutton plainfalse listranslatehtml~Save保存/aspan classsp6/spana idbtnCloseJRTPrintTemplateEle href# classeasyui-linkbutton plainfalse listranslatehtml~Cancel取消/a/div/form/divdiv idwinPrintPreview stylepadding: 10px 0px 0px 10px; width: 1140px; height: 786px; display: none;/div/div /body /html 后台 import JRT.Core.MultiPlatform.FileCollection; import JRT.Model.Bussiness.Parameters; import JRTBLLBase.BaseHttpHandler; import JRTBLLBase.Helper; import JRT.Core.Dto.HashParam; import JRT.Core.Dto.ParamDto; import JRT.Core.Dto.OutParam; import JRT.Model.Entity.*; import JRT.Core.Util.Convert; import JRT.Core.MultiPlatform.JRTContext;import java.util.ArrayList; import java.util.List;/** *由代码生成器生成的后台代码 */ public class ashJRTPrintTemplateEle extends BaseHttpHandler {/*** 保存数据,前台按表的属性名提交* return 字符串*/public String SaveJRTPrintTemplateEle() throws Exception{JRTPrintTemplateEle dtonew JRTPrintTemplateEle();//主键dto.RowIDHelper.ValidParam(JRTContext.GetRequest(Request, RowID), dto.RowID);//模板dto.PrintTemplateDRHelper.ValidParam(JRTContext.GetRequest(Request, PrintTemplateDR), dto.PrintTemplateDR);//元素类型dto.PrintTypeHelper.ValidParam(JRTContext.GetRequest(Request, PrintType), dto.PrintType);//X坐标dto.PrintXHelper.ValidParam(JRTContext.GetRequest(Request, PrintX), dto.PrintX);//Y坐标dto.PrintYHelper.ValidParam(JRTContext.GetRequest(Request, PrintY), dto.PrintY);//打印字体dto.PrintFontHelper.ValidParam(JRTContext.GetRequest(Request, PrintFont), dto.PrintFont);//打印字体大小dto.PrintFontSizeHelper.ValidParam(JRTContext.GetRequest(Request, PrintFontSize), dto.PrintFontSize);//打印字体样式dto.PrintFontStyleHelper.ValidParam(JRTContext.GetRequest(Request, PrintFontStyle), dto.PrintFontStyle);//打印长度dto.PrintLengthHelper.ValidParam(JRTContext.GetRequest(Request, PrintLength), dto.PrintLength);//元素宽度dto.PrintWidthHelper.ValidParam(JRTContext.GetRequest(Request, PrintWidth), dto.PrintWidth);//元素高度dto.PrintHeightHelper.ValidParam(JRTContext.GetRequest(Request, PrintHeight), dto.PrintHeight);//元素文本dto.PrintTextHelper.ValidParam(JRTContext.GetRequest(Request, PrintText), dto.PrintText);//绑定属性dto.DataFieldHelper.ValidParam(JRTContext.GetRequest(Request, DataField), dto.DataField);//特殊标志dto.PrintFlagHelper.ValidParam(JRTContext.GetRequest(Request, PrintFlag), dto.PrintFlag);//停靠方向dto.PrintAlignmentHelper.ValidParam(JRTContext.GetRequest(Request, PrintAlignment), dto.PrintAlignment);//布局方式dto.LayOutHelper.ValidParam(JRTContext.GetRequest(Request, LayOut), dto.LayOut);//旋转角度dto.AngleHelper.ValidParam(JRTContext.GetRequest(Request, Angle), dto.Angle);//是否垂直显示dto.IsVShowHelper.ValidParam(JRTContext.GetRequest(Request, IsVShow), dto.IsVShow);//颜色dto.ColorHelper.ValidParam(JRTContext.GetRequest(Request, Color), dto.Color);//固定元素dto.FixedReportHelper.ValidParam(JRTContext.GetRequest(Request, FixedReport), dto.FixedReport);OutParam outnew OutParam();int ret0;//更新if(dto.RowID0){retEntityManager().Update(dto,null, out, null, null, null);}//插入数据else{retEntityManager().Save(dto,out);}if(ret1){return Helper.Success();}else{return Helper.Error(out);}}/*** 删除数据多个RowID以上尖号分割* return 字符串*/public String DeleteJRTPrintTemplateEle() throws Exception{String RowIDSHelper.ValidParam(JRTContext.GetRequest(Request, RowIDS), );if(RowIDS.isEmpty()){return Helper.Error(请传入要删除数据的RowID,多个以^分割!);}//分割主键String [] arrRowIDS.split(^);//out参数OutParam outnew OutParam();//循环删除数据for(int i0;iarr.length;i){int retEntityManager().RemoveById(JRTPrintTemplateEle.class,Convert.ToInt32(arr[i]),out);if(ret!1){return Helper.Error(out);}}return Helper.Success();}/*** 查询数据,前台按表的属性名提交* return 字符串*/public String QryJRTPrintTemplateEle() throws Exception{//模糊查询String FilterHelper.ValidParam(JRTContext.GetRequest(Request, Filter), );Parameters paranew Parameters();para.P0Filter;para.P11;//调虚拟M查询数据和导出共用逻辑return Helper.GetVMData(vm.test.QryPrintTemplateEle,QryPrintEle,para,null,null);}/*** 上传文件到文件服务* return*/public String UpImageFile() throws Exception{//得到文件ListFileCollection fileListJRT.Core.MultiPlatform.JRTWebFile.GetFiles(Request);if(fileList!nullfileList.size()0){JRT.Core.MultiPlatform.FileService fileServicenew JRT.Core.MultiPlatform.FileService();fileService.Upload(http://localhost:8080/JRTWeb/FileService/,fileList.get(0).GetInputStream(),fileList.get(0).GetFileName(),/zlz);}return Helper.Success();}/*** 改名文件* return*/public String ReNameImageFile() throws Exception{JRT.Core.MultiPlatform.FileService fileServicenew JRT.Core.MultiPlatform.FileService();fileService.ReName(http://localhost:8080/JRTWeb/FileService/,logo.png,logo1.png,zlz/);return Helper.Success();}/*** 删除文件* return*/public String DeleteImageFile() throws Exception{JRT.Core.MultiPlatform.FileService fileServicenew JRT.Core.MultiPlatform.FileService();fileService.Delete(http://localhost:8080/JRTWeb/FileService/zlz/logo.png);fileService.Delete(http://localhost:8080/JRTWeb/FileService/zlz/logo1.png);return Helper.Success();}/*** 测试日期时间转JSON* return* throws Exception*/public String JsonTest() throws Exception{ListJRTPrintTemplate listEntityManager().FindAllSimple(JRTPrintTemplate.class,null);return Helper.Object2Json(list);}} 打印后台 import JRT.Core.Dto.OutParam; import JRT.Core.Dto.OutValue; import JRT.Core.Dto.PrintElement; import JRT.Core.Util.PrintDrawProtocol; import JRTBLLBase.BaseHttpHandlerNoSession; import JRTBLLBase.Helper;import java.awt.*; import java.util.ArrayList; import java.util.List;/*** 输出符合打印元素绘制协议的打印元素数据来供打印执行层打印*/ public class PrintBarCodeTest extends BaseHttpHandlerNoSession {/*** 按传入的RowID输出符合打印元素绘制协议的数据来实现打印控制** param RowID 业务主键* param P1* param P2* param P3* param P4* param P5* param P6* param P7* param P8* param P9* param P10* param P11* param P12* param P13* param Session* param Output* return*/public String GetData(String RowID, String P1, String P2, String P3, String P4, String P5, String P6, String P7, String P8, String P9, String P10, String P11, String P12, String P13, OutValue Session, OutValue Output) throws Exception {ListPrintElement retList new ArrayList();//控制打印机//retList.add(PrintDrawProtocol.ControlPrinter(A5, PrintDrawProtocol.PrintLayout.Portrait,pdf,,0,0));//标志A4打印两个//retList.add(PrintDrawProtocol.A4Double(true));//打印PDF文件//retList.add(PrintDrawProtocol.DrawFile(http://localhost:8080/JRTWeb/FileService/test.pdf));retList.add(PrintDrawProtocol.DrawPDF(http://localhost:8080/JRTWeb/FileService/test.pdf));//换页retList.add(PrintDrawProtocol.ChangePage());//换页retList.add(PrintDrawProtocol.ChangePage());//换页retList.add(PrintDrawProtocol.ChangePage());//页码retList.add(PrintDrawProtocol.DrawPageNum(720, 10, , 宋体, 12, , null, , #fda632, 0));//画logoretList.add(PrintDrawProtocol.DrawLabel(420, 10, http的logn图, 宋体, 22, , null, , #fda632, 0));retList.add(PrintDrawProtocol.DrawGraph(420, 30, 64, 64, http://localhost:8080/JRTWeb/FileService/logo.png, false, null));retList.add(PrintDrawProtocol.DrawLabel(420, 150, ftp的logn图, 宋体, 12, , null, , #fda632, 0));//retList.add(PrintDrawProtocol.DrawGraph(420,180,64,64,ftp://zlz:zlz127.0.0.1:21/ftp.png,false,null));//画一个文本retList.add(PrintDrawProtocol.DrawLabel(20, 20, zhanglianzhu, 宋体, 12, , null, , #ff5252, 0));//画一个条码retList.add(PrintDrawProtocol.DrawBarCode(20, 50, 0947809, true, 5, 30, , 宋体, 12, , null, , 0));//换一根横线retList.add(PrintDrawProtocol.DrawLine(20, 70, 70, 70, 1, , ));//换一根竖线retList.add(PrintDrawProtocol.DrawLine(50, 10, 50, 470, 1, , ));//绘制一个条码retList.add(PrintDrawProtocol.DrawQRCode(20, 90, jbase, 90, 90));//绘制一个条码retList.add(PrintDrawProtocol.DrawLabel(20, 210, jbase打印支持, 宋体, 12, , null, , , 0));//绘制一个条码retList.add(PrintDrawProtocol.DrawLabel(20, 230, 20231118 22:49, 宋体, 12, , null, , , 0));//画一个点retList.add(PrintDrawProtocol.DrawPoint(20, 270, 10, 10, o, ));retList.add(PrintDrawProtocol.DrawPoint(100, 270, 10, 10, [], ));retList.add(PrintDrawProtocol.DrawPoint(200, 270, 10, 10, , ));//画多边形ListPoint pointList new ArrayList();Point p1 new Point();p1.x 10;p1.y 300;pointList.add(p1);Point p2 new Point();p2.x 100;p2.y 310;pointList.add(p2);Point p3 new Point();p3.x 50;p3.y 360;pointList.add(p3);retList.add(PrintDrawProtocol.DrawPoly(pointList, ));//画复选框retList.add(PrintDrawProtocol.DrawCheckBox(10, 400, true, 30, 30));//画单选框retList.add(PrintDrawProtocol.DrawRadio(60, 400, true, 30, 30));//画复选框retList.add(PrintDrawProtocol.DrawCheckBox(110, 400, false, 30, 30));//画单选框retList.add(PrintDrawProtocol.DrawRadio(160, 400, false, 30, 30));//绘制一个条码retList.add(PrintDrawProtocol.DrawLabel(20, 1010, 页尾, 宋体, 12, , null, , , 0));retList.add(PrintDrawProtocol.DrawLabel(20, 900, A4纸张打印, 宋体, 12, , null, , , 0));retList.add(PrintDrawProtocol.DrawLine(20, 920, 700, 920, 1, 0, ));retList.add(PrintDrawProtocol.DrawLine(20, 940, 700, 940, 1, 1, ));retList.add(PrintDrawProtocol.DrawLine(20, 960, 700, 960, 1, 2, ));retList.add(PrintDrawProtocol.DrawLine(20, 980, 700, 980, 1, 3, ));retList.add(PrintDrawProtocol.DrawLine(20, 1000, 700, 1000, 1, 4, ));//换一根横线retList.add(PrintDrawProtocol.DrawLine(20, 1025, 700, 1025, 1, , ));//换页retList.add(PrintDrawProtocol.ChangePage());//页码retList.add(PrintDrawProtocol.DrawPageNum(520, 10, , 宋体, 12, , null, , #fda632, 0));//画logoretList.add(PrintDrawProtocol.DrawLabel(420, 10, logn图, 宋体, 12, , null, , , 0));retList.add(PrintDrawProtocol.DrawGraph(420, 20, 64, 64, http://localhost:8080/JRTWeb/FileService/logo.png, false, null));//画一个文本retList.add(PrintDrawProtocol.DrawLabel(10, 10, 这是打印的第二页, 宋体, 12, , null, , , 0));//画一个条码retList.add(PrintDrawProtocol.DrawBarCode(10, 50, 0947809, true, 5, 30, , 宋体, 12, , null, , 0));//换一根横线retList.add(PrintDrawProtocol.DrawLine(10, 70, 70, 70, 1, , ));//换一根竖线retList.add(PrintDrawProtocol.DrawLine(50, 10, 50, 470, 1, , ));//绘制一个条码retList.add(PrintDrawProtocol.DrawQRCode(10, 90, jbase, 90, 90));//绘制一个条码retList.add(PrintDrawProtocol.DrawLabel(10, 210, jbase打印支持, 宋体, 12, , null, , , 0));//绘制一个条码retList.add(PrintDrawProtocol.DrawLabel(10, 230, 20231119, 宋体, 12, , null, , , 0));retList.add(PrintDrawProtocol.DrawLabel(20, 500, A5纸张打印, 宋体, 12, , null, , , 0));//画一根横线retList.add(PrintDrawProtocol.DrawLine(20, 525, 700, 525, 1, , ));//换页retList.add(PrintDrawProtocol.ChangePage());//页码retList.add(PrintDrawProtocol.DrawPageNum(520, 10, , 宋体, 12, , null, , #fda632, 0));//画logoretList.add(PrintDrawProtocol.DrawLabel(420, 10, logn图, 宋体, 12, , null, , , 0));retList.add(PrintDrawProtocol.DrawGraph(420, 20, 64, 64, http://localhost:8080/JRTWeb/FileService/logo.png, false, null));//画一个文本retList.add(PrintDrawProtocol.DrawLabel(10, 10, 这是打印的第三页, 宋体, 12, , null, , , 0));//画一个条码retList.add(PrintDrawProtocol.DrawBarCode(10, 50, 0947809, true, 5, 30, , 宋体, 12, , null, , 0));//换一根横线retList.add(PrintDrawProtocol.DrawLine(10, 70, 70, 70, 1, , ));//换一根竖线retList.add(PrintDrawProtocol.DrawLine(50, 10, 50, 470, 1, , ));//绘制一个条码retList.add(PrintDrawProtocol.DrawQRCode(10, 90, jbase, 90, 90));//绘制一个条码retList.add(PrintDrawProtocol.DrawLabel(10, 210, jbase打印支持, 宋体, 12, , null, , , 0));//绘制一个条码retList.add(PrintDrawProtocol.DrawLabel(10, 230, 20231119, 宋体, 12, , null, , , 0));retList.add(PrintDrawProtocol.DrawLabel(20, 500, A5纸张打印, 宋体, 12, , null, , , 0));//画一根横线retList.add(PrintDrawProtocol.DrawLine(20, 525, 700, 525, 1, , ));//换页retList.add(PrintDrawProtocol.ChangePage());//页码retList.add(PrintDrawProtocol.DrawPageNum(520, 10, , 宋体, 12, , null, , #fda632, 0));//画logoretList.add(PrintDrawProtocol.DrawLabel(420, 10, logn图, 宋体, 12, , null, , , 0));retList.add(PrintDrawProtocol.DrawGraph(420, 20, 64, 64, http://localhost:8080/JRTWeb/FileService/logo.png, false, null));//画一个文本retList.add(PrintDrawProtocol.DrawLabel(10, 10, 这是打印的第四页, 宋体, 12, , null, , , 0));//画一个条码retList.add(PrintDrawProtocol.DrawBarCode(10, 50, 0947809, true, 5, 30, , 宋体, 12, , null, , 0));//换一根横线retList.add(PrintDrawProtocol.DrawLine(10, 70, 70, 70, 1, , ));//换一根竖线retList.add(PrintDrawProtocol.DrawLine(50, 10, 50, 470, 1, , ));//绘制一个条码retList.add(PrintDrawProtocol.DrawQRCode(10, 90, jbase, 90, 90));//绘制一个条码retList.add(PrintDrawProtocol.DrawLabel(10, 210, jbase打印支持, 宋体, 12, , null, , , 0));//绘制一个条码retList.add(PrintDrawProtocol.DrawLabel(10, 230, 20231206, 宋体, 12, , null, , , 0));retList.add(PrintDrawProtocol.DrawLabel(20, 500, A5纸张打印, 宋体, 12, , null, , , 0));//画一根横线retList.add(PrintDrawProtocol.DrawLine(20, 525, 700, 525, 1, , ));//先包一个打印元素绘制协议数据生成的工具类来解决元素约束问题工具类实现了调用工具类得到标签条码文本等return Helper.Object2Json(retList);} } 模板打印后台 import JRT.Core.DataGrid.GridDto; import JRT.Core.DataGrid.IGridChangePage; import JRT.Core.Dto.HashParam; import JRT.Core.Dto.OutValue; import JRT.Core.Dto.PrintElement; import JRT.Core.Util.Convert; import JRT.Core.Util.PrintDrawProtocol; import JRT.Model.Entity.JRTPrintTemplate; import JRT.Model.Entity.JRTPrintTemplateEle; import JRTBLLBase.BaseHttpHandlerNoSession; import JRTBLLBase.Helper;import java.util.ArrayList; import java.util.Hashtable; import java.util.List;/*** 调用模板数据来打印这是一个模拟打印的demo调用模板数据组装打印数据*/ public class PrintTemplateTest extends BaseHttpHandlerNoSession implements IGridChangePage {/*** 打印元素*/private ListPrintElement retList new ArrayList();/*** 打印模板数据*/JRTPrintTemplateDto template null;/*** 存打印的Data数据*/HashtableString, String printDataMap null;/*** 表格换页之前要执行的逻辑* 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(换页后执行逻辑);//画数据元素PrintData(template, retList, printDataMap);//画标签元素PrintLabel(template, retList);//画线元素PrintLine(template, retList);}/*** 按传入的RowID输出符合打印元素绘制协议的数据来实现打印控制** param RowID 业务主键* param P1* param P2* param P3* param P4* param P5* param P6* param P7* param P8* param P9* param P10* param P11* param P12* param P13* param Session* param Output* return*/public String GetData(String RowID, String P1, String P2, String P3, String P4, String P5, String P6, String P7, String P8, String P9, String P10, String P11, String P12, String P13, OutValue Session, OutValue Output) throws Exception {//查询模板数据template GetOneTemplate(null, JRTReport);//存打印的Data数据printDataMap new Hashtable();printDataMap.put(姓名, 小乌鱼);printDataMap.put(性别, 男);printDataMap.put(年龄, 32岁);printDataMap.put(登记号, 0947809);printDataMap.put(检验号, 24011901);printDataMap.put(科室, 体检科);printDataMap.put(标本, 全血);printDataMap.put(床号, );printDataMap.put(诊断, 体检);printDataMap.put(采集日期, 2024-01-19);printDataMap.put(采集时间, 16:00);printDataMap.put(医嘱备注, 体检);printDataMap.put(医嘱名称, 血细胞分析五分类);printDataMap.put(申请医生, 乌鱼);printDataMap.put(申请日期, 2024-01-19);printDataMap.put(操作者, 李四);printDataMap.put(审核日期, 2024-01-19);printDataMap.put(审核时间, 17:00);printDataMap.put(审核者, 张三);//存打印的图数据HashtableString, String printImgMap new Hashtable();printImgMap.put(RPC, http://localhost:8080/JRTWeb/FileService/zlz/logo.png);//存项目结果数据ListObject repResList new ArrayList();RepResPrintDto oneRes new RepResPrintDto();oneRes.AbFlag *;oneRes.RefRange 12-34um/ml;oneRes.Result 50;oneRes.Seq 1;oneRes.TestCodeName 白细胞计数;repResList.add(oneRes);oneRes new RepResPrintDto();oneRes.AbFlag *;oneRes.RefRange 12-34um/ml;oneRes.Result 50;oneRes.Seq 2;oneRes.TestCodeName 红细胞计数;repResList.add(oneRes);oneRes new RepResPrintDto();oneRes.AbFlag ;oneRes.RefRange 12-34um/ml;oneRes.Result 33;oneRes.Seq 3;oneRes.TestCodeName 淋巴细胞计数;repResList.add(oneRes);oneRes new RepResPrintDto();oneRes.AbFlag ↓;oneRes.RefRange 22-34um/ml;oneRes.Result 5;oneRes.Seq 4;oneRes.TestCodeName 单核细胞计数;repResList.add(oneRes);oneRes new RepResPrintDto();oneRes.AbFlag ↓;oneRes.RefRange 22-34um/ml;oneRes.Result 5;oneRes.Seq 5;oneRes.TestCodeName 单核细胞计数;repResList.add(oneRes);oneRes new RepResPrintDto();oneRes.AbFlag ↓;oneRes.RefRange 22-34um/ml;oneRes.Result 5;oneRes.Seq 6;oneRes.TestCodeName 单核细胞计数;repResList.add(oneRes);oneRes new RepResPrintDto();oneRes.AbFlag ↓;oneRes.RefRange 22-34um/ml;oneRes.Result 5;oneRes.Seq 7;oneRes.TestCodeName 单核细胞计数;repResList.add(oneRes);oneRes new RepResPrintDto();oneRes.AbFlag ↓;oneRes.RefRange 22-34um/ml;oneRes.Result 5;oneRes.Seq 8;oneRes.TestCodeName 单核细胞计数;repResList.add(oneRes);for(int k9;k40;k){oneRes new RepResPrintDto();oneRes.AbFlag ↓;oneRes.RefRange 22-34um/ml;oneRes.Result 5;oneRes.Seq String.valueOf(k);oneRes.TestCodeName 项目k;repResList.add(oneRes);}//画图片元素PrintImage(template, retList, printImgMap);//画数据元素PrintData(template, retList, printDataMap);//画标签元素PrintLabel(template, retList);//画线元素PrintLine(template, retList);//画表格元素PrintDataGrid(template, retList, repResList);return Helper.Object2Json(retList);}/*** 输出报告结果** param template* param template 模板* param retList 元素列表* param repResList 报告结果列表*/private void PrintDataGrid(JRTPrintTemplateDto template, ListPrintElement retList, ListObject repResList) throws Exception {for (JRTPrintTemplateEle ele : template.EleList) {//输出表格if (ele.PrintType.equals(DataGrid)) {//得到表格定义GridDto defGrid (GridDto) Helper.Json2Object(ele.PrintText, GridDto.class);int lastY PrintDrawProtocol.DrawGrid(retList, defGrid, null, repResList, ReportRes, this);}}}/*** 输出图片** param template* param template 模板* param retList 元素列表* param printDataMap 数据哈希*/private void PrintImage(JRTPrintTemplateDto template, ListPrintElement retList, HashtableString, String printDataMap) {for (JRTPrintTemplateEle ele : template.EleList) {//输出图片if (ele.PrintType.equals(Graph)) {boolean isSign false;if (ele.PrintFlag.equals(D)) {isSign true;}String dataField ele.DataField;if (!ele.DataField.isEmpty() printDataMap.containsKey(ele.DataField)) {dataField printDataMap.get(ele.DataField);}PrintElement printEle PrintDrawProtocol.DrawGraph(ele.PrintX, ele.PrintY, ele.PrintWidth, ele.PrintHeight, dataField, isSign, false);retList.add(printEle);}}}/*** 输出数据** 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)) {int width ele.PrintWidth;int height ele.PrintHeight;int endX ele.PrintX width;int endY ele.PrintY;int 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;}/*** 存获得的一个模板数据*/public static class JRTPrintTemplateDto extends JRTPrintTemplate {/*** 模板元素*/public ListJRTPrintTemplateEle EleList;}/*** 打印的报告结果实体*/public static class RepResPrintDto {/*** 序号*/public String Seq;/*** 项目名称*/public String TestCodeName;/*** 结果*/public String Result;/*** 标志*/public String AbFlag;/*** 参考范围*/public String RefRange;} } 摄像头调用 !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd html xmlnshttp://www.w3.org/1999/xhtml headmeta http-equivContent-Type contenttext/html;charsetutf-8 /titleJRT摄像头测试/titlelink relshortcut icon href../../resource/common/images/favicon.ico /script src../../resource/common/js/JRTBSBase.js typetext/javascript/scriptscript src../../jrtprint/js/JRTPrint.js typetext/javascript/scriptscript languagejavascript typetext/javascriptSYSPageCommonInfo.Init();var BasePath ;var ResourcePath ;var WebServicAddress SYSPageCommonInfo.Data.WebServicAddress;var UserDR SYSPageCommonInfo.Data.Sesssion.UserDR;var GroupID SYSPageCommonInfo.Data.Sesssion.GroupID;var SessionStr SYSPageCommonInfo.Data.SessionStr;/scriptscript typetext/javascript//jquery入口$(function () {//驱动摄像头,弹出CS窗口模式$(#btnCameral).click(function () {//#跟上0就代表截图后不关闭窗口跟1就代表截图后自动关闭窗口JRTBaseMsg.Subscribe(CameralBase64#0, CameraMsgCallBack, NoConnCallBack, true);});//启动内嵌摄像头$(#btnStartCameral).click(function () {//#跟上0就代表截图后不关闭窗口跟1就代表截图后自动关闭窗口JRTBaseMsg.StartCameral($(#divCamera));});//从内嵌摄像头抓图$(#btnCutImg).click(function () {var base64JRTBaseMsg.GetCameralImg();$(#divImgShow).append(img src data:image/png;base64, base64 alt截图 stylemargin-bottom:10px;width:400px;height: 300px;margin:10px;/);});//停止内嵌摄像头$(#btnStopCameral).click(function () {//#跟上0就代表截图后不关闭窗口跟1就代表截图后自动关闭窗口JRTBaseMsg.Send(StopCameral#0);});});//截图回调截图后会把图片Base64串回调到此方法function CameraMsgCallBack(base64) {$(#divImgShow).append(img src data:image/png;base64, base64 alt截图 stylemargin-bottom:10px;width:400px;height: 300px;margin:10px;/);}//失败回调function NoConnCallBack() {$.messager.alert(TranslateDataMTHD(Info, 提示, ), TranslateDataMTHD(Unable to connect to the messaging service!, 无法连接消息服务, ));}/script /head bodydiv classeasyui-layout fittrue styleborder: none;div data-optionsregion:north,title:,split:true styleheight:48px;padding: 5px 0 0 10px;a idbtnCameral href# classeasyui-linkbutton data-options plainfalse listranslatehtml~Cameral驱动CS摄像头/aspan classlissp6/spana idbtnStartCameral href# classeasyui-linkbutton data-options plainfalse listranslatehtml~Cameral启动内嵌摄像头/aspan classlissp6/spana idbtnCutImg href# classeasyui-linkbutton data-options plainfalse listranslatehtml~Cameral抓图/aspan classlissp6/spana idbtnStopCameral href# classeasyui-linkbutton data-options plainfalse listranslatehtml~Cameral停止内嵌摄像头/aspan classlissp6/spanspan此界面用来测试JRT驱动摄像头截图的示例驱动摄像头请参照该界面实现/span/divdiv data-optionsregion:center,title:div classeasyui-layout fittruediv data-optionsregion:east,title:JRTCameralVedio,split:true stylewidth:950px;padding: 10px;div iddivCamera stylewidth: 900px;height: 700px;background-color:#333333;/div/divdiv data-optionsregion:center,title:CutImagediv iddivImgShow stylepadding: 10px;/div/div/div/div/div /body /html jrtlis业务开发正式提上日程有没有人支持JRT一样稳步向前推进直到实现整套检验系统。JRT对开发人员和维护人员优化不代表框架实现起来很简单融合了我十年的技术记录和经验探索有web技术、画图、打印、tcp、excel、Webservice、码表、代码生成器、c、Linux、shell、gcc、docker、脚本化、ORM、负载、Electron、https、文件服务、bs-cs交互、base64、rsa、缓存等等。半年内在java上释放。
文章转载自:
http://www.morning.qjfkz.cn.gov.cn.qjfkz.cn
http://www.morning.huarma.com.gov.cn.huarma.com
http://www.morning.csgwd.cn.gov.cn.csgwd.cn
http://www.morning.lznfl.cn.gov.cn.lznfl.cn
http://www.morning.fbrshjf.com.gov.cn.fbrshjf.com
http://www.morning.dlbpn.cn.gov.cn.dlbpn.cn
http://www.morning.yrdn.cn.gov.cn.yrdn.cn
http://www.morning.mrxqd.cn.gov.cn.mrxqd.cn
http://www.morning.rlns.cn.gov.cn.rlns.cn
http://www.morning.pxmyw.cn.gov.cn.pxmyw.cn
http://www.morning.kqbwr.cn.gov.cn.kqbwr.cn
http://www.morning.kcsx.cn.gov.cn.kcsx.cn
http://www.morning.zcqbx.cn.gov.cn.zcqbx.cn
http://www.morning.wlqll.cn.gov.cn.wlqll.cn
http://www.morning.rhsg.cn.gov.cn.rhsg.cn
http://www.morning.rcyrm.cn.gov.cn.rcyrm.cn
http://www.morning.lpcct.cn.gov.cn.lpcct.cn
http://www.morning.lqlhw.cn.gov.cn.lqlhw.cn
http://www.morning.jfqqs.cn.gov.cn.jfqqs.cn
http://www.morning.bpwz.cn.gov.cn.bpwz.cn
http://www.morning.qcdtzk.cn.gov.cn.qcdtzk.cn
http://www.morning.hptbp.cn.gov.cn.hptbp.cn
http://www.morning.ywpwg.cn.gov.cn.ywpwg.cn
http://www.morning.gwxsk.cn.gov.cn.gwxsk.cn
http://www.morning.rrxnz.cn.gov.cn.rrxnz.cn
http://www.morning.hlppp.cn.gov.cn.hlppp.cn
http://www.morning.qpqb.cn.gov.cn.qpqb.cn
http://www.morning.ztnmc.cn.gov.cn.ztnmc.cn
http://www.morning.rfzbm.cn.gov.cn.rfzbm.cn
http://www.morning.wrkcw.cn.gov.cn.wrkcw.cn
http://www.morning.yfwygl.cn.gov.cn.yfwygl.cn
http://www.morning.dxpzt.cn.gov.cn.dxpzt.cn
http://www.morning.yrhpg.cn.gov.cn.yrhpg.cn
http://www.morning.glxdk.cn.gov.cn.glxdk.cn
http://www.morning.xxlz.cn.gov.cn.xxlz.cn
http://www.morning.qzpsk.cn.gov.cn.qzpsk.cn
http://www.morning.gjmbk.cn.gov.cn.gjmbk.cn
http://www.morning.nxtgb.cn.gov.cn.nxtgb.cn
http://www.morning.dnqliv.cn.gov.cn.dnqliv.cn
http://www.morning.pfggj.cn.gov.cn.pfggj.cn
http://www.morning.klyzg.cn.gov.cn.klyzg.cn
http://www.morning.ftdlg.cn.gov.cn.ftdlg.cn
http://www.morning.brwwr.cn.gov.cn.brwwr.cn
http://www.morning.qnhcx.cn.gov.cn.qnhcx.cn
http://www.morning.pqchr.cn.gov.cn.pqchr.cn
http://www.morning.poapal.com.gov.cn.poapal.com
http://www.morning.ppgdp.cn.gov.cn.ppgdp.cn
http://www.morning.hdnd.cn.gov.cn.hdnd.cn
http://www.morning.nfmtl.cn.gov.cn.nfmtl.cn
http://www.morning.rzysq.cn.gov.cn.rzysq.cn
http://www.morning.kyjpg.cn.gov.cn.kyjpg.cn
http://www.morning.ygpdm.cn.gov.cn.ygpdm.cn
http://www.morning.ptqds.cn.gov.cn.ptqds.cn
http://www.morning.wwkdh.cn.gov.cn.wwkdh.cn
http://www.morning.sftpg.cn.gov.cn.sftpg.cn
http://www.morning.mhfbf.cn.gov.cn.mhfbf.cn
http://www.morning.tcpnp.cn.gov.cn.tcpnp.cn
http://www.morning.chzqy.cn.gov.cn.chzqy.cn
http://www.morning.xnwjt.cn.gov.cn.xnwjt.cn
http://www.morning.rszt.cn.gov.cn.rszt.cn
http://www.morning.rxdsq.cn.gov.cn.rxdsq.cn
http://www.morning.rgnq.cn.gov.cn.rgnq.cn
http://www.morning.myrmm.cn.gov.cn.myrmm.cn
http://www.morning.bnmrp.cn.gov.cn.bnmrp.cn
http://www.morning.lhrwy.cn.gov.cn.lhrwy.cn
http://www.morning.bxbnf.cn.gov.cn.bxbnf.cn
http://www.morning.hbkkc.cn.gov.cn.hbkkc.cn
http://www.morning.tbjtm.cn.gov.cn.tbjtm.cn
http://www.morning.zqzzn.cn.gov.cn.zqzzn.cn
http://www.morning.ffbl.cn.gov.cn.ffbl.cn
http://www.morning.ljdhj.cn.gov.cn.ljdhj.cn
http://www.morning.rlqwz.cn.gov.cn.rlqwz.cn
http://www.morning.tgnwt.cn.gov.cn.tgnwt.cn
http://www.morning.sgrdp.cn.gov.cn.sgrdp.cn
http://www.morning.nydgg.cn.gov.cn.nydgg.cn
http://www.morning.mytmn.cn.gov.cn.mytmn.cn
http://www.morning.pqchr.cn.gov.cn.pqchr.cn
http://www.morning.qghjc.cn.gov.cn.qghjc.cn
http://www.morning.smhtg.cn.gov.cn.smhtg.cn
http://www.morning.mcjxq.cn.gov.cn.mcjxq.cn
http://www.tj-hxxt.cn/news/246280.html

相关文章:

  • 网站建设年终总结怎么写品牌广告和效果广告
  • 那家做网站比较好企业网站颜色选择
  • 微网站开发视频短网址网站
  • 虚拟主机建设二个网站国外好的做电视包装的网站
  • 网站排名掉了怎么办广告优化师培训
  • 品牌建设人才队伍建设黑帽seo寄生虫
  • 天津建站模板源码会员网站模板
  • 拟定建设方案物流网站宣传片视频如何制作
  • 电子商务网站建设与管理的实践报告wordpress媒体库显示不出来
  • 网站wordpress是什么有做微信婚介网站的吗
  • 北京网站优化服务商wordpress在本地安装
  • 产品展示型网站深圳seo网络推广公司
  • 二度云自助建站系统网上暴利赚钱项目
  • 网站数据库文件名用户图片上传wordpress
  • 金华市建设局网站赤峰市建设网站
  • 北辰苏州网站建设营销软件激活码商城
  • 数字化校园门户网站建设方案产品网站免费模板
  • 怎么做网站更新和维护wordpress标签伪静态态
  • 贵阳市观山湖区建设局网站有哪些做公司网站的
  • 江西建设部网站泉州seo网络优化公司
  • 做围棋题网站如何开发一个软件平台
  • 电脑课做网站的作业怎么打开自己做的网站
  • 企业网站建设项目实践报告旅游景点网站建设
  • illustrator 学习网站公司官网推广
  • 响应式设计网站案例全国猎头公司前十名
  • 企业网站建设合同怎样做一元购网站
  • 上海网站建设电色盲能治好吗
  • 所有爱做网站wordpress投稿页面路径怎么写
  • 怎样建立微网站直播app在线看片有哪些
  • skype在网站上怎么做链接32岁学做网站