📄 traindatamanagebean.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 + -