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<DepotBookStore> page, Map<String, Object> param) throws Exception {
|
StringBuffer hql = new StringBuffer();
|
hql.append(" from " + DepotBookStore.class.getName() + " where companyId =:companyId and kqdm =:deptId ");
|
Map<String, Object> 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.setKqdm(ContextUtil.subDeptId(null));
|
data.setCompanyId(ContextUtil.getCompanyId());
|
data.setCzbz("i");
|
session.save(data);
|
} else {
|
data.setCzbz("u");
|
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<String, Object> param, Map<String, Object> 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));
|
}
|
}
|
}
|