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.models.DepotBookStore; import com.ld.igds.util.ContextUtil; import org.apache.commons.lang3.StringUtils; import org.hibernate.Session; import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; import java.util.Date; import java.util.HashMap; import java.util.Map; /** * @Author: YYC * @Description:账面库存 * @DateTime: 2023/10/20 14:56 **/ @Component public class HDepotBookStoreService extends HibernateDao { public void listBookStore(Page page, Map param) throws Exception { StringBuffer hql = new StringBuffer(); hql.append(" from " + DepotBookStore.class.getName() + " where companyId =:companyId and deptId =:deptId "); Map args = new HashMap<>(); args.put("companyId", ContextUtil.getCompanyId()); args.put("deptId", ContextUtil.subDeptId(null)); if (null != param) { buildHql(hql, param, args); } String count = "select count(*) " + hql.toString(); hql.append(" order by zhgxsj desc"); this.pagingQuery(page, hql.toString(), count, args); } public void saveData(DepotBookStore data) { data.setZhgxsj(new Date()); Session session = this.getSessionFactory().openSession(); try { if (null == data.getId()) { data.setId(ContextUtil.getUUID()); data.setDeptId(ContextUtil.subDeptId(null)); data.setCompanyId(ContextUtil.getCompanyId()); session.save(data); } else { session.update(data); } } catch (Exception e) { e.printStackTrace(); } finally { session.flush(); session.close(); } } public void delData(DepotBookStore data) { Session session = this.getSessionFactory().openSession(); try { if (null != data.getId()) { session.delete(data); } } catch (Exception e) { e.printStackTrace(); } finally { session.flush(); session.close(); } } public void buildHql(StringBuffer hql, Map param, Map args) { String str = (String) param.get("foodVariety"); if (StringUtils.isNotEmpty(str)) { hql.append(" and lspzdm =:foodVariety"); args.put("foodVariety", str); } Integer year = (Integer) param.get("year"); if (null != year) { hql.append(" and nd =:year"); args.put("year", String.valueOf(year)); } } }