/**
* Copyright (c)2010-2011 Enterprise Website Content Management System(EWCMS), All rights reserved.
* EWCMS PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* http://www.ewcms.com
*/
package com.ewcms.content.particular.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import com.ewcms.content.particular.dao.EmployeArticleDAO;
import com.ewcms.content.particular.dao.EmployeBasicDAO;
import com.ewcms.content.particular.model.EmployeArticle;
import com.ewcms.content.particular.model.EmployeBasic;
import com.ewcms.core.site.SiteFacable;
import com.ewcms.core.site.model.Organ;
@Service
public class EmployeArticleService implements EmployeArticleServiceable {
@Autowired
private EmployeBasicDAO employeBasicDAO;
@Autowired
private EmployeArticleDAO employeArticleDAO;
@Autowired
private SiteFacable siteFac;
@Override
public Long addEmployeArticle(EmployeArticle employeArticle) {
setEmployeBasic(employeArticle);
setOrgan(employeArticle);
employeArticleDAO.persist(employeArticle);
return employeArticle.getId();
}
@Override
public Long updEmployeArticle(EmployeArticle employeArticle) {
setEmployeBasic(employeArticle);
setOrgan(employeArticle);
employeArticle.setRelease(false);
employeArticleDAO.merge(employeArticle);
return employeArticle.getId();
}
private void setEmployeBasic(EmployeArticle employeArticle){
String employeBasic_cardCode = employeArticle.getEmployeBasic().getCardCode();
Assert.notNull(employeBasic_cardCode);
EmployeBasic employeBasic = employeBasicDAO.findEmployeBasicByCardCode(employeBasic_cardCode);
Assert.notNull(employeBasic);
employeArticle.setEmployeBasic(employeBasic);
}
private void setOrgan(EmployeArticle employeArticle){
Integer organId = employeArticle.getOrgan().getId();
Organ organ = siteFac.getOrgan(organId);
employeArticle.setOrgan(organ);
}
@Override
public void delEmployeArticle(Long id) {
employeArticleDAO.removeByPK(id);
}
@Override
public EmployeArticle findEmployeArticleById(Long id) {
return employeArticleDAO.get(id);
}
@Override
public void pubEmployeArticle(List<Long> employeArticleIds) {
if (employeArticleIds.isEmpty()) return;
for (Long employeArticleId : employeArticleIds){
EmployeArticle employeArticle = employeArticleDAO.get(employeArticleId);
if (employeArticle.getRelease() || employeArticle.getOrgan() == null) continue;
employeArticle.setRelease(true);
employeArticleDAO.merge(employeArticle);
}
}
@Override
public void unPubEmployeArticle(List<Long> employeArticleIds){
if (employeArticleIds.isEmpty()) return;
for (Long employeArticleId : employeArticleIds){
EmployeArticle employeBasic = employeArticleDAO.get(employeArticleId);
if (!employeBasic.getRelease()) continue;
employeBasic.setRelease(false);
employeArticleDAO.merge(employeBasic);
}
}
@Override
public List<EmployeArticle> findEmployeArticleAll() {
return employeArticleDAO.findEmployeArticleAll();
}
}