今天真正接触到OA部分,相当的迷糊,相当的昏头
一 各 种实体之间的关系
先来看一张表

掌握实体之间的关系其实就是掌握实体之间的数量对应关系
部门 员工 一对多
员工 岗位 多对多
员工 文档 一对多
员工 审批信息 一对多
文档 审批信息 一对多
文档模版 文档 一对多
在写具体的实体配置文件时,需要注意一对多与多对一的对应。
比如一边写
另一边就要写
尤其是要注意 approverId的互相对应。
二 审批流程

1,上传文档模版至数据库,下载文档模版,填写文档等昨天都已经学过了,老师提了下需要重点注意的地方,比如上传时为什么不能直接得到文档名 而是要自己去拆的原因。
2, 起草申请(文档模板列表)
docTemplateList{
List
docTemplateList = docTemplateService.findAll();
request.setAttribute("docTemplateList", docTemplateList);
return mapping.findForward("docTemplateList"); // docTemplateList.jsp
}
3 提交申请页面
submitDocUI{
// 1,从数据库中得到所有的文档模版实体 docTemplateList
关键代码:List docTemplateList = docTemplateService.findAll();
// 2, 流程定义的名称列表(名称不重复)
名称不重复是没有函数经行保证的,
select * from ITcast_doctemplate 加上disting关键字就可以查出名称不重复的列表
关键代码:List processNameList = processDefService.getProcessNameList();
3提交申请
submitDoc{
// actionForm --> document轻车熟路 formbean到实体之间的转换
DocumentActionForm actionForm = (DocumentActionForm) form;
获得文件扩展名
关键代码 String fileName = actionForm.getResource().getFileName();
String extension = FilenameUtils.getExtension(fileName);
保存文件到 attachments 文件夹下
关键代码,
String basePath = request.getSession().getServletContext().getRealPath("/attachments");
String path = AttchmentUtils.saveAttachment(basePath, actionForm.getResource().getInputStream());
学习总结:每一块都知道啥意思,合起来就傻 ,明天更要抓紧