package com.ld.igds.n2.service; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import com.ld.igds.models.N2IntelTask; import com.ld.igds.n2.dto.N2Param; import org.apache.commons.lang3.StringUtils; import org.hibernate.Session; import org.springframework.stereotype.Component; import com.bstek.bdf2.core.orm.hibernate.HibernateDao; import com.ld.igds.models.N2Auto; import com.ld.igds.models.N2IntelConf; import com.ld.igds.n2.N2Util; import com.ld.igds.util.ContextUtil; @Component public class HN2Service extends HibernateDao { public List listIntelConf() { String hql = " from " + N2IntelConf.class.getName() + " where companyId=:companyId order by depotId + 0"; Map args = new HashMap(); args.put("companyId", ContextUtil.getCompanyId()); return this.query(hql, args); } public void saveIntelConf(N2IntelConf data) { data.setUpdateTime(new Date()); data.setUpdateUser(ContextUtil.getLoginUserCName()); Session session = this.getSessionFactory().openSession(); if(null != data.getPressureStart()){ data.setPressureEnd(data.getPressureStart()/2); } try { if (null == data.getId()) { data.setId(ContextUtil.getUUID()); session.save(data); } else { session.update(data); } } catch (Exception e) { e.printStackTrace(); } finally { session.flush(); session.close(); } } public String delIntelConf(N2IntelConf data) { Session session = this.getSessionFactory().openSession(); try { if (null != data.getId()) { session.delete(data); } } catch (Exception e) { e.printStackTrace(); } finally { session.flush(); session.close(); } return null; } public String delIntel(N2IntelTask data) { Session session = this.getSessionFactory().openSession(); try { if (null != data.getId()) { session.delete(data); } } catch (Exception e) { e.printStackTrace(); } finally { session.flush(); session.close(); } return null; } public void saveIntelTask(N2IntelTask data) { if (null == data.getCompanyId()) { data.setCompanyId(ContextUtil.getCompanyId()); } if (null == data.getStatus()) { data.setStatus(N2Util.TASK_STATUS_01); } if (null == data.getId()) { data.setId(ContextUtil.getUUID()); } Session session = this.getSessionFactory().openSession(); try { session.save(data); } catch (Exception e) { e.printStackTrace(); } finally { session.flush(); session.close(); } } public void updateIntelTask(N2IntelTask data) { if (null == data.getCompanyId()) { data.setCompanyId(ContextUtil.getCompanyId()); } if (null == data.getStatus()) { data.setStatus(N2Util.TASK_STATUS_01); } Session session = this.getSessionFactory().openSession(); try { session.update(data); } catch (Exception e) { e.printStackTrace(); } finally { session.flush(); session.close(); } } public List listTask(String parentId) { String hql = " from " + N2IntelTask.class.getName() + " where companyId=:companyId"; Map args = new HashMap(); args.put("companyId", ContextUtil.getCompanyId()); if (null != parentId) { hql += " and parentId=:parentId"; args.put("parentId", parentId); } else { hql += " and parentId is null "; } hql += " order by start desc "; return this.query(hql, args); } public List listN2Auto(String depotId) { String hql = " from " + N2Auto.class.getName() + " where companyId=:companyId"; Map args = new HashMap(); args.put("companyId", ContextUtil.getCompanyId()); if (StringUtils.isNotEmpty(depotId)) { hql += " and depotId =:depotId "; args.put("depotId", depotId); } hql += " order by name"; return this.query(hql, args); } public String taskRun(N2IntelTask data) { return "参数信息不完整,不支持执行!"; } public String taskStop(N2IntelTask data) { return "参数信息不完整,不支持执行!"; } /** * 根据组织编码和仓库编码获取当前仓库的智能气调配置信息 * * @param param * @return */ public N2IntelConf getN2IntelConf(N2Param param) { if (null == param) return null; if (null == param.getCompanyId() || null == param.getDepotId()) return null; String hql = " from " + N2IntelConf.class.getName() + " where companyId=:companyId and depotId=:depotId"; Map args = new HashMap(); args.put("companyId", param.getCompanyId()); args.put("depotId", param.getDepotId()); List list = this.query(hql, args); if (null == list) return null; return list.get(0); } }