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;
|
|
/**
|
* 加载所有设备数据
|
* <p>
|
* Title: loadDeviceIot
|
* </p>
|
* <p>
|
* Description:
|
* </p>
|
*
|
*/
|
public List<DeviceIot> loadDeviceIot(Map<String, Object> parameter) {
|
if (parameter == null || parameter.size() <= 0)
|
return null;
|
|
Map<String, Object> p = new HashMap<String, Object>();
|
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<DeviceIot> page,
|
Map<String, Object> parameter) throws Exception {
|
Map<String, Object> p = new HashMap<String, Object>();
|
String hql = " from " + DeviceIot.class.getName()
|
+ " where companyId = :companyId ";
|
p.put("companyId", ContextUtil.getCompanyId());
|
|
if(null == parameter)parameter = new HashMap<String, Object>();
|
|
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);
|
}
|
|
/**
|
* 修改设备信息
|
* <p>
|
* Title: upDepotDeviceIot
|
* </p>
|
* <p>
|
* Description:
|
* </p>
|
*
|
* @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();
|
}
|
|
}
|
|
/**
|
* 删除设备
|
* <p>
|
* Title: delDepotDeviceIot
|
* </p>
|
* <p>
|
* Description:
|
* </p>
|
*/
|
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);
|
}
|
|
}
|