package com.ld.igds.oa.service; import com.bstek.bdf2.core.orm.hibernate.HibernateDao; import com.bstek.dorado.data.provider.Page; import com.ld.igds.models.DeptDevice; import com.ld.igds.models.DeviceCheckup; import com.ld.igds.util.ContextUtil; import com.ld.igds.util.DateUtil; import org.apache.commons.lang3.StringUtils; import org.hibernate.Session; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 库区设备信息 * * @Author:YAN */ @Component public class HDeptDeviceService extends HibernateDao { //=====================================库区设备=======================================// public void pageData(Page page, Map param) throws Exception { String hql = " from " + DeptDevice.class.getName() + " where companyId=:companyId"; Map args = new HashMap<>(); args.put("companyId", ContextUtil.getCompanyId()); if (null != param) { hql = buildHql(hql, param, args); } String count = "select count(*) " + hql; hql += " order by updateTime desc"; this.pagingQuery(page, hql, count, args); } public String saveOrUpdate(DeptDevice data) { Session session = this.getSessionFactory().openSession(); try { data.setCompanyId(ContextUtil.getCompanyId()); data.setUpdateTime(new Date()); if (null == data.getId()) { data.setId(ContextUtil.getUUID()); } session.saveOrUpdate(data); // if (!CollectionUtils.isEmpty(data.getCheckupList())) { // for (DeviceCheckup item : data.getCheckupList()) { // if (null == item.getId()) { // item.setCompanyId(ContextUtil.getCompanyId()); // item.setId(ContextUtil.getCompanyId()); // item.setSbbh(data.getSbbh()); // item.setSbyqdm(data.getSbyqdm()); // item.setSbyqmc(data.getSbyqmc()); // } // session.saveOrUpdate(item); // } // } } finally { session.flush(); session.close(); } return null; } public String delData(DeptDevice data) { Session session = this.getSessionFactory().openSession(); try { session.delete(data); } finally { session.flush(); session.close(); } return null; } //==================================设备检修记录===================================// public void pageCheck(Page page, Map param) throws Exception { String hql = " from " + DeviceCheckup.class.getName() + " where companyId=:companyId"; Map args = new HashMap<>(); args.put("companyId", ContextUtil.getCompanyId()); if (null != param) { hql = buildHql(hql, param, args); } String count = "select count(*) " + hql; hql += " order by zhgxsj desc"; this.pagingQuery(page, hql, count, args); } public List listCheck(Map param) throws Exception { String hql = " from " + DeviceCheckup.class.getName() + " where companyId=:companyId"; Map args = new HashMap<>(); args.put("companyId", ContextUtil.getCompanyId()); if (null != param) { hql = buildHql(hql, param, args); } hql += " order by jdsj desc"; return this.query(hql, args); } public String saveCheck(DeviceCheckup data) { Session session = this.getSessionFactory().openSession(); try { data.setCompanyId(ContextUtil.getCompanyId()); data.setZhgxsj(new Date()); if (null == data.getId()) { data.setId(ContextUtil.getUUID()); } session.saveOrUpdate(data); } finally { session.flush(); session.close(); } return null; } public String delCheck(DeviceCheckup data) { Session session = this.getSessionFactory().openSession(); try { session.delete(data); } finally { session.flush(); session.close(); } return null; } public String buildHql(String hql, Map param, Map args) { String str = (String) param.get("name"); if (StringUtils.isNotEmpty(str)) { hql += " and sbyqmc like:name"; args.put("name", "%" + str + "%"); } str = (String) param.get("code"); if (StringUtils.isNotEmpty(str)) { hql += " and sbbh =:code"; args.put("code", str); } Date date = (Date) param.get("start"); if (null != date) { hql += " and jdsj >=:start"; args.put("start", DateUtil.getCurZero(date)); } date = (Date) param.get("end"); if (null != date) { hql += " and jdsj <:end"; args.put("end", DateUtil.getNextZero(date)); } return hql; } }