package com.tiger.oa.action;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.interceptor.RequestAware;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import com.opensymphony.xwork2.ModelDriven;
import com.tiger.oa.dto.FlowFormDTO;
import com.tiger.oa.manager.FormManager;
import com.tiger.oa.manager.WorkflowManager;
import com.tiger.oa.model.FieldItem;
import com.tiger.oa.model.FlowForm;
import com.tiger.oa.model.FormField;
import com.tiger.oa.model.Workflow;
@Controller("flowFormAction")
@Scope("prototype")
public class FlowFormAction extends BaseAction implements ModelDriven,
RequestAware {
private FormManager formManager;
private WorkflowManager workflowManager;
private List itemList;
private FlowFormDTO flowFormDTO = new FlowFormDTO();
private Map<String, Object> request;
private static final Log logger = LogFactory.getLog(FlowFormAction.class);
@Resource
public void setFormManager(FormManager formManager) {
this.formManager = formManager;
}
@Resource
public void setWorkflowManager(WorkflowManager workflowManager) {
this.workflowManager = workflowManager;
}
// 主界面,针对流程打开,在这个界面上,显示流程表单的信息
@Override
public String execute() throws Exception {
int workflowId = flowFormDTO.getWorkflowId();
Workflow workflow = workflowManager.findWorkflow(workflowId);
FlowForm flowForm = formManager.findForm(workflowId);
request.put("flowForm", flowForm);
request.put("workflow", workflow);
return "index";
}
// 添加流程表单
public String addForm() throws Exception {
FlowForm flowform = new FlowForm();
flowform.setTemplate(flowFormDTO.getTemplate());
flowform.setId(flowFormDTO.getId());
formManager.addForm(flowform, flowFormDTO.getWorkflowId());
return SUCCESS;
}
// 打开界面,输入表单域,在这个界面上,需要选择表单域的类型和输入形式
public String formFieldInput() throws Exception {
request.put("fieldtypes", formManager.searchFieldTypes());
request.put("fieldinputs", formManager.searchFieldInputs());
return "formfield_input";
}
// 添加表单域
public String addFormField() throws Exception {
FormField field = new FormField();
field.setId(flowFormDTO.getId());
field.setFieldLabel(flowFormDTO.getFieldLabel());
field.setFieldName(flowFormDTO.getFieldName());
formManager.addField(field, flowFormDTO.getFormId(), flowFormDTO
.getFieldTypeId(), flowFormDTO.getFieldInputId());
return "pub_add_success";
}
// 删除表单域
public String delField() throws Exception {
formManager.delField(flowFormDTO.getId());
return "pub_del_success";
}
// 给某个表单域添加条目(输入界面),列出已有的条目
public String addItemInput() throws Exception {
// 首先根据ID的值,加载表单域
FormField field = formManager.findFormField(flowFormDTO.getId());
itemList = flowFormDTO.getItems();
request.put("field", field);
return "item_input";
}
// 添加条目
public String addItem() throws Exception {
Iterator it = itemList.iterator();
while(it.hasNext()){
FieldItem item = (FieldItem) it.next();
if (item != null) {
logger.debug("items is " + item.getValue());
}
// 如果没有输入任何值,则忽略不处理
if (item == null || item.getValue() == null
|| item.getValue().trim().equals("")) {
it.remove();
}
}
formManager.updateFieldItems(flowFormDTO.getId(), itemList);
return "pub_add_success";
}
public FlowFormDTO getFlowFormDTO() {
return flowFormDTO;
}
public void setFlowFormDTO(FlowFormDTO flowFormDTO) {
this.flowFormDTO = flowFormDTO;
}
@Override
public Object getModel() {
return flowFormDTO;
}
@Override
public void setRequest(Map<String, Object> request) {
this.request = request;
}
public List getItemList() {
return itemList;
}
public void setItemList(List ItemList) {
this.itemList = ItemList;
}
}
最近下载更多
校园网 LV9
2024年8月4日
carloscarlos LV1
2023年9月13日
15029223037 LV1
2023年7月18日
linmou LV8
2023年3月19日
微信网友_6376279687794688 LV1
2023年3月5日
快乐的程序员 LV25
2023年1月21日
微信网友_6292700852981760 LV1
2023年1月5日
15342201772 LV9
2022年12月10日
swd287797983 LV1
2022年12月6日
wazp4071 LV1
2022年6月24日

最近浏览