package com.lanyotech.pps.service.impl; import java.io.Serializable; import java.util.List; import com.easyjf.core.support.query.IQueryObject; import com.easyjf.core.support.query.QueryObject; import com.easyjf.core.support.query.QueryUtil; import com.easyjf.web.tools.IPageList; import com.lanyotech.pps.domain.BaseCount; import com.lanyotech.pps.service.IBaseCountService; import com.lanyotech.pps.dao.IBaseCountDAO; /** * BaseCountServiceImpl * @author EasyJWeb 1.0-m2 * $Id: BaseCountServiceImpl.java,v 0.0.1 2010-6-22 0:00:56 EasyJWeb 1.0-m2 Exp $ */ public class BaseCountServiceImpl implements IBaseCountService{ private IBaseCountDAO baseCountDao; public void setBaseCountDao(IBaseCountDAO baseCountDao){ this.baseCountDao=baseCountDao; } public Long addBaseCount(BaseCount baseCount) { this.baseCountDao.save(baseCount); if (baseCount != null && baseCount.getId() != null) { return baseCount.getId(); } return null; } public BaseCount getBaseCount(Long id) { BaseCount baseCount = this.baseCountDao.get(id); return baseCount; } public boolean delBaseCount(Long id) { BaseCount baseCount = this.getBaseCount(id); if (baseCount != null) { this.baseCountDao.remove(id); return true; } return false; } public boolean batchDelBaseCounts(List<Serializable> baseCountIds) { for (Serializable id : baseCountIds) { delBaseCount((Long) id); } return true; } public IPageList getBaseCountBy(IQueryObject queryObject) { return QueryUtil.query(queryObject, BaseCount.class,this.baseCountDao); } public boolean updateBaseCount(Long id, BaseCount baseCount) { if (id != null) { baseCount.setId(id); } else { return false; } this.baseCountDao.update(baseCount); return true; } public String getNewSn(String entityName) { QueryObject qo=new QueryObject(); qo.addQuery("obj.entityName",entityName,"="); List list=this.getBaseCountBy(qo).getResult(); int sequence=1; if(list!=null&&list.size()>0){ BaseCount bc=(BaseCount)list.get(0); sequence=bc.getSequence()+1; } return String.format("%1$08d", sequence); } public void recordNewSn(String entityName, Integer sequence) { QueryObject qo = new QueryObject(); qo.addQuery("obj.entityName", entityName, "="); List list = this.getBaseCountBy(qo).getResult(); if (list != null && list.size() > 0) { BaseCount bc = (BaseCount) list.get(0); if (bc.getSequence() < sequence) { bc.setSequence(sequence); this.updateBaseCount(bc.getId(), bc); } } else { BaseCount bc = new BaseCount(); bc.setEntityName(entityName); bc.setSequence(sequence); this.addBaseCount(bc); } } }