| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225 |
- package platform.common.base.service;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.*;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import platform.common.Constant;
- import platform.common.base.dao.DictionaryItemDao;
- import platform.common.base.model.DictionaryItem;
- import platform.common.base.model.DictionaryType;
- import platform.common.util.DateUtil;
- import platform.common.util.WebUtil;
- import platform.modules.build.entity.ContractProperty;
- import tk.mybatis.mapper.entity.Example;
- @Service
- @Transactional
- public class DictionaryItemService extends BaseService<DictionaryItem> {
- @Autowired
- private DictionaryItemDao dictionaryItemDao;
- @Autowired
- private DictionaryTypeService dictionaryTypeService;
- public PageInfo<DictionaryItem> findPage(Integer pageNum, Integer pageSize, String keyword) {
- Example example = new Example(DictionaryItem.class);
- Example.Criteria criteria = example.createCriteria();
- Example.Criteria criteria2 = example.createCriteria();
- if (StringUtils.isNotBlank(keyword)) {
- criteria.andLike("name", "%" + WebUtil.covertData(keyword) + "%");
- }
- criteria2.andEqualTo("del_flag", 0);
- //倒序
- example.and(criteria2);
- example.setOrderByClause("create_time desc");
- PageHelper.startPage(pageNum, pageSize);
- List<DictionaryItem> items = this.selectByExample(example);
- return new PageInfo<DictionaryItem>(items);
- }
- public PageInfo<DictionaryItem> findPageByType(Integer pageNum, Integer pageSize, String keyword, Integer typeId) {
- Example example = new Example(DictionaryItem.class);
- Example.Criteria criteria = example.createCriteria();
- Example.Criteria criteria2 = example.createCriteria();
- if (StringUtils.isNotBlank(keyword)) {
- criteria.andLike("name", "%" + WebUtil.covertData(keyword) + "%");
- }
- if (null != typeId) {
- criteria.andEqualTo("tid", typeId);
- }
- criteria2.andEqualTo("del_flag", 0);
- //倒序
- example.and(criteria2);
- example.setOrderByClause("create_time desc");
- PageHelper.startPage(pageNum, pageSize);
- List<DictionaryItem> items = this.selectByExample(example);
- return new PageInfo<DictionaryItem>(items);
- }
- public DictionaryItem getDictionaryItem(String name, String value, Integer typeId) {
- return dictionaryItemDao.getDictionaryItem(name, value, typeId);
- }
- public Boolean saveDictionaryItem(DictionaryItem item) {
- if (this.saveSelective(item) > 0) {
- return true;
- }
- return false;
- }
- public Boolean updateDictionaryItem(DictionaryItem item) {
- if (this.updateSelective(item) > 0) {
- return true;
- }
- return false;
- }
- public String getNameById(Integer itemId) {
- DictionaryItem item = this.findById(itemId);
- if (null == item) {
- return "";
- } else {
- return item.getName();
- }
- }
- @Transactional(readOnly = true)
- public List<DictionaryItem> findListByTypeName(String typeName) {
- List<DictionaryItem> items = new ArrayList<DictionaryItem>();
- DictionaryType type = dictionaryTypeService.getDictionaryType(typeName);
- if (null != type) {
- Example example = new Example(DictionaryItem.class);
- Example.Criteria criteria = example.createCriteria();
- criteria.andEqualTo("tid", type.getId());
- criteria.andEqualTo("del_flag", 0);
- criteria.andEqualTo("is_active", 1);
- example.setOrderByClause("sort");
- items = this.selectByExample(example);
- }
- return items;
- }
- //根据类型和值(value)查找item
- public DictionaryItem findByTypeAndValue(String typeName, String value) {
- DictionaryItem condition = new DictionaryItem();
- condition.setValue(value);
- DictionaryItem item = dictionaryItemDao.findByTypeAndCondition(typeName, condition);
- return item == null ? new DictionaryItem() : item;
- }
- //根据类型和值(value)查找名称(name)
- public String findNameByTypeAndValue(String typeName, String value) {
- if (StringUtils.isNotBlank(typeName) && StringUtils.isNotBlank(value)) {
- DictionaryItem condition = new DictionaryItem();
- condition.setValue(value);
- DictionaryItem item = dictionaryItemDao.findByTypeAndCondition(typeName, condition);
- if (null != item) {
- return item.getName();
- }
- }
- return "";
- }
- //根据类型和值(value)查找名称(name)
- public String findValueByTypeAndName(String typeName, String name) {
- if (StringUtils.isNotBlank(typeName) && StringUtils.isNotBlank(name)) {
- DictionaryItem condition = new DictionaryItem();
- condition.setName(name);
- DictionaryItem item = dictionaryItemDao.findByTypeAndCondition(typeName, condition);
- if (null != item) {
- return item.getValue();
- }
- }
- return "";
- }
- //根据类型和名称(name)查找Id
- public Integer findIdByTypeAndName(String typeName, String name) {
- DictionaryItem condition = new DictionaryItem();
- condition.setName(name);
- DictionaryItem item = dictionaryItemDao.findByTypeAndCondition(typeName, condition);
- if (null != item) {
- return item.getId();
- }
- return null;
- }
- //根据类型和名称(name)查找Id 离自己申请时间最近
- public Integer findIdByTypeAndNameRecent(String typeName, String name, String time) {
- DictionaryType type = dictionaryTypeService.getDictionaryType(typeName);
- // Example example = new Example(DictionaryItem.class);
- // Example.Criteria criteria = example.createCriteria();
- // criteria.andEqualTo("tid", type.getId());
- // criteria.andEqualTo("name", name);
- DictionaryItem condition = new DictionaryItem();
- condition.setTid(type.getId());
- condition.setName(name);
- List<DictionaryItem> dictionaryItemList =this.findListByWhere(condition);
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
- try {
- Date date1 = sdf.parse(time);
- Calendar cal = Calendar.getInstance();
- cal.setTime(date1);
- cal.add(Calendar.DATE, 1);
- date1 = cal.getTime();
- Iterator<DictionaryItem> it = dictionaryItemList.iterator();
- while (it.hasNext()) {
- DictionaryItem item = it.next();
- Date date2 = sdf.parse(item.getCreate_time());
- if (date1.before(date2)){
- it.remove();
- }
- }
- } catch (ParseException e) {
- e.printStackTrace();
- }
- DictionaryItem item = dictionaryItemList.get(dictionaryItemList.size() - 1);
- if (null != item) {
- return item.getId();
- }
- return 0;
- }
- //根据类型和名称(name)查找Id 仅激活
- public Integer findIdByTypeAndNameActive(String typeName, String name) {
- DictionaryItem condition = new DictionaryItem();
- condition.setName(name);
- condition.setIs_active(true);
- DictionaryItem item = dictionaryItemDao.findByTypeAndCondition(typeName, condition);
- if (null != item) {
- return item.getId();
- }
- return null;
- }
- //根据id查找item
- public DictionaryItem findByItemId(Integer id) {
- Example example = new Example(DictionaryItem.class);
- Example.Criteria criteria = example.createCriteria();
- criteria.andEqualTo("id", id);
- criteria.andEqualTo("del_flag", 0);
- List<DictionaryItem> itemList = this.selectByExample(example);
- DictionaryItem item = null;
- if (itemList != null && itemList.size() > 0) {
- item = itemList.get(0);
- }
- return item;
- }
- }
|