`

ACTION DD

J# 
阅读更多
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

    标题“DD_Action”很可能指的是一个软件项目或者框架的名称,可能是用于处理某种特定的动态数据操作或游戏动作系统。由于没有具体的描述,我们只能根据这个简短的标题进行推测。通常,这样的命名可能与游戏开发、...

    正则表达式实现将MM/DD/YYYY格式的日期转换为YYYY-MM-DD格式

    form action=”&lt;? echo $PHP_SELF; ?&gt;” method=”post”&gt; 请输入MM/DD/YYYY格式的日期: &lt;input type=”text” name=”date” value=”&lt;? echo $date; ?&gt;”&gt; &lt;input type=”sub

    解决方案-servlet action isnot available

    ### 解决方案:Servlet Action 不可用问题 在Java Web开发中,经常遇到“Servlet action is not available”的问题,这通常与依赖库版本不一致或配置错误有关。本文将详细解析该问题的原因,并提供一个可行的解决...

    SSH框架实例下载不错的DD

    这个“SSH框架实例下载不错的DD”提供的是一个基于SSH的购物系统实例,对于学习和理解SSH框架如何在实际项目中应用非常有帮助。 **Struts2** 是一个MVC(Model-View-Controller)框架,主要负责处理用户请求,控制...

    netty in action.rar

    《Netty 实战(精髓)》是对 Norman Maurer 的 《Netty in Action》(基于 MEAP v10)的一个中文精简。取其精华,去其糟粕,带你快速掌握 Netty ,插入配图,图文并茂方便用户理解。

    parser.add_argument中的action使用

    比如在 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模板。...

    strut2日期格式的修改,和jdeclipse工具

    在处理JSON响应时,Struts2默认的日期格式可能并不满足所有开发需求,比如你希望日期以"yyyy-MM-dd HH:mm:ss"的形式展示。在本篇文章中,我们将探讨如何修改Struts2框架的日期格式,以及如何使用JDEclipse工具来优化...

    FileUpload上传文件

    &lt;form action="/upload" method="post" enctype="multipart/form-data"&gt; 上传"&gt; ``` 三、服务器端处理 1. **Java Servlet**:在Java Web应用中,可以使用Servlet来接收上传的文件。`HttpServletRequest`对象...

    教案最详细的Struts学习标签.pdf

    例如,`&lt;s:date name="#attr.now" format="yyyy-MM-dd HH:mm:ss" /&gt;`会显示当前日期和时间,格式为"年-月-日 时:分:秒"。 以上是Struts学习标签的主要内容,这些标签极大地简化了开发者在JSP页面上的工作,提高了...

    SSH的整合(Struts2+Spring2.5+Hibernate3.2)

    在SSH整合中,Spring主要负责管理对象的生命周期和依赖关系,包括Struts2的Action、Service以及DAO层的实例化。 **Hibernate** 是一个持久化框架,简化了Java对象与数据库之间的交互。它通过ORM(对象关系映射)...

    轻量级J2EE企业应用实战2

    &lt;servlet-class&gt;org.apache.struts.action.ActionServlet &lt;servlet-name&gt;ActionServlet *.do ``` 这段配置代码中,`ActionServlet`的`url-pattern`被设置为`*.do`,意味着所有以`.do`结尾的URL都将被这个...

    Android多点触控技术实战,对图片进行缩放和移动Demo

    为了便于理解和实践,该项目提供了源码,开发者可以直接下载e861dce1c7dd497290d4c5986c1640fe文件进行学习。通过分析和运行代码,可以深入理解多点触控的工作原理和实现细节。 总的来说,Android的多点触控技术是...

    ASP.NET MVC MSDN 文档 CHM

    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 ...

    重要知识bean标签.pdf

    - `format`属性用于格式化日期和数字,如`&lt;bean:write name="today" format="yyyy-MM-dd HH:mm:ss"&gt;`将日期格式化为指定样式。 - 对于复杂对象,`&lt;bean:write&gt;`可以通过`property`属性访问对象的属性,例如`...

    java struts2开发总结

    在JSP页面中,先导入`java.text.SimpleDateFormat`,然后创建`SimpleDateFormat`实例并指定日期格式,如`"yyyy-MM-dd"`,再使用`format()`方法将日期转换为字符串。 7. **Struts2下拉菜单**:`&lt;s:select&gt;`标签用于...

    struts2的日期回显

    例如,我们可以设置`date.format=yyyy-MM-dd`,这样Struts2在回显时会按照这个格式展示日期。 此外,Struts2的`Result`也可以参与回显过程。比如,我们可以定义一个特殊的错误结果,当验证失败时,不仅返回错误信息...

    struts2标签介绍

    1. `&lt;s:date&gt;` - 格式化日期,如:`&lt;s:date name="myDate" format="yyyy-MM-dd" /&gt;`。 2. `&lt;s:datetimepicker&gt;` - 创建日期时间输入框,便于用户选择日期和时间。 3. `&lt;s:debug&gt;` - 显示所有Action上下文中的详细...

Global site tag (gtag.js) - Google Analytics