⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 traindatamanagebean.java

📁 HR系统模拟企业对内部职员的管理
💻 JAVA
字号:
/*$Id: TrainDataManageBean.java,v 1.1 2008/07/15 03:38:23 liqi Exp $ *-------------------------------------- * Apusic (Kingdee Middleware) *--------------------------------------- * Copyright By Apusic ,All right Reserved * author   date   comment * chenhongxin  2008-4-14  Created*/package org.operamasks.example.ejb.hr.litebean.module;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.util.UUID;import javax.faces.model.SelectItem;import org.operamasks.example.ejb.hr.entity.Employee;import org.operamasks.example.ejb.hr.entity.Train;import org.operamasks.example.ejb.hr.entity.TrainSubject;import org.operamasks.example.ejb.hr.service.ServiceBean;import org.operamasks.faces.annotation.Accessible;import org.operamasks.faces.annotation.Action;import org.operamasks.faces.annotation.Bind;import org.operamasks.faces.annotation.DataModel;import org.operamasks.faces.annotation.ManagedBean;import org.operamasks.faces.annotation.ManagedBeanScope;import org.operamasks.faces.annotation.ManagedProperty;import org.operamasks.faces.annotation.Required;import org.operamasks.faces.annotation.SelectItems;import org.operamasks.faces.component.grid.impl.UIDataGrid;import org.operamasks.faces.component.layout.impl.UIWindow;/** * 培训数据管理页面的托管Bean * @author chenhongxin */@ManagedBean(name="module.trainDataManageBean", scope=ManagedBeanScope.SESSION)public class TrainDataManageBean extends BeforeRenderBaseBean {		/**	 * 操作记录标识	 */	private Operation curOperation = Operation.NOTHING;		/**	 * 注入服务提供Bean,该Bean提供各种的业务操作对象	 */	@ManagedProperty("#{serviceBean}")	private ServiceBean service;		/**	 * 绑定页面的DataGrid组件	 */	@Bind(id="trainDataGrid", attribute="binding")	private UIDataGrid trainDataGrid;	/**	 * 绑定页面的Window组件	 */	@Bind(id="detailDialog", attribute="binding")	private UIWindow detailDialog;		/**	 * 职员Combo下拉的子项	 */	@Accessible	private SelectItem[] employeeItems = new SelectItem[0];		/**	 * 绑定职员Combo,指定下拉子项为employeeItems和Required验证失败的错误提示	 */	@Bind(id="employeeCombo")	@SelectItems(source="#{this.employeeItems}")	@Required(message = "#{this.getMessages().get('required')}")	private String employeeCombo;		/**	 * 培训项目Combo下拉的子项	 */	@Accessible	private SelectItem[] subjectItems = new SelectItem[0];		/**	 * 绑定培训项目Combo,指定下拉子项为subjectItems和Required验证失败的错误提示	 */	@Bind(id="subjectCombo")	@SelectItems(source="#{this.subjectItems}")	@Required(message = "#{this.getMessages().get('required')}")	private String subjectCombo;		/**	 * 绑定明细编辑框里的培训日期输入域,并指定Required验证失败的提示信息	 */	@Bind(id="date", attribute="value")	@Required(message = "#{this.getMessages().get('required')}")	private Date date;		/**	 * 绑定明细编辑框里的培训课时输入域,并指定Required验证失败的提示信息	 */	@Bind(id="period", attribute="value")	@Required(message = "#{this.getMessages().get('required')}")	private Integer period;		/**	 * 绑定明细编辑框里的培训学分输入域,并指定Required验证失败的提示信息	 */	@Bind(id="credit", attribute="value")	@Required(message = "#{this.getMessages().get('required')}")	private Integer credit;		/**	 * DataGrid绑定数据的获取	 * @return 绑定数据的List集合	 */	@DataModel(id="trainDataGrid")	private List<Train> getTrainDataGridValues() {		return service.getTrainService().listTrain();	}		/**	 * 初始化EmployeeCombo和SubjectCombo	 */	private void initCombo() {		List<Employee> employees = service.getEmployeeService().listEmployee();		List<SelectItem> tmpList = new ArrayList<SelectItem>();		for(Employee employee : employees) {			tmpList.add(new SelectItem(employee.getId(), employee.getName()));		}		employeeItems = tmpList.toArray(new SelectItem[0]);				List<TrainSubject> subjects = service.getTrainSubjectService().listTrainSubject();		tmpList = new ArrayList<SelectItem>();		for(TrainSubject subject : subjects) {			tmpList.add(new SelectItem(subject.getId(), subject.getName()));		}		subjectItems = tmpList.toArray(new SelectItem[0]);	}		/**	 * 绑定添加按钮的点击击事件	 */	@Action(id="add")	public void add() {		initCombo();		curOperation = Operation.ADD;		detailDialog.show();	}		/**	 * 绑定修改按钮的点击事件	 */	@Action(id="modify")	public void modify() {		Train selectedTrain = (Train)trainDataGrid.getSelectedRowData();		if(selectedTrain != null) {			initCombo();			employeeCombo = selectedTrain.getEmployee().getId();			subjectCombo = selectedTrain.getTrainSubject().getId();			date = selectedTrain.getDate();			period = selectedTrain.getPeriod();			credit = selectedTrain.getCredit();			curOperation = Operation.MODIFY;			detailDialog.show();		}	}		/**	 * 绑定删除按钮的点击事件	 */	@Action(id="del")	public void del() {		Train selectedTrain = (Train)trainDataGrid.getSelectedRowData();		if(selectedTrain != null) {			service.getTrainService().removeTrain(selectedTrain);			trainDataGrid.reload();		}		curOperation = Operation.NOTHING;	}		/**	 * 绑定取消按钮的点击事件,使用immediate=true跳过数据验证	 */	@Action(id="cancel", immediate=true)	public void cancel() {		date = null;		period = null;		credit = null;		employeeCombo = "";		subjectCombo = "";		employeeItems = new SelectItem[0];		subjectItems = new SelectItem[0];		curOperation = Operation.NOTHING;		detailDialog.close();	}	/**	 * 绑定确定按钮的点击事件	 */	@Action(id="ok")	public void ok(){		Employee employee = service.getEmployeeService().findById(employeeCombo);		TrainSubject subject = service.getTrainSubjectService().findById(subjectCombo);		if(employee != null && subject != null) {			if(curOperation == Operation.ADD) {				Train newOne = new Train();				newOne.setId(UUID.randomUUID().toString());				newOne.setEmployee(employee);				newOne.setCredit(credit);				newOne.setDate(date);				newOne.setPeriod(period);				newOne.setTrainSubject(subject);				service.getTrainService().createTrain(newOne);				trainDataGrid.reload();			} else if(curOperation == Operation.MODIFY) {				Train selectedTrain = (Train)trainDataGrid.getSelectedRowData();				if(selectedTrain != null) {					selectedTrain.setEmployee(employee);					selectedTrain.setCredit(credit);					selectedTrain.setDate(date);					selectedTrain.setPeriod(period);					selectedTrain.setTrainSubject(subject);					service.getTrainService().modifyTrain(selectedTrain);					trainDataGrid.reload();				}			}		}				cancel();	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -