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<SecSnapDepot> page, Map<String, Object> param) throws Exception {
|
|
String hql = " from " + SecSnapDepot.class.getName()
|
+ " where companyId=:companyId and deptId=:deptId";
|
|
Map<String, Object> 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<SecSnapConf> listSnapConf(String companyId, String deptId) {
|
String hql = " from " + SecSnapConf.class.getName()
|
+ " where companyId=:companyId";
|
|
Map<String, Object> 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.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.save(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();
|
}
|
}
|
}
|