Ace (v1.3.1)是一个轻量、功能丰富、HTML5、响应式、支持手机及平板电脑上浏览的管理后台模板,基于CSS框架Bootstrap制作,Bootstrap版本更新至 3.0,Ace – Responsive Admin Template当前最新版!
支持Mysq或Oracle两种版本的数据库。
Ace Admin1.3是一款基于bootstrap3的开源免费后台模板。在国外很流行,知名度是相当的高啊~UI组件非常丰富,文档齐全,而且对浏览器兼容非常强大,缺点就是随之而来的开发复杂度稍高。不过因为文档和Demo齐全
MINIUI是一款优秀的JS前端web框架,提供丰富、强大控件库,能快速开发企业级Web应用软件。该软件以美观精致的界面和快速的页面响应速度获得用户的好评。是国内知名的前端框架之一,可供java等主流编程语言配合使用。
jQuery MiniUI - 快速开发Web界面开发框架。
它能缩短开发时间,减少代码量,使开发者更专注于业务和服务端,轻松实现界面开发,带来绝佳的用户体验。
使用MiniUI,开发者可以快速创建Ajax无刷新、B/S快速录入数据、CRUD、Master-Detail、菜单工具栏、弹出面板、布局导航、数据验证、分页表格、树、树形表格等典型WEB应用系统界面。
INSPINIA管理主题是具有平面设计理念的高级管理信息板模板。它是完全响应的管理信息板模板,使用Bootstrap 3+ Framework,HTML5和CSS3,Media查询构建。它具有可重复使用的UI组件的大量集合,并与最新的jQuery插件集成。
layui(谐音:类 UI) 是一套开源的 Web UI 解决方案,采用自身经典的模块化规范,并遵循原生 HTML/CSS/JS 的开发方式,极易上手,拿来即用。其风格简约轻盈,而组件优雅丰盈,从源代码到使用方法的每一处细节都经过精心雕琢,非常适合网页界面的快速开发。layui 区别于那些基于 MVVM 底层的前端框架,却并非逆道而行,而是信奉返璞归真之道。准确地说,它更多是面向后端开发者,你无需涉足前端各种工具,只需面对浏览器本身,让一切你所需要的元素与交互,从这里信手拈来。
建议在OperaPortable浏览器中兼容性更加流畅
db-prajna是一套完整的基于JavaWeb的开发框架
db-prajna 是整合HttpSql-RADServer(远程数据服务)、ctjeeJBPMRad(自定义工作流)、form-design(自定义表单)、为一体的软件开发框架,多用于物联/互联的混合模式。
以下两个文件直接解压到Tomcat中运行
HttpSql-RADServer(远程数据服务):在dbconfig.properties设置MySQL数据库的连接地址
ctjeeJBPMRad(自定义工作流):jbpm.hibernate.cfg.xml和dbconfig.properties设置MySQL数据库的连接地址
应用场景:
当你的多个客户端程序包含(C/S架构、B/S架构)都需要链接同一个数据库时,数据库要为每一个服务端程序(C/S架构、B/S架构)都会分配独立的数据链接池空间。例如:开发物联网程序时都需要反复向数据库connect-release,这样会占用内容和资源。这个HttpSql-RADServer就是运行于数据库访问层的中间件。基于HTTP协议进行直接使用SQL对数据库操作;
共享数据库连接池HttpSql 1、可以做为多系统平台数据交互的中间件使用;2、支持HTML页面直接访问数据库SQL;3、App可以省去中间系统接口联调开发;4、数据采集可共享数据池;5、系统内部设置访问安全策略;6、可以建立分布式小程序;
HttpSql-RADServer下载:在服务器端运行,web.xml中可配置访问权限;dbconfig.properties中配置数据库参数;radserverconfig.properties中配置licenseKey;默认服务端口号9999
httpSql Web端调用例子:在html页面中直接调用SQL,返回JSON数据格式;
HttpSql Java应用端调用例子:在Java程序中调用SQL,防SQL注入,返回JSON数据或对象数据两种数据格式;
应用场景:解决实时统计一些复杂的报表,统计的数据量大,而且数据来源多个不同的表结构,最终界面展示超长时间。
解决方案:为了提高效率,用多线程按列去统计,在所有线程完成统计任务后,将结果汇总,然后统一展现。
分布计算主程序派发:负责任务的派发和汇总
分布计算子程序例子(一):负责任务的业务逻辑执行与结果返回。返回结果为:数据量流对象,如:List、Map对象
分布计算子程序例子(二):负责任务的业务逻辑执行与结果返回。返回结果为:Json数据格式
Android消息推送开源实现
我们下载服务端androidpn-server-0.5.0-war.rar (16.6MB)和客户端androidpn-app-client-0.5.0.rar(4.22MB)。而服务端是在PC上运行,而且用JSP编写。需要安装JAVA,并配置好JAVA_HOME变量。
其次,配置服务端。服务端是在PC上运行,配置D:\apache-tomcat-8.0.29\conf\server.xml端口5011。把androidpn-server-0.5.0-war.rar解压的文件Androidpn.war放在本地Tomcat中运行,如:D:\apache-tomcat-8.0.29\webapps 运行以上目录的\bin\startup.bat 来启动服务器。此时cmd窗口一直在运行。别关了。验证服务器是否成功。浏览器打开 http://127.0.0.1:5011/Androidpn/,出现如下页,表示服务器开启成功。
最后,我们手机端,解压androidpn-app-client-0.5.0.rar,导入工程到eclipse_andriod_devlep.exe。打开res/raw/androidpn.properties
[java] view plain copy
apiKey=1234567890
xmppHost=192.168.0.5
xmppPort=5222
把192.168.0.5修改为10.0.2.2 【在虚拟机中,虚拟机地址为127.0.0.1,主机地址为 10.0.2.2】
接口1:http://xxx.xxx.xxx.xxx:5011/Androidpn/notification.do?action=sendByWeb&xmppusername=XXXX&submitJsonData=XXXX&uri=XXXX 推送消息
接口2:http:///xxx.xxx.xxx.xxx:5011/Androidpn/session.do?action=onlinelist //查询所有在线MXPP
接口3:http:///xxx.xxx.xxx.xxx:5011/Androidpn/session.do?action=onlineByMxppCode&mxppcode=bb0e387e1f9c4454bd22433db1bfa9c91 //根据MXPP返回namecode是否在线
实例:
Map map = new HashMap();
map.put("title", "提示");
map.put("message", msg);
map.put("opdaytime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) );
map.put("usernamecn", "系统提示");
map.put("mxpptype", "NOTICE");
map.put("msgid", msgid);
//String mxpp_path = SysProperty.getInstance().getValue("mxpp_path");
String mxpp_path = "http://xxx.xxx.xxx.xxx:5011/Androidpn/notification.do?action=sendByWeb";
String charset = "utf-8";
String httpOrgCreateTest = mxpp_path;
Map<String,String> createMap = new HashMap<String,String>();
JSONObject json = new JSONObject(map);
createMap.put("broadcast","N"); //Y=All,N=xmppusername
createMap.put("submitJsonData",json.toJSONString());
createMap.put("uri",json.toJSONString());
createMap.put("xmppusername",xmppusername);
String httpOrgCreateTestRtn = doPost(httpOrgCreateTest,createMap,charset);
System.out.println("result:"+httpOrgCreateTestRtn);
// httpclient方法
public static String doPost(String url,Map<String,String> map,String charset){
HttpClient httpClient = null;
HttpPost httpPost = null;
String result = null;
try{
httpClient = new SSLClient();
httpPost = new HttpPost(url);
//设置参数
List<NameValuePair> list = new ArrayList<NameValuePair>();
Iterator iterator = map.entrySet().iterator();
while(iterator.hasNext()){
Entry<String,String> elem = (Entry<String, String>) iterator.next();
list.add(new BasicNameValuePair(elem.getKey(),elem.getValue()));
}
if(list.size() > 0){
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list,charset);
httpPost.setEntity(entity);
}
HttpResponse response = httpClient.execute(httpPost);
if(response != null){
HttpEntity resEntity = response.getEntity();
if(resEntity != null){
result = EntityUtils.toString(resEntity,charset);
}
}
}catch(Exception ex){
System.out.println("++++++++++SendMsgOnlyToAndroid() Mag to " + ex.getMessage());
}
return result;
}
工作流概述:
工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”
简单的说,就是将工作的流程通过程序管理起来,以表单审核和任务办理为主体,实现办公自动化
工作流框架,将业务流程管理起来, 所有业务流程操作,围绕工作流框架进行, 基于表单提交和任务办理, 实现工作业务流程 自动流转。
《工作流与开发框架整合方案》QQ:530002577
下面将介绍如何将工作流与业务系统无缝对接
说明:
一、接入说明
1、业务系统数据库导入JBPM4(含扩展)表结构
2、手动完成业务系统适配用户基础档案表、用户权限角色表、组织机构表
3、定义业务系统(机构:部门:权限:账号)唯一标识码:C0A:D9:KQ7:wangzhibin123
4、委托转办代理jbpm4_task_agent规则:1=任务移交(_instanceid_ =''、_participation_dbid_ =''、_flag_=1、and 只有一条数据)2=单号委托;自己不能代理自己
5、业务系统由统一接口转发入参并配置审批界面
三、调用工具
1、下载ctjeeJBPM.jar:ctjeeJBPM.jar
1、绘制工作流地址:http://127.0.0.1:8080/jbpm/
2、发布工作流:获知工作流模板ID:U5D1689rF684 (备注:不带-数字编号)
3、启动工作流:startProcessInstanceByProcessDefinitionIdMax
4、我的待办审批业务-审批列表:getFindGroupTasksListByUserAccount
5、委托代理审批-审批列表:getFindGroupTasksListByUserAccountAgent
6、我提交的正在审批中的流程:getApplyForAppingList
7、查询审批流程图PNG: jbpmDesignAprovVewPng
8、实例ID-Task任务中-transition-作为按钮扭转: getTaskButtonsByprocessinstanceid
9、流程实例ID-继续下一步审批-自动扭转:completeTask
10、正在系统内运行的流程实例查询列表:sysWorkFlowInstanceidlist
11、流程销毁:endProcessInstance
在我们的Web项目开发中,充斥着大量的列表操作,对列表记录的增加,删除,修改操作,那么如何来设计自定义表单呢?
表单的设计
表单的设计可通过HTMLEditor编辑器来完成,这样做的好处是可以直接利用其HTML文本来显示增加记录的页面,一举两得,但要注意在HTMLEditor编辑器控件主要包括:文本,多文本,数字,日期,文件上传(附件),下拉框(静态和动态)等,文件上传可通过我上一篇博客的思路来完成,下拉框静态比较简单,动态可利用select控件的自定义属性如SQL来定义,利用Ajax技术,将执行后的SQL结果替换到原来的下拉框即可实现,如下图
使用谷歌浏览器版本 44.0.2403.157 44.0.2403.157下载
技术交流:QQ:530002577
全功能实现用户
1.自定义表单界面
2.用户自定义工作流程/非工作流软件
3.用户可动态调整列表展示字段、设置菜单
4.追加控件参数
5.开放OP和SQL类可以动态编辑,编译运行
应用场景:客户表单多变,审批流程随意调整,变化选择项及上报参数如:电子材料审核、流程单据审批、或自定义简历档案信息采集
使用谷歌浏览器版本 44.0.2403.157 44.0.2403.157下载
技术交流:QQ:530002577
Java的 Jar包中的.class文件可以通过反汇编得到源码。这样一款应用的安全性就很难得到保证,别人只要得到你的应用,不需花费什么力气,就可以得到源码。
使用这个工具它可以帮助您把Jar进行加密,在工程项目中不能通过技术手段进行反编译。
系统功能:
一、合同管理、转正申请、调岗调薪、通讯录、档案登记、档案查询、档案变更
二、加班申请、请假申请、签到考勤、考勤策略、考勤规则、异常调整、人工修正、考勤报表
三、发票申请、借款申请、报销申请、报表统计、采购费用、固定资产、发票图表、借款图表、报销图表、工资条导入
四、车辆管理、用车申请、固定资产、盘点记录、通知公告、制度发布、印章申请、节假日设置、资源统计
五、流程发布、流程检索、流程销毁、我的申请、待审批业务
六、知识发布、知识检索、知识共享、知识评价
七、客户关系、卡片档案、关系维护、商机建立、采购申请
八、计划管理、目标分解、进度查询、任务分配、项目进度、日报填写
九、日程安排、日程提醒、工作日报、物品入库、物品领用、通知公告
十、主管日报、主管项目、总经理查询、人事统计、行政查询、财务统计、分管报表
十一、组件定义、表单规划、流程绘制、启动审批
十二、日志查询、日志销毁
十三、组织结构、产品定义、单位转换
十四、个人档案、顺风车、云盘、云共享、个人能力分析、短讯通、个性菜单、小秘书、工资条、个人历程
十五、自定义公文表单设计、自定义公文流程设置、公文挂起运行、发文管理、会签、收文管理、文件归档