120 lines
3.6 KiB
Java
120 lines
3.6 KiB
Java
package com.nis.web.service.specific;
|
|
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import com.beust.jcommander.internal.Lists;
|
|
import com.nis.domain.Page;
|
|
import com.nis.domain.specific.SpecificServiceCfg;
|
|
import com.nis.util.StringUtil;
|
|
import com.nis.web.dao.specific.SpecificServiceCfgDao;
|
|
import com.nis.web.service.BaseService;
|
|
|
|
@Service
|
|
public class SpecificServiceCfgService extends BaseService{
|
|
|
|
@Autowired
|
|
private SpecificServiceCfgDao specificServiceCfgDao;
|
|
|
|
/**
|
|
* 根据id查询对象
|
|
* @param specServiceId
|
|
* @return
|
|
*/
|
|
public SpecificServiceCfg getBySpecServiceId(Integer specServiceId) {
|
|
return specificServiceCfgDao.getBySpecServiceId(specServiceId);
|
|
}
|
|
/**
|
|
* 查询所有符合条件的顶层分页
|
|
* @param page
|
|
* @param specificServiceCfg
|
|
* @return
|
|
*/
|
|
public Page<SpecificServiceCfg> findTopPage(Page<SpecificServiceCfg> page, SpecificServiceCfg specificServiceCfg){
|
|
// 设置分页参数
|
|
specificServiceCfg.setPage(page);
|
|
// 执行分页查询
|
|
List<SpecificServiceCfg> list = Lists.newArrayList();
|
|
list = specificServiceCfgDao.findTopPage(specificServiceCfg);
|
|
SpecificServiceCfg ss = new SpecificServiceCfg();
|
|
ss.setSpecServiceId(0);
|
|
for(SpecificServiceCfg ssc:list){
|
|
ssc.setParent(ss);
|
|
}
|
|
page.setList(list);
|
|
return page;
|
|
}
|
|
/**
|
|
* 查询所有符合条件的数据
|
|
* @param specificServiceCfg
|
|
* @return
|
|
*/
|
|
public List<SpecificServiceCfg> findAllSpecificServiceCfg(SpecificServiceCfg specificServiceCfg) {
|
|
return specificServiceCfgDao.findAllSpecificServiceCfg(specificServiceCfg);
|
|
}
|
|
/**
|
|
* 保存或修改
|
|
* @param specificServiceCfg
|
|
*/
|
|
public void saveOrUpdate(SpecificServiceCfg specificServiceCfg, Integer oldId) {
|
|
if(oldId==null){//新增
|
|
specificServiceCfg.setIsValid(1);
|
|
specificServiceCfg.setOpTime(new Date());
|
|
specificServiceCfgDao.insert(specificServiceCfg);
|
|
}else{//修改
|
|
specificServiceCfg.setOpTime(new Date());
|
|
//修改id则将其子类的parent_id一并修改
|
|
if(oldId!=specificServiceCfg.getSpecServiceId()){
|
|
//找出所有子类
|
|
List<SpecificServiceCfg> list = specificServiceCfgDao.getChildrenById(oldId);
|
|
SpecificServiceCfg se =new SpecificServiceCfg();
|
|
se.setSpecServiceId(specificServiceCfg.getSpecServiceId());
|
|
for(SpecificServiceCfg ss:list){
|
|
if(ss!=null){
|
|
ss.setParent(se);
|
|
specificServiceCfgDao.update(ss,ss.getSpecServiceId());
|
|
}
|
|
}
|
|
}
|
|
specificServiceCfgDao.update(specificServiceCfg,oldId);
|
|
}
|
|
}
|
|
/**
|
|
* 删除
|
|
* @param specificServiceCfg
|
|
*/
|
|
public void delete(String mulitId) {
|
|
String[] ids = mulitId.split(",");
|
|
for(String id:ids){
|
|
if (!id.equals("")) {
|
|
SpecificServiceCfg specificServiceCfg = specificServiceCfgDao.getBySpecServiceId(Integer.valueOf(id));
|
|
List<SpecificServiceCfg> list = Lists.newArrayList();
|
|
//找出所有下级
|
|
if(specificServiceCfg!=null){
|
|
SpecificServiceCfg.sortList(list, specificServiceCfgDao.findAllSpecificServiceCfg(new SpecificServiceCfg()), specificServiceCfg.getSpecServiceId(), true);
|
|
list.add(specificServiceCfg);
|
|
for(SpecificServiceCfg ss:list){
|
|
ss.setIsValid(0);
|
|
specificServiceCfgDao.delete(ss);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 根据specServiceId查询所有下级
|
|
* @param specServiceId
|
|
* @return
|
|
*/
|
|
public List<SpecificServiceCfg> getChildrenById(Integer specServiceId) {
|
|
return specificServiceCfgDao.getChildrenById(specServiceId);
|
|
}
|
|
|
|
|
|
|
|
}
|