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; } }
最近下载更多
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 LV7
2022年12月10日
swd287797983 LV1
2022年12月6日
wazp4071 LV1
2022年6月24日
C_mohen
2022年6月8日
暂无贡献等级
最近浏览更多
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日
暂无贡献等级
2036495585 LV9
2023年9月26日
漫步的海星 LV4
2023年9月21日
carloscarlos LV1
2023年9月13日
3334004690 LV3
2023年8月19日