public ActionForward createApply (ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ActionErrors errors = new ActionErrors();
//几个重要参数 paryrollID , elementID, processID, apply_employee_id(申报人的person_id),organization_id
ApplyForm applyForm = (ApplyForm) form;
//return list Exception
List<InstanceContentVO> errorList = new ArrayList<InstanceContentVO>();
//获取模板开始
//elementID & payrollId 是联合主键
int elementID = applyForm.getApplyVO().getElementId();
String elementName = applyForm.getElementVO().getElementName();
EmployeeVO employeeVO=getEmployeeVO(request); //得到申报用户的 person_id;
int apply_employee_id=employeeVO.getEmployeeId();
int payrollID =applyForm.getAssignmentvo().getPayrollId(); // 根据申报用户的 person_id 获取payrollID
String hrmsElementName = applyForm.getElementVO().getHrms_elementName();
if ((Integer) elementID != null && (Integer) payrollID != 0 && (Integer) apply_employee_id != null ) {
//获取模板
request.setAttribute("Templatelist", this.getTemplateInfo(elementID, payrollID));
int processID=0;
//获取流程ID
ApplicationDelegate applicationDelegate = new ApplicationDelegate();
String processIDStr = applicationDelegate.getProcessID(elementID, payrollID);
if(processIDStr!=null ){
processID=Integer.parseInt(processIDStr.trim());
}
//创建审批的数据保存
List applyList = applyForm.getApplyVO().getInstanceContentList();//获取到页面的数据
//连接系统中的开始时间和开始日期,后者结束时间和结束日期格式成字符串
setListAfter_connectTime(applyList);
if(applyList.isEmpty()){
throw new ApplicationException("A0000B0107", "Submit fail: Can't submit empty record!" );
}
//这个两个表的VO
InstanceContentVO instancecontentvo = new InstanceContentVO();
InstanceControlVO instancecontrolvo = new InstanceControlVO();
//这里需要根据processID查询step为2的roleID,再根据roleID查询对应的roleType,根据roleType设置对应的状态值
String roleTypeName = "";
PayrollDelegate payrollDelegate = new PayrollDelegate();
ProcessVO processVO = payrollDelegate.getProcessById(processID);
List nodeList = processVO.getProcessNodeList();
for(int j=0;j<nodeList.size();j++){
ProcessNodeVO node = (ProcessNodeVO)nodeList.get(j);
if(node.getStep()==2){
RoleTypeVO roleType = payrollDelegate.getRoleTypeByRoleId(node.getRoleId());
if(roleType!=null){
roleTypeName = roleType.getTypeName();
}
}
}
instancecontentvo.setElement_id(elementID);
instancecontentvo.setElement_name(elementName);
instancecontentvo.setHRMSElementName(hrmsElementName);
...
instancecontentvo.setCreate_by(apply_employee_id); //创建人
instancecontentvo.setPayrollId(payrollID);
instancecontrolvo.setProcess_id(processID);
instancecontrolvo.setStep(2); //申报时的初始step为2
// BaseConfigConstants.IS_DRAFT_NO 为正式提交 ,其他为草稿 ,2写到常量里去
if((BaseConfigConstants.IS_DRAFT_NO).trim().equals(applyForm.getIsDraft())){
instancecontentvo.setContentStatus(getContentStatusByRoleType(roleTypeName)); //员工提交申报后的状态
}
分享到:
相关推荐
标题“DD_Action”很可能指的是一个软件项目或者框架的名称,可能是用于处理某种特定的动态数据操作或游戏动作系统。由于没有具体的描述,我们只能根据这个简短的标题进行推测。通常,这样的命名可能与游戏开发、...
form action=”<? echo $PHP_SELF; ?>” method=”post”> 请输入MM/DD/YYYY格式的日期: <input type=”text” name=”date” value=”<? echo $date; ?>”> <input type=”sub
### 解决方案:Servlet Action 不可用问题 在Java Web开发中,经常遇到“Servlet action is not available”的问题,这通常与依赖库版本不一致或配置错误有关。本文将详细解析该问题的原因,并提供一个可行的解决...
这个“SSH框架实例下载不错的DD”提供的是一个基于SSH的购物系统实例,对于学习和理解SSH框架如何在实际项目中应用非常有帮助。 **Struts2** 是一个MVC(Model-View-Controller)框架,主要负责处理用户请求,控制...
《Netty 实战(精髓)》是对 Norman Maurer 的 《Netty in Action》(基于 MEAP v10)的一个中文精简。取其精华,去其糟粕,带你快速掌握 Netty ,插入配图,图文并茂方便用户理解。
比如在 demo1.py 中指定 action=’store_true’的时候: parser.add_argument(‘–is_train’, action=’store_true’, default=False) 在运行的时候: python demo1.py 默认是False python demo1.py –is_train ...
由于压缩包的文件名称列表只提供了“dd”,无法获取具体包含的资源,但根据描述,我们可以推测其中可能包括了基础的Struts2教程、简单的Action类示例、配置文件示例,或许还有一些基本的JSP页面或FreeMarker模板。...
在处理JSON响应时,Struts2默认的日期格式可能并不满足所有开发需求,比如你希望日期以"yyyy-MM-dd HH:mm:ss"的形式展示。在本篇文章中,我们将探讨如何修改Struts2框架的日期格式,以及如何使用JDEclipse工具来优化...
<form action="/upload" method="post" enctype="multipart/form-data"> 上传"> ``` 三、服务器端处理 1. **Java Servlet**:在Java Web应用中,可以使用Servlet来接收上传的文件。`HttpServletRequest`对象...
例如,`<s:date name="#attr.now" format="yyyy-MM-dd HH:mm:ss" />`会显示当前日期和时间,格式为"年-月-日 时:分:秒"。 以上是Struts学习标签的主要内容,这些标签极大地简化了开发者在JSP页面上的工作,提高了...
在SSH整合中,Spring主要负责管理对象的生命周期和依赖关系,包括Struts2的Action、Service以及DAO层的实例化。 **Hibernate** 是一个持久化框架,简化了Java对象与数据库之间的交互。它通过ORM(对象关系映射)...
<servlet-class>org.apache.struts.action.ActionServlet <servlet-name>ActionServlet *.do ``` 这段配置代码中,`ActionServlet`的`url-pattern`被设置为`*.do`,意味着所有以`.do`结尾的URL都将被这个...
为了便于理解和实践,该项目提供了源码,开发者可以直接下载e861dce1c7dd497290d4c5986c1640fe文件进行学习。通过分析和运行代码,可以深入理解多点触控的工作原理和实现细节。 总的来说,Android的多点触控技术是...
http://msdn.microsoft.com/en-us/library/dd394709.aspx 内容列表: ASP.NET MVC Overview Controllers and Action Methods in MVC Applications Views and UI Rendering in MVC Applications Models and Model ...
- `format`属性用于格式化日期和数字,如`<bean:write name="today" format="yyyy-MM-dd HH:mm:ss">`将日期格式化为指定样式。 - 对于复杂对象,`<bean:write>`可以通过`property`属性访问对象的属性,例如`...
在JSP页面中,先导入`java.text.SimpleDateFormat`,然后创建`SimpleDateFormat`实例并指定日期格式,如`"yyyy-MM-dd"`,再使用`format()`方法将日期转换为字符串。 7. **Struts2下拉菜单**:`<s:select>`标签用于...
例如,我们可以设置`date.format=yyyy-MM-dd`,这样Struts2在回显时会按照这个格式展示日期。 此外,Struts2的`Result`也可以参与回显过程。比如,我们可以定义一个特殊的错误结果,当验证失败时,不仅返回错误信息...
1. `<s:date>` - 格式化日期,如:`<s:date name="myDate" format="yyyy-MM-dd" />`。 2. `<s:datetimepicker>` - 创建日期时间输入框,便于用户选择日期和时间。 3. `<s:debug>` - 显示所有Action上下文中的详细...