package com.ld.igds.sec.service; import com.bstek.bdf2.core.orm.hibernate.HibernateDao; import com.bstek.dorado.data.provider.Page; import com.ld.igds.models.SecSnapConf; import com.ld.igds.models.SecSnapDepot; import com.ld.igds.util.ContextUtil; import com.ld.igds.util.DateUtil; import org.apache.commons.lang3.StringUtils; import org.hibernate.Query; import org.hibernate.Session; import org.springframework.stereotype.Repository; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @Repository public class SecSnapDepotService extends HibernateDao { public void pageSnapDepot(Page page, Map param) throws Exception { String hql = " from " + SecSnapDepot.class.getName() + " where companyId=:companyId and deptId=:deptId"; Map args = new HashMap<>(); args.put("companyId", param.get("companyId")); args.put("deptId", param.get("deptId")); String str = (String) param.get("depotId"); if (StringUtils.isNotEmpty(str)) { hql += " and depotId =:depotId"; args.put("depotId", str); } Date date = (Date) param.get("start"); if (null != date) { hql += " and updateTime >=:start"; args.put("start", DateUtil.getCurZero(date)); } date = (Date) param.get("end"); if (null != date) { hql += " and updateTime <:end"; args.put("end", DateUtil.getNextZero(date)); } String countHql = "select count(1) " + hql; hql += " order by updateTime desc"; this.pagingQuery(page, hql, countHql, args); } /** * 根据条件获取配置类别 * * @param companyId 组织编码,不可为空 * @param deptId 所属分库,可为空 * @return 查询结果 */ public List listSnapConf(String companyId, String deptId) { String hql = " from " + SecSnapConf.class.getName() + " where companyId=:companyId"; Map args = new HashMap<>(); args.put("companyId", companyId); if (StringUtils.isNotEmpty(deptId)) { hql += " and deptId =:deptId"; args.put("deptId", deptId); } return this.query(hql, args); } public void addData(SecSnapConf snapConf, String fileName, String result) { Session session = this.getSessionFactory().openSession(); try { SecSnapDepot data = new SecSnapDepot(); data.setId(ContextUtil.getUUID()); data.setCompanyId(snapConf.getCompanyId()); data.setDeptId(snapConf.getDeptId()); data.setDepotId(snapConf.getDepotId()); data.setCameraId(snapConf.getCameraId()); data.setResult(result); data.setUpdateTime(new Date()); data.setFileSuffix("jpg"); data.setFileName(fileName); session.save(data); } catch (Exception e) { e.printStackTrace(); } finally { session.flush(); session.close(); } } public void addConf(SecSnapConf conf) { Session session = this.getSessionFactory().openSession(); try { conf.setId(ContextUtil.getUUID()); conf.setUpdateTime(new Date()); session.save(conf); } catch (Exception e) { e.printStackTrace(); } finally { session.flush(); session.close(); } } public void updateConf(SecSnapConf conf) { Session session = this.getSessionFactory().openSession(); try { conf.setUpdateTime(new Date()); session.update(conf); } catch (Exception e) { e.printStackTrace(); } finally { session.flush(); session.close(); } } public void updateActHour(SecSnapConf conf) { String hql = " update "+SecSnapConf.class.getName()+" set actHour1=:actHour1,actHour2=:actHour2,actHour3=:actHour3 where companyId=:companyId and deptId=:deptId"; Session session = this.getSessionFactory().openSession(); try { Query q = session.createQuery(hql); q.setInteger("actHour1", conf.getActHour1()); q.setInteger("actHour2", conf.getActHour2()); q.setInteger("actHour3", conf.getActHour3()); q.setString("companyId", conf.getCompanyId()); q.setString("deptId", conf.getDeptId()); q.executeUpdate(); } catch (Exception e) { e.printStackTrace(); } finally { session.flush(); session.close(); } } }