Commit e974108d by 高晓磊

根据场站获取砂石类型接口过滤区域公司的问题

parent ec4f5c3f
......@@ -32,4 +32,6 @@ public interface DinasTypeDao extends BaseDao {
List<KObject> getByStation(UUID stationId);
List<KObject> getByRegionalCompanyId(UUID regionalCompanyId);
List<KObject> getStationsById(List<UUID> dinasTypeIds, List<UUID> regionalCompanyIds);
}
......@@ -20,6 +20,7 @@ import org.hibernate.criterion.Restrictions;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateTemplate;
import org.springframework.util.CollectionUtils;
import java.io.Serializable;
import java.util.*;
......@@ -65,7 +66,6 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
@Override
public Page<KObject> listDinasTypeInfoPaging(Page<KObject> page) {
KClass bean = Amino.getStaticMetadataContext().getBean(ENTITY, KClass.class);
KClass detailBean = Amino.getStaticMetadataContext().getBean(STATION_DINAS_TYPE_DETAIL_ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
addRegionalCompanyFilter(detachedCriteria);
detachedCriteria.add(Restrictions.eq("del", false));
......@@ -73,10 +73,6 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
page.setTotal(template.findByCriteria(detachedCriteria).size());
int offset = page.getPageSize() * (page.getPageNo() - 1);
List<KObject> list = (List<KObject>) template.findByCriteria(detachedCriteria, offset, page.getPageSize());
for (KObject kObject : list) {
KObject kObject1 = detailBean.newInstance();
kObject1.set("dinasType",kObject);
}
page.setDatas(list);
return page;
}
......@@ -84,15 +80,8 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
@Override
public List<KObject> getByStation(UUID stationId) {
// KClass bean = Amino.getStaticMetadataContext().getBean(DinasTypeConstant.STATION_DINAS_TYPE_DETAIL_ENTITY, KClass.class);
// DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
// addRegionalCompanyFilter(detachedCriteria);
// detachedCriteria.add(Restrictions.eq("del", false));
// detachedCriteria.add(Restrictions.eq("station.id", stationId));
KClass bean = Amino.getStaticMetadataContext().getBean(STATION_DINAS_TYPE_DETAIL_ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
addRegionalCompanyFilter(detachedCriteria);
detachedCriteria.add(Restrictions.eq("del", false));
detachedCriteria.createAlias("station","station");
detachedCriteria.add(Restrictions.eq("station.id", stationId));
......@@ -115,6 +104,25 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
}
@Override
public List<KObject> getStationsById(List<UUID> dinasTypeIds, List<UUID> regionalCompanyIds) {
KClass bean = Amino.getStaticMetadataContext().getBean(STATION_DINAS_TYPE_DETAIL_ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.createAlias("station","s");
detachedCriteria.createAlias("dinasType","d");
detachedCriteria.add(Restrictions.eq("del", false));
detachedCriteria.add(Restrictions.eq("s.del", false));
if(!CollectionUtils.isEmpty(regionalCompanyIds)){
detachedCriteria.add(Restrictions.in("d.regionalCompany.id", regionalCompanyIds));
}
if(!CollectionUtils.isEmpty(dinasTypeIds)){
detachedCriteria.add(Restrictions.in("d.id", dinasTypeIds));
}
return (List<KObject>) template.findByCriteria(detachedCriteria);
}
@Override
public DetachedCriteria addRegionalCompanyFilter(DetachedCriteria detachedCriteria) {
KObject currentLoginRegionalCompany = getCurrentLoginRegionalCompany();
if (currentLoginRegionalCompany != null && currentLoginRegionalCompany.getString("type").equals(OrganizationTypeEnum.REGIONAL_COMPANY.name())) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment