📄 commonserviceimp.java
字号:
package com.hb.base.services.common.imp;
import java.util.ArrayList;
import java.util.List;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import com.hb.base.dao.common.AddressDao;
import com.hb.base.dao.common.CountryDao;
import com.hb.base.dao.common.PersonDao;
import com.hb.base.dao.organization.EmployeeDao;
import com.hb.base.dao.ui.MenuTreeNodeDao;
import com.hb.base.dao.ui.MenuTreePowerDao;
import com.hb.base.domain.common.Address;
import com.hb.base.domain.common.Country;
import com.hb.base.domain.common.Person;
import com.hb.base.domain.organization.Employee;
import com.hb.base.domain.ui.MenuTreeNode;
import com.hb.base.services.common.ICommonService;
import com.hb.base.view.domain.RichFacesTreeNodeBean;
import com.hb.core.util.DateUtil;
/**
* 2008/01/22
*
* @author 何 貝
*
*/
@Component("commonService")
@Scope("prototype")
public class CommonServiceImp implements ICommonService {
private EmployeeDao employeeDao = null;
private PersonDao personDao = null;
private MenuTreeNodeDao menuTreeNodeDao = null;
private MenuTreePowerDao menuTreePowerDao = null;
private CountryDao countryDao = null;
private AddressDao addressDao = null;
// ---------------------------------------------------------------------------
// Get Set方法
// ---------------------------------------------------------------------------
public EmployeeDao getEmployeeDao() {
return employeeDao;
}
public void setEmployeeDao(EmployeeDao employeeDao) {
this.employeeDao = employeeDao;
}
public PersonDao getPersonDao() {
return personDao;
}
public void setPersonDao(PersonDao personDao) {
this.personDao = personDao;
}
public MenuTreeNodeDao getMenuTreeNodeDao() {
return this.menuTreeNodeDao;
}
public void setMenuTreeNodeDao(MenuTreeNodeDao menuTreeNodeDao) {
this.menuTreeNodeDao = menuTreeNodeDao;
}
public MenuTreePowerDao getMenuTreePowerDao() {
return menuTreePowerDao;
}
public void setMenuTreePowerDao(MenuTreePowerDao menuTreePowerDao) {
this.menuTreePowerDao = menuTreePowerDao;
}
public CountryDao getCountryDao() {
return countryDao;
}
public void setCountryDao(CountryDao countryDao) {
this.countryDao = countryDao;
}
public AddressDao getAddressDao() {
return addressDao;
}
public void setAddressDao(AddressDao addressDao) {
this.addressDao = addressDao;
}
// ---------------------------------------------------------------------------
// 接口实现
// ---------------------------------------------------------------------------
public Employee getEmployeeInfo_Service(String employeeID) {
return employeeDao.getEmployeeByID(employeeID);
}
public boolean userLogin_Service(String userID, String password) {
Employee employee = getEmployeeInfo_Service(userID);
if (employee != null && employee.getPassword().equals(password)) {
return true;
}
return false;
}
public Person getPersonInfoByEmployeeID_Service(String employeeID) {
String nowDate = DateUtil.getNowDate();
return getPersonInfoByEmployeeID_Service(employeeID, nowDate);
}
public Person getPersonInfoByEmployeeID_Service(String employeeID, String validateDate) {
return personDao.getPerson(employeeID, validateDate);
}
public boolean changeEmployeePassword_Service(String employeeID, String password) {
Employee employee = getEmployeeInfo_Service(employeeID);
employee.setPassword(password);
employeeDao.save(employee);
return true;
}
public RichFacesTreeNodeBean getMenuTreeRootNode_Service(String employeeID) {
// UI Tree根节点
MenuTreeNode root = menuTreeNodeDao.getTreeRootNode();
if (root != null) {
// 当前日期
String nowDate = DateUtil.getNowDate();
// 用户权限列表
List<String> powerList = menuTreePowerDao.getUserMenuTreePowerList(employeeID, nowDate);
// 默认权限为无访问限制或者用户有访问该节点的权限时
if ((root.isDefaultPower() == true)
|| (powerList != null && !powerList.isEmpty() && powerList.contains(root.getNodeID()))) {
// 权限效验
RichFacesTreeNodeBean viewMenuTreeRoot = new RichFacesTreeNodeBean(root.getNodeID(), root
.getNodeTxt(), root.getNodeType(), root.getActionPath());
addViewTreeNode(viewMenuTreeRoot, powerList, root.getSubNodeList());
return viewMenuTreeRoot;
}
}
return null;
}
/**
* 递归创建整个页面树结构
*
* @param parentNode 页面树父节点对象
* @param powerList 用户权限列表
* @param subNodeList 子节点数据列表
*/
@SuppressWarnings("unchecked")
private void addViewTreeNode(RichFacesTreeNodeBean parentNode, List<String> powerList,
List<MenuTreeNode> subNodeList) {
if (subNodeList != null && !subNodeList.isEmpty()) {
for (MenuTreeNode node : subNodeList) {
if (node != null) {
if (node.isDefaultPower() == true || powerList.contains(node.getNodeID())) {
RichFacesTreeNodeBean viewTreenode = new RichFacesTreeNodeBean(node.getNodeID(), node
.getNodeTxt(), node.getNodeType(), node.getActionPath());
viewTreenode.setParent(parentNode);
parentNode.addChild(node.getNodeID(), viewTreenode);
addViewTreeNode(viewTreenode, powerList, node.getSubNodeList());
}
}
}
}
}
public List<Country> getCountryInfoList_Service() {
return countryDao.getAll();
}
public boolean updatePersonInfo_Service(String employeeID, Person pagePerson) {
String nowDate = DateUtil.getNowDate();
Person dbPerson = personDao.getPerson(employeeID, nowDate);
if (dbPerson != null) {
// 名字
dbPerson.setName(pagePerson.getName());
// 名字拼写方法
dbPerson.setNameSpell(pagePerson.getNameSpell());
// 年龄
dbPerson.setAge(pagePerson.getAge());
// 性别
dbPerson.setSex(pagePerson.getSex());
// 国家
Country country = countryDao.getCountry(pagePerson.getCountry().getCountryID());
dbPerson.setCountry(country);
// 地址信息
synchPersonAddressList(dbPerson, pagePerson);
// 更新个人信息
personDao.save(dbPerson);
return true;
}
return false;
}
private void synchPersonAddressList(Person dbPerson, Person pagePerson) {
List<Address> pageAddressList = pagePerson.getAddressList();
List<Address> dbAddressList = dbPerson.getAddressList();
// --------------------------------------------------------
// 删除
// --------------------------------------------------------
List<Address> delList = new ArrayList<Address>();
for (Address dbAddress : dbAddressList) {
if (!pageAddressList.contains(dbAddress)) {
delList.add(dbAddress);
}
}
dbAddressList.removeAll(delList);
// --------------------------------------------------------
// 更新和添加
// --------------------------------------------------------
for (Address pageAddress : pageAddressList) {
if (dbAddressList.contains(pageAddress)) {// 更新
Address dbAddress = dbAddressList.get(dbAddressList.indexOf(pageAddress));
dbAddress.setDescription(pageAddress.getDescription());
dbAddress.setAddressInfo(pageAddress.getAddressInfo());
dbAddress.setPostcode(pageAddress.getPostcode());
dbAddress.setPhone(pageAddress.getPhone());
} else {// 添加
pageAddress.setAddressID(addressDao.getMaxID());
pageAddress.setPerson(dbPerson);
dbPerson.addAddresses(pageAddress);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -