package com.casic.alarm.manager; import com.casic.alarm.domain.DEVREALDATA; import com.casic.core.hibernate.HibernateUtils; import com.casic.core.hibernate.MatchType; import com.casic.alarm.DTO.ConcentratorDTO; import com.casic.alarm.DTO.DeviceConcentratorDTO; import com.casic.alarm.domain.Concentrator; import com.casic.alarm.domain.DeviceConcentrator; import com.casic.core.hibernate.HibernateEntityDao; import com.casic.core.page.Page; import com.casic.core.util.StringUtils; import org.hibernate.Criteria; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Service; import java.net.URLDecoder; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Service public class DeviceConcentratorManager extends HibernateEntityDao<DeviceConcentrator> { public Map<String, Object> queryConcentrator(DeviceConcentratorDTO model, int page, int rows) { Map<String, Object> resultMap = new HashMap<String, Object>(); List<ConcentratorDTO> concentratorDTOList = new ArrayList<ConcentratorDTO>(); try { StringBuilder hql = new StringBuilder(); Map<String, Object> map = new HashMap<String, Object>(); hql.append(" from Concentrator " + " where active = 1 "); String concenCode = model.getConcenCode(); if (StringUtils.isNotBlank(concenCode)) { hql.append(" and concenCode like :concenCode "); map.put("concenCode", "%" + concenCode + "%"); } String statusStr = model.getStatus(); if (StringUtils.isNotBlank(statusStr)) { boolean status = true; if(statusStr.equals("1")) { status = true; } else if(statusStr.equals("2")) { status = false; } hql.append(" and status = :status "); map.put("status", status); } hql.append(" order by concenCode asc "); Page pg = pagedQuery(hql.toString(), page, rows, map); List<Concentrator> concenList = (List<Concentrator>) pg.getResult(); concentratorDTOList = ConcentratorDTO.ConvertToDTOs(concenList); resultMap.put("total", pg.getTotalCount()); resultMap.put("rows", concentratorDTOList); } catch (Exception e) { e.printStackTrace(); } return resultMap; } public void removeDeviceConcentrator(String concenCode) throws Exception { List<DeviceConcentrator> deviceConcentratorList = this.findBy("concenCode",concenCode); for(DeviceConcentrator deviceConcentrator:deviceConcentratorList){ deviceConcentrator.setActive(false); this.save(deviceConcentrator); } } public void updateDeviceConcentrator(String oldConcenCode,String newConcenCod) throws Exception { List<DeviceConcentrator> deviceConcentratorList = this.findBy("concenCode",oldConcenCode); for(DeviceConcentrator deviceConcentrator:deviceConcentratorList){ deviceConcentrator.setConcenCode(newConcenCod); this.save(deviceConcentrator); } } public DeviceConcentrator getConcentratorByDeviceCode(String deviceCode) { try { Criteria criteria = getSession().createCriteria(DeviceConcentrator.class); criteria.add(Restrictions.eq("devCode", deviceCode)); criteria.add(Restrictions.eq("active", true)); List<DeviceConcentrator> deviceConcentrators = criteria.list(); if (deviceConcentrators.size() > 0) return deviceConcentrators.get(0); } catch (Exception e) { } return null; } }