参考外包网站上的一个点餐系统的部分需求写着练手,主要使用了以下知识:
1. Tabbar Controller与 Navigation Controller的套用
2. TableViewCell 子视图添加UILabel和UIButton等
3. Quartz 2D 绘制自定义视图
4. 手势结合UIView Animation切换视图
5. CoreData 及其数据的初始化方法
6. 使用HTTP Get/Post Request 提交和获取数据
7. UIAlertView上按钮的delegate方法



源码
Apache TomEE 是经过 J2EE 6 认证的 Tomcat 企业版本,Tomcat 是目前市场占有率超过 70% 的Java 应用服务器。
Apache TomEE 是 Apache OpenEJB 的一个子项目,为 Tomcat (7.0.27) 增加了一些 Java EE 的特性,无额外的内存要求,兼容 Tomcat 上的所有应用和工具。
Apache TomEE 可让 Java EE 解决方案开发变得简单和轻松,包含的项目包括:Apache OpenEJB, Apache OpenWebBeans, Apache OpenJPA, Apache MyFaces 等等。
Apache TomEE 包含:
- CDI - Apache OpenWebBeans
- EJB - Apache OpenEJB
- JPA - Apache OpenJPA
- JSF - Apache MyFaces
- JSP - Apache Tomcat
- JSTL - Apache Tomcat
- JTA - Apache Geronimo Transaction
- Servlet - Apache Tomcat
- Javamail - Apache Geronimo JavaMail Bean
- Validation - Apache Bean Validation
IT领袖:年入过亿(例如任正非、马化腾、李彦宏、丁磊、马云等,包括期权股票以及投资理财等收入。)
IT大哥:年入千万(级别次于以上几位大佬的公司老板,不缺钱,普遍对上一条里的人物羡慕嫉妒恨。)
IT精英:年入百万(各IT公司副总裁级别人物,包括COO、CTO等,大多为职业经理人,赚够前就跑。)
IT人才:年入50万(各IT公司总监级别人物,有房有车,生活压力相对较小)
IT工程师:年入20万(高级经理级别,有房贷,生活压力大)
IT民工:年入10万(经理级别,基本无房,学会装波一,生活压力大)
码农:年入6万到10万(工作三四年,租房,继续混日子)
码奴:年入3万到6万(工作一两年,租房,混日子)
码畜:年入低于3万(刚毕业的,租房,傻乐)
1. 打开文件/tomcat/bin/catalina.bat
2. set JAVA_OPTS= 的内容中添加选项-Dfile.encoding=GBK
3. 重启tomcat即可
曾经做过一个结算系统,对于一段期间内完成的订单做金额费用的结算,根据订单的金额付款,并计算出一些代理费用等等。
在付款之前,需要结算部门审核,财务部门的审核,上级主管的审核,客户的确认等等。这个是按项目来做的,没有上工作流系统。
对于付款前的那些级别的审核,都是用状态字段来控制的,主要是在结算单中增加审核的字段
财务审核状态,审核日期,审核意见,审核人
客户确认状态,确认日期,确认意见,确认人
上级主管审核状态,审核日期,审核意见,审核人
....
用状态来控制流程的流转的,
结算部门人员,登录系统后,点击 结算单确认,打开所有的未确认过的结算单,进行核对,核对过后,点击审核通过,则确认状态为 已确认。
财务人员登录后,点击 财务审核 菜单,打开所有结算已确认并且财务未通过的结算单,进行财务的核对。核对正确后,点击审核通过,则财务审核状态为 财务审核通过。
客户登录系统后,点击 结算单确认 菜单,打开财务审核通过,客户未确认的结算单,进行确认操作,客户确认后,客户确认状态就变成 已确认了.
....
最后到付款等,都是通过状态字段来控制的。
整个的流转只能是操作人员自己心里清楚,现在流转到那个阶段了,下一步需要谁来处理。
后来需求还在不断的变化,需要增加或减少一些审核,如代理的地方财政审核,代理公司的二级审核,又去掉上级主管的审核等等.....
总之涉及到钱的问题,都会很仔细了,层层审核,还需要加上ca签名认证,在真正付款之前,先核对一下ca签名的数据是否和现在的数据一致,避免审核过后,结算单又做了修改。
在增加审核的时候,就多增加一些字段,或者多增加一些状态值,并修改代码将字段和状态值的修改体现到代码中,使得流程能流转,并重新打包发布程序,最后再测试,发布,正式上线使用
来来回回的总是修改那些状态字段以及状态字段的值,控制页面的记录的显示,审核按钮等操作是否显示,一些只读的,隐藏的等等功能按钮也是靠状态值来控制的。
有时候要减一级的审核,并加一级的审核,就会将减掉的那级审核的状态字段修改到增加的那级审核上。
.....
一段时间后,这些状态字段以及状态字段的控制,就变得很复杂了,整个流转过程,谁也不清楚,或许实施人员心里大概有个底,也没准那个需求变化了,开发人员又“默默的”改了代码了。每次在要走一个流转的时候,会重新了解一下,不清楚的,就打开代码来查看了,大体上就是那样的,有一些审核的过程。
如果用工作流系统来做这个....
首先要在流程设计器中,画一个 结算单审批流程
制定结算单--》结算部确认--》财务部核对--》客户确认--》付款处理--》结束
在流程的设计器中的
结算单中也不需要增加那么多的字段了,只对应一张通用的审核表,有一级的审核,就往通用审核表中增加一条记录。
在结算单表中,也可以增加一个状态字段,记录每个节点的审核结果,便于单独做记录的查询用。
只需要一个菜单“制定结算单”,当结算单制作完成后,流程实例就启动了,下一步的办理,就完全走流程设计器中定义的节点了。
下一步的执行有两种方式:
从我的待办任务列表中链接进去
从流程实例的轨迹图中,点击节点进去,或 轨迹列表中单节行进去

每个流程实例的办理都有轨迹图显示,能清楚明确的看到每张结算单的审核过程
当有需求变化,需要增加一级的审核,则在流程设计器中,多画出一个审核节点,并增加一个结算单审批流程的版本,新的结算单流程按新的版本启动。
有减少一级的审核或处理,也是在设计器中,删除一个节点。
需要查看结算单的审批流程,只要打开流程设计器,查看流程的节点。或者查看流程实例运行的轨迹,也可以查询到结算单的审批过程。
运行工作流系统后,流程变得有迹可循了,不再是杂乱无章的。