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
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日
最近浏览更多
最代码11111
10月14日
暂无贡献等级
krispeng LV13
8月12日
校园网 LV9
8月4日
yunsgui LV1
6月25日
vluobo LV1
3月19日
cbddbc LV1
2023年12月26日
vanweiai2023
2023年11月30日
暂无贡献等级
fesfefe LV13
2023年11月16日
yuan_bin1990 LV7
2023年11月13日
molu123456
2023年10月16日
暂无贡献等级