package com.ld.igds.view.service;
|
|
import com.bstek.bdf2.core.orm.hibernate.HibernateDao;
|
import com.bstek.dorado.data.provider.Page;
|
import com.ld.igds.models.DicArea;
|
import org.apache.commons.lang3.StringUtils;
|
import org.hibernate.Session;
|
import org.springframework.stereotype.Component;
|
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
@Component
|
public class HDicAreaService extends HibernateDao {
|
|
public List<DicArea> listDicArea(String type) {
|
String hql = " from " + DicArea.class.getName();
|
|
Map<String, Object> args = new HashMap<String, Object>();
|
if (StringUtils.isNotEmpty(type)) {
|
hql += " and type = :type";
|
args.put("type", type);
|
}
|
hql += " order by code";
|
|
return this.query(hql, args);
|
}
|
|
public String saveDicArea(DicArea data) {
|
Session session = this.getSessionFactory().openSession();
|
try {
|
session.saveOrUpdate(data);
|
} finally {
|
session.flush();
|
session.close();
|
}
|
return null;
|
}
|
|
public String delDicArea(DicArea data) {
|
Session session = this.getSessionFactory().openSession();
|
try {
|
session.delete(data);
|
} finally {
|
session.flush();
|
session.close();
|
}
|
return null;
|
}
|
|
public DicArea listDicAreaByName(String name) {
|
String hql = " from " + DicArea.class.getName() + " where 1=1";
|
|
Map<String, Object> args = new HashMap<String, Object>();
|
if (StringUtils.isNotEmpty(name)) {
|
hql += " and name like :name";
|
args.put("name", "%" + name + "%");
|
}
|
hql += " order by code";
|
|
List<DicArea> list = this.query(hql, args);
|
if (null == list || list.isEmpty()) {
|
return null;
|
}
|
return list.get(0);
|
}
|
|
public DicArea listDicAreaByCode(String code) {
|
if (StringUtils.isEmpty(code)) {
|
return null;
|
}
|
String hql = " from " + DicArea.class.getName() + " where code =:code";
|
|
Map<String, Object> args = new HashMap<String, Object>();
|
args.put("code", code);
|
hql += " order by code";
|
|
List<DicArea> list = this.query(hql, args);
|
if (null == list || list.isEmpty()) {
|
return null;
|
}
|
return list.get(0);
|
}
|
|
public void pageList(Page<DicArea> page, String key) throws Exception {
|
|
String hql = " from " + DicArea.class.getName();
|
|
Map<String, Object> args = new HashMap<>();
|
List<DicArea> list;
|
String countHql;
|
if (StringUtils.isNotEmpty(key)) {
|
hql += " where (name like :key1 or simple like:key2)";
|
args.put("key1", "%" + key + "%");
|
args.put("key2", "%" + key.toUpperCase() + "%");
|
|
countHql = "select count(1) " + hql;
|
hql += " order by code";
|
|
this.pagingQuery(page, hql, countHql, args);
|
|
} else {
|
countHql = "select count(1) " + hql;
|
hql += " order by code";
|
this.pagingQuery(page, hql, countHql);
|
}
|
}
|
}
|