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.common.CoreDeviceIotService; import com.ld.igds.models.DeviceIot; import com.ld.igds.util.ContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.List; import java.util.Map; /** * * @author vince * */ @Slf4j @Component public class DeviceIotService extends HibernateDao { @Autowired private CoreDeviceIotService coreDeviceIotService; /** * 加载所有设备数据 *

* Title: loadDeviceIot *

*

* Description: *

* */ public List loadDeviceIot(Map parameter) { if (parameter == null || parameter.size() <= 0) return null; Map p = new HashMap(); String hql = " from " + DeviceIot.class.getName() + " where companyId = :companyId "; String companyId = (String) parameter.get("companyId"); if(null == companyId){ companyId = ContextUtil.getCompanyId(); } p.put("companyId", companyId); String depotId = (String) parameter.get("depotId"); if (StringUtils.isNotEmpty(depotId)) { hql += " and depotId =:depotId"; p.put("depotId", depotId); } String type = (String) parameter.get("type"); if (StringUtils.isNotEmpty(type)) { hql += " and type =:type"; p.put("type", type); } String serId = (String) parameter.get("serId"); if (StringUtils.isNotEmpty(serId)) { hql += " and serId =:serId"; p.put("serId", serId); } hql += " order by type,id"; return this.query(hql, p); } public void loadDeviceIotByContion(Page page, Map parameter) throws Exception { Map p = new HashMap(); String hql = " from " + DeviceIot.class.getName() + " where companyId = :companyId "; p.put("companyId", ContextUtil.getCompanyId()); if(null == parameter)parameter = new HashMap(); String depotId = (String) parameter.get("depotId"); if (StringUtils.isNotEmpty(depotId)) { hql += " and depotId =:depotId"; p.put("depotId", depotId); } String type = (String) parameter.get("type"); if (StringUtils.isNotEmpty(type)) { hql += " and type =:type"; p.put("type", type); } String serId = (String) parameter.get("serId"); if (StringUtils.isNotEmpty(serId)) { hql += " and serId =:serId"; p.put("serId", serId); } String countSql = "select count(*) " + hql; hql += " order by serId,passCode asc"; this.pagingQuery(page, hql, countSql, p); } /** * 修改设备信息 *

* Title: upDepotDeviceIot *

*

* Description: *

* * @param depotDeviceIot */ public void upDepotDeviceIot(DeviceIot depotDeviceIot) { Session session = null; try { session = this.getSessionFactory().openSession(); session.update(depotDeviceIot); } catch (Exception e) { log.error(e.getMessage(),e); } finally { session.flush(); session.close(); } } /** * 删除设备 *

* Title: delDepotDeviceIot *

*

* Description: *

*/ public void delDepotDeviceIot(DeviceIot depotDeviceIot) { Session session = null; try { session = this.getSessionFactory().openSession(); session.delete(depotDeviceIot); } catch (Exception e) { log.error(e.getMessage(),e); } finally { session.flush(); session.close(); } } public void delDepotDeviceIot(String id) { Session session = null; try { session = this.getSessionFactory().openSession(); String hql = " delete from " + DeviceIot.class.getName() + " where id=:id"; session.createQuery(hql).setString("id", id).executeUpdate(); } catch (Exception e) { log.error(e.getMessage(),e); } finally { session.flush(); session.close(); } } public String saveOrUpdate(DeviceIot device, String id) { if (null != id) { this.delDepotDeviceIot(id); return null; } Session session = null; try { session = this.getSessionFactory().openSession(); if (null != device.getId()) { session.update(device); } else { device.setCompanyId(ContextUtil.getCompanyId()); device.setId(ContextUtil.buildDeviceId(device.getCompanyId(), device.getDepotId(), device.getPassCode())); session.save(device); } } catch (Exception e) { e.printStackTrace(); } finally { session.flush(); session.close(); } return null; } public void addDepotDeviceIot(DeviceIot depotDeviceIot) { Session session = null; try { session = this.getSessionFactory().openSession(); depotDeviceIot.setCompanyId(ContextUtil.getCompanyId()); depotDeviceIot.setId(ContextUtil.buildDeviceId( depotDeviceIot.getCompanyId(), depotDeviceIot.getDepotId(), depotDeviceIot.getPassCode())); session.save(depotDeviceIot); } catch (Exception e) { e.printStackTrace(); } finally { session.flush(); session.close(); } } public void refreshCache(String companyId) { coreDeviceIotService.refreshCache(companyId); } }