Commit ca3cc71b by 高晓磊

场站,砂石类型,摄像头,船只增加组织机构的筛选条件.

parent 21bc9e58
...@@ -31,6 +31,7 @@ public class DictDataInitializer implements DataInitializer{ ...@@ -31,6 +31,7 @@ public class DictDataInitializer implements DataInitializer{
private DictService dictService; private DictService dictService;
@Override
public void init(){ public void init(){
for(Resource resource : dictdatas){ for(Resource resource : dictdatas){
DictDataInfo dictDataInfo = objectMapper.convertValue(load(resource), DictDataInfo.class); DictDataInfo dictDataInfo = objectMapper.convertValue(load(resource), DictDataInfo.class);
......
...@@ -4,24 +4,11 @@ import com.beecode.amino.metadata.runtime.MetadataMech; ...@@ -4,24 +4,11 @@ import com.beecode.amino.metadata.runtime.MetadataMech;
import com.beecode.bcp.type.KClass; import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.TypeConstants; import com.beecode.bcp.type.TypeConstants;
import com.xyst.dinas.biz.constant.CameraInfoConstant; import com.xyst.dinas.biz.constant.CameraInfoConstant;
import com.xyst.dinas.biz.constant.StationConstant;
import com.xyst.dinas.biz.dao.CameraInfoDao; import com.xyst.dinas.biz.dao.CameraInfoDao;
import com.xyst.dinas.biz.dao.PositionDao;
import com.xyst.dinas.biz.internal.StationInfoQueryProcessor;
import com.xyst.dinas.biz.internal.dao.CameraInfoDaoImpl; import com.xyst.dinas.biz.internal.dao.CameraInfoDaoImpl;
import com.xyst.dinas.biz.internal.dao.DinasTypeDaoImpl;
import com.xyst.dinas.biz.internal.dao.PositionDaoImpl;
import com.xyst.dinas.biz.internal.dao.StationDaoImpl;
import com.xyst.dinas.biz.internal.service.CameraInfoServiceImpl; import com.xyst.dinas.biz.internal.service.CameraInfoServiceImpl;
import com.xyst.dinas.biz.internal.service.DinasTypeServiceImpl;
import com.xyst.dinas.biz.internal.service.PositionServiceImpl;
import com.xyst.dinas.biz.internal.service.StationServiceImpl;
import com.xyst.dinas.biz.service.CameraInfoService; import com.xyst.dinas.biz.service.CameraInfoService;
import com.xyst.dinas.biz.service.PositionService;
import com.xyst.dinas.biz.web.CameraInfoController; import com.xyst.dinas.biz.web.CameraInfoController;
import com.xyst.dinas.biz.web.DinasTypeController;
import com.xyst.dinas.biz.web.PositionController;
import com.xyst.dinas.biz.web.StationController;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
...@@ -32,8 +19,7 @@ public class CameraConfiguration { ...@@ -32,8 +19,7 @@ public class CameraConfiguration {
@Autowired @Autowired
@Qualifier(TypeConstants.CLASS_MECH) @Qualifier(TypeConstants.CLASS_MECH)
private MetadataMech<KClass> typeMech; private MetadataMech<KClass> typeMech;
//CameraInfoDao相关bean配置
//DinasTypeDaoImpl相关bean配置
@Bean @Bean
public CameraInfoDao cameraInfotDao() { public CameraInfoDao cameraInfotDao() {
return new CameraInfoDaoImpl(); return new CameraInfoDaoImpl();
...@@ -48,10 +34,9 @@ public class CameraConfiguration { ...@@ -48,10 +34,9 @@ public class CameraConfiguration {
} }
@Bean(CameraInfoConstant.ENTITY) @Bean(CameraInfoConstant.ENTITY)
public KClass stationInfoEntity() { public KClass cameraInfoEntity() {
return typeMech.createStaticBeanByResource( return typeMech.createStaticBeanByResource(
new ClassPathResource("/com/xyst/dinas/biz/datamodel/CameraInfo.jmx", KClass.class)); new ClassPathResource("/com/xyst/dinas/biz/datamodel/CameraInfo.jmx", KClass.class));
} }
} }
...@@ -36,7 +36,7 @@ public class DinasTypeConfiguration { ...@@ -36,7 +36,7 @@ public class DinasTypeConfiguration {
@Bean(DinasTypeConstant.ENTITY) @Bean(DinasTypeConstant.ENTITY)
public KClass stationInfoEntity() { public KClass dinasTypeInfoEntity() {
return typeMech.createStaticBeanByResource( return typeMech.createStaticBeanByResource(
new ClassPathResource("/com/xyst/dinas/biz/datamodel/DinasType.jmx", KClass.class)); new ClassPathResource("/com/xyst/dinas/biz/datamodel/DinasType.jmx", KClass.class));
} }
......
...@@ -11,13 +11,13 @@ public interface CameraInfoDao extends BaseDao { ...@@ -11,13 +11,13 @@ public interface CameraInfoDao extends BaseDao {
KObject load(UUID id); KObject load(UUID id);
Page<KObject> listCameraInfoPaging(Page<KObject> page, UUID stationId, UUID watershedId, String cameraName); Page<KObject> listCameraInfoPaging(Page<KObject> page, UUID stationId, UUID watershedId, String cameraName, KObject currentLoginRegionalCompany);
UUID create(KObject kObject); UUID create(KObject object, KObject regionalCompany);
void deleteById(UUID id); void deleteById(UUID id);
List<KObject> getByName(String name, UUID id); List<KObject> getByName(String name, UUID id);
void modify(KObject kobject); void modify(KObject kobject, KObject currentLoginRegionalCompany);
} }
...@@ -24,4 +24,5 @@ public interface DinasTypeDao extends BaseDao { ...@@ -24,4 +24,5 @@ public interface DinasTypeDao extends BaseDao {
boolean checkedStation(UUID dinasTypeId, UUID stationId); boolean checkedStation(UUID dinasTypeId, UUID stationId);
boolean unCheckedStation(UUID dinasTypeId, UUID stationId); boolean unCheckedStation(UUID dinasTypeId, UUID stationId);
KObject getCurrentLoginRegionalCompany();
} }
...@@ -19,7 +19,6 @@ import java.util.UUID; ...@@ -19,7 +19,6 @@ import java.util.UUID;
public class CameraInfoDaoImpl extends AbstractBaseDao implements CameraInfoDao, CameraInfoConstant { public class CameraInfoDaoImpl extends AbstractBaseDao implements CameraInfoDao, CameraInfoConstant {
@Autowired @Autowired
private HibernateTemplate template; private HibernateTemplate template;
...@@ -40,7 +39,7 @@ public class CameraInfoDaoImpl extends AbstractBaseDao implements CameraInfoDao, ...@@ -40,7 +39,7 @@ public class CameraInfoDaoImpl extends AbstractBaseDao implements CameraInfoDao,
*/ */
@Override @Override
protected String getModelName() { protected String getModelName() {
return null; return ENTITY;
} }
@Override @Override
...@@ -50,10 +49,12 @@ public class CameraInfoDaoImpl extends AbstractBaseDao implements CameraInfoDao, ...@@ -50,10 +49,12 @@ public class CameraInfoDaoImpl extends AbstractBaseDao implements CameraInfoDao,
@Override @Override
public Page<KObject> listCameraInfoPaging(Page<KObject> page, UUID stationId, UUID watershedId, String cameraName) { public Page<KObject> listCameraInfoPaging(Page<KObject> page, UUID stationId, UUID watershedId, String cameraName, KObject currentLoginRegionalCompany) {
KClass bean = Amino.getStaticMetadataContext().getBean(ENTITY, KClass.class); KClass bean = Amino.getStaticMetadataContext().getBean(ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName()); DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.add(Restrictions.eq("del", false)); detachedCriteria.add(Restrictions.eq("del", false));
detachedCriteria.add(Restrictions.eq("regionalCompany.id", currentLoginRegionalCompany.getUuid("id")));
if(null!=stationId){ if(null!=stationId){
detachedCriteria.add(Restrictions.eq("stationId", stationId)); detachedCriteria.add(Restrictions.eq("stationId", stationId));
} }
...@@ -83,13 +84,14 @@ public class CameraInfoDaoImpl extends AbstractBaseDao implements CameraInfoDao, ...@@ -83,13 +84,14 @@ public class CameraInfoDaoImpl extends AbstractBaseDao implements CameraInfoDao,
} }
@Override @Override
public void modify(KObject kobject) { public void modify(KObject kobject, KObject currentLoginRegionalCompany) {
KObject id = load(kobject.getUuid("id")); KObject id = load(kobject.getUuid("id"));
kobject.set("creator", id.get("creator")); kobject.set("creator", id.get("creator"));
kobject.set("createTime", id.getDate("createTime")); kobject.set("createTime", id.getDate("createTime"));
kobject.set("regionalCompany", currentLoginRegionalCompany);
KObject staff = AminoContextHolder.getContext().getStaff(); KObject staff = AminoContextHolder.getContext().getStaff();
kobject.set("modifyTime", new Date()); kobject.set("modifyTime", new Date());
kobject.set("modifier", staff.getUuid("id")); kobject.set("modifier", staff);
kobject.set("del", false); kobject.set("del", false);
template.merge(kobject); template.merge(kobject);
} }
...@@ -97,14 +99,15 @@ public class CameraInfoDaoImpl extends AbstractBaseDao implements CameraInfoDao, ...@@ -97,14 +99,15 @@ public class CameraInfoDaoImpl extends AbstractBaseDao implements CameraInfoDao,
@Override @Override
public UUID create(KObject kObject) { public UUID create(KObject object, KObject regionalCompany) {
KObject staff = AminoContextHolder.getContext().getStaff(); KObject staff = AminoContextHolder.getContext().getStaff();
kObject.set("id", UUID.randomUUID()); object.set("id", UUID.randomUUID());
kObject.set("creator", staff); object.set("creator", staff);
kObject.set("createTime", new Date()); object.set("createTime", new Date());
kObject.set("del", false); object.set("del", false);
kObject.validate(); object.set("regionalCompany", regionalCompany);
return ((UUID) template.save(kObject)); object.validate();
return ((UUID) template.save(object));
} }
@Override @Override
...@@ -117,4 +120,6 @@ public class CameraInfoDaoImpl extends AbstractBaseDao implements CameraInfoDao, ...@@ -117,4 +120,6 @@ public class CameraInfoDaoImpl extends AbstractBaseDao implements CameraInfoDao,
template.update(kobject); template.update(kobject);
} }
} }
...@@ -108,4 +108,5 @@ public class DinasOrganizationDaoImpl implements DinasOrganizationDao, DinasOrga ...@@ -108,4 +108,5 @@ public class DinasOrganizationDaoImpl implements DinasOrganizationDao, DinasOrga
return (KObject) template.load(ORGANIZATION_ENTITY, id); return (KObject) template.load(ORGANIZATION_ENTITY, id);
} }
} }
...@@ -2,20 +2,24 @@ package com.xyst.dinas.biz.internal.dao; ...@@ -2,20 +2,24 @@ package com.xyst.dinas.biz.internal.dao;
import com.beecode.amino.core.Amino; import com.beecode.amino.core.Amino;
import com.beecode.bap.attachment.common.Page; import com.beecode.bap.attachment.common.Page;
import com.beecode.bap.staff.BapContext;
import com.beecode.bcp.core.context.AminoContextHolder; import com.beecode.bcp.core.context.AminoContextHolder;
import com.beecode.bcp.type.KClass; import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.internal.dao.AbstractBaseDao; import com.beecode.inz.basis.internal.dao.AbstractBaseDao;
import com.xyst.dinas.biz.constant.DinasTypeConstant; import com.xyst.dinas.biz.constant.DinasTypeConstant;
import com.xyst.dinas.biz.dao.DinasOrganizationDao;
import com.xyst.dinas.biz.dao.DinasTypeDao; import com.xyst.dinas.biz.dao.DinasTypeDao;
import org.hibernate.criterion.DetachedCriteria; import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions; import org.hibernate.criterion.Restrictions;
import org.hibernate.query.NativeQuery; import org.hibernate.query.NativeQuery;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateTemplate; import org.springframework.orm.hibernate5.HibernateTemplate;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.UUID; import java.util.UUID;
public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, DinasTypeConstant { public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, DinasTypeConstant {
...@@ -23,6 +27,10 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D ...@@ -23,6 +27,10 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
@Autowired @Autowired
private HibernateTemplate template; private HibernateTemplate template;
@Autowired
private BapContext bapContext;
@Autowired
private DinasOrganizationDao dinasOrganizationDao;
private String insertOrUpdateDinasTypeStationHql=" xyst_dinas_biz_station_dinas_type " + private String insertOrUpdateDinasTypeStationHql=" xyst_dinas_biz_station_dinas_type " +
"set station_id = :stationId , dinas_type_id =:dinasTypeId "; "set station_id = :stationId , dinas_type_id =:dinasTypeId ";
...@@ -47,7 +55,7 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D ...@@ -47,7 +55,7 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
*/ */
@Override @Override
protected String getModelName() { protected String getModelName() {
return null; return ENTITY;
} }
@Override @Override
...@@ -58,10 +66,9 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D ...@@ -58,10 +66,9 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
@Override @Override
public Page<KObject> listDinasTypeInfoPaging(Page<KObject> page) { public Page<KObject> listDinasTypeInfoPaging(Page<KObject> page) {
// UUID departmentId = AminoContextHolder.getContext().getStaff().get("department").getUuid("id");
KClass bean = Amino.getStaticMetadataContext().getBean(ENTITY, KClass.class); KClass bean = Amino.getStaticMetadataContext().getBean(ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName()); DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
// detachedCriteria.add(Restrictions.eq("department.id", departmentId)); detachedCriteria.add(Restrictions.eq("regionalCompany.id", getCurrentLoginRegionalCompany().getUuid("id")));
detachedCriteria.add(Restrictions.eq("del", false)); detachedCriteria.add(Restrictions.eq("del", false));
int offset = page.getPageSize() * (page.getPageNo() - 1); int offset = page.getPageSize() * (page.getPageNo() - 1);
List<KObject> list = (List<KObject>) template.findByCriteria(detachedCriteria, offset, page.getPageSize()); List<KObject> list = (List<KObject>) template.findByCriteria(detachedCriteria, offset, page.getPageSize());
...@@ -79,6 +86,8 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D ...@@ -79,6 +86,8 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
// detachedCriteria.add(Restrictions.eq("department.id", departmentId)); // detachedCriteria.add(Restrictions.eq("department.id", departmentId));
detachedCriteria.add(Restrictions.eq("del", false)); detachedCriteria.add(Restrictions.eq("del", false));
detachedCriteria.add(Restrictions.eq("dinasTypeName", name)); detachedCriteria.add(Restrictions.eq("dinasTypeName", name));
detachedCriteria.add(Restrictions.eq("regionalCompany.id", getCurrentLoginRegionalCompany().getUuid("id")));
if (id != null) { if (id != null) {
detachedCriteria.add(Restrictions.ne("id", id)); detachedCriteria.add(Restrictions.ne("id", id));
} }
...@@ -93,6 +102,7 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D ...@@ -93,6 +102,7 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
kobject.set("createTime", id.getDate("createTime")); kobject.set("createTime", id.getDate("createTime"));
KObject staff = AminoContextHolder.getContext().getStaff(); KObject staff = AminoContextHolder.getContext().getStaff();
kobject.set("modifyTime", new Date()); kobject.set("modifyTime", new Date());
kobject.set("regionalCompany", getCurrentLoginRegionalCompany());
kobject.set("modifier", staff.getUuid("id")); kobject.set("modifier", staff.getUuid("id"));
kobject.set("del", false); kobject.set("del", false);
template.merge(kobject); template.merge(kobject);
...@@ -152,6 +162,7 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D ...@@ -152,6 +162,7 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
kObject.set("creator", staff); kObject.set("creator", staff);
kObject.set("createTime", new Date()); kObject.set("createTime", new Date());
kObject.set("del", false); kObject.set("del", false);
kObject.set("regionalCompany", getCurrentLoginRegionalCompany());
return ((UUID) template.save(kObject)); return ((UUID) template.save(kObject));
} }
...@@ -165,4 +176,19 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D ...@@ -165,4 +176,19 @@ public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, D
template.update(kobject); template.update(kobject);
} }
/**
* 获取当前登录的区域公司
* @return
*/
@Override
public KObject getCurrentLoginRegionalCompany() {
Map<String, String> map = bapContext.getCurrentUserDatas();
String currentRegionalCompany = map.get("currentRegionalCompany");
JSONObject obj = new JSONObject(currentRegionalCompany);
KObject regionalCompany = dinasOrganizationDao.load(UUID.fromString(obj.getString("id")));
return regionalCompany;
}
} }
...@@ -9,7 +9,9 @@ import com.beecode.inz.basis.internal.dao.AbstractBaseDao; ...@@ -9,7 +9,9 @@ import com.beecode.inz.basis.internal.dao.AbstractBaseDao;
import com.xyst.dinas.biz.constant.CameraInfoConstant; import com.xyst.dinas.biz.constant.CameraInfoConstant;
import com.xyst.dinas.biz.constant.ShipInfoConstant; import com.xyst.dinas.biz.constant.ShipInfoConstant;
import com.xyst.dinas.biz.dao.CameraInfoDao; import com.xyst.dinas.biz.dao.CameraInfoDao;
import com.xyst.dinas.biz.dao.DinasTypeDao;
import com.xyst.dinas.biz.dao.ShipInfoDao; import com.xyst.dinas.biz.dao.ShipInfoDao;
import com.xyst.dinas.biz.service.CameraInfoService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.hibernate.criterion.DetachedCriteria; import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions; import org.hibernate.criterion.Restrictions;
...@@ -25,6 +27,8 @@ public class ShipInfoDaoImpl extends AbstractBaseDao implements ShipInfoDao, Shi ...@@ -25,6 +27,8 @@ public class ShipInfoDaoImpl extends AbstractBaseDao implements ShipInfoDao, Shi
@Autowired @Autowired
private HibernateTemplate template; private HibernateTemplate template;
@Autowired
private DinasTypeDao dinasTypeDao;
/** /**
* 抽象方法,需要实现类提供HibernateTemplate * 抽象方法,需要实现类提供HibernateTemplate
...@@ -43,7 +47,7 @@ public class ShipInfoDaoImpl extends AbstractBaseDao implements ShipInfoDao, Shi ...@@ -43,7 +47,7 @@ public class ShipInfoDaoImpl extends AbstractBaseDao implements ShipInfoDao, Shi
*/ */
@Override @Override
protected String getModelName() { protected String getModelName() {
return null; return ENTITY;
} }
@Override @Override
...@@ -58,6 +62,7 @@ public class ShipInfoDaoImpl extends AbstractBaseDao implements ShipInfoDao, Shi ...@@ -58,6 +62,7 @@ public class ShipInfoDaoImpl extends AbstractBaseDao implements ShipInfoDao, Shi
KClass bean = Amino.getStaticMetadataContext().getBean(ENTITY, KClass.class); KClass bean = Amino.getStaticMetadataContext().getBean(ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName()); DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.add(Restrictions.eq("del", false)); detachedCriteria.add(Restrictions.eq("del", false));
detachedCriteria.add(Restrictions.eq("regionalCompany.id", dinasTypeDao.getCurrentLoginRegionalCompany().getUuid("id")));
if(StringUtils.isNotBlank(shipName)){ if(StringUtils.isNotBlank(shipName)){
detachedCriteria.add(Restrictions.like("shipName", "%"+shipName+"%")); detachedCriteria.add(Restrictions.like("shipName", "%"+shipName+"%"));
...@@ -92,7 +97,8 @@ public class ShipInfoDaoImpl extends AbstractBaseDao implements ShipInfoDao, Shi ...@@ -92,7 +97,8 @@ public class ShipInfoDaoImpl extends AbstractBaseDao implements ShipInfoDao, Shi
kobject.set("createTime", id.getDate("createTime")); kobject.set("createTime", id.getDate("createTime"));
KObject staff = AminoContextHolder.getContext().getStaff(); KObject staff = AminoContextHolder.getContext().getStaff();
kobject.set("modifyTime", new Date()); kobject.set("modifyTime", new Date());
kobject.set("modifier", staff.getUuid("id")); kobject.set("modifier", staff);
kobject.set("regionalCompany", dinasTypeDao.getCurrentLoginRegionalCompany());
kobject.set("del", false); kobject.set("del", false);
template.merge(kobject); template.merge(kobject);
} }
...@@ -119,6 +125,7 @@ public class ShipInfoDaoImpl extends AbstractBaseDao implements ShipInfoDao, Shi ...@@ -119,6 +125,7 @@ public class ShipInfoDaoImpl extends AbstractBaseDao implements ShipInfoDao, Shi
kObject.set("creator", staff); kObject.set("creator", staff);
kObject.set("createTime", new Date()); kObject.set("createTime", new Date());
kObject.set("del", false); kObject.set("del", false);
kObject.set("regionalCompany", dinasTypeDao.getCurrentLoginRegionalCompany());
kObject.validate(); kObject.validate();
return ((UUID) template.save(kObject)); return ((UUID) template.save(kObject));
} }
......
...@@ -7,11 +7,12 @@ import com.beecode.bcp.type.KClass; ...@@ -7,11 +7,12 @@ import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.internal.dao.AbstractBaseDao; import com.beecode.inz.basis.internal.dao.AbstractBaseDao;
import com.xyst.dinas.biz.constant.StationConstant; import com.xyst.dinas.biz.constant.StationConstant;
import com.xyst.dinas.biz.dao.DinasTypeDao;
import com.xyst.dinas.biz.dao.StationDao; import com.xyst.dinas.biz.dao.StationDao;
import com.xyst.dinas.biz.service.CameraInfoService;
import org.hibernate.criterion.DetachedCriteria; import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions; import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateOperations;
import org.springframework.orm.hibernate5.HibernateTemplate; import org.springframework.orm.hibernate5.HibernateTemplate;
import java.util.Date; import java.util.Date;
...@@ -20,11 +21,12 @@ import java.util.UUID; ...@@ -20,11 +21,12 @@ import java.util.UUID;
public class StationDaoImpl extends AbstractBaseDao implements StationDao, StationConstant { public class StationDaoImpl extends AbstractBaseDao implements StationDao, StationConstant {
@Autowired
private HibernateOperations operations;
@Autowired @Autowired
private HibernateTemplate template; private HibernateTemplate template;
@Autowired
private DinasTypeDao dinasTypeDao;
@Override @Override
public KObject load(UUID id) { public KObject load(UUID id) {
return (KObject) template.load(ENTITY, id); return (KObject) template.load(ENTITY, id);
...@@ -53,7 +55,8 @@ public class StationDaoImpl extends AbstractBaseDao implements StationDao, Stat ...@@ -53,7 +55,8 @@ public class StationDaoImpl extends AbstractBaseDao implements StationDao, Stat
// UUID departmentId = AminoContextHolder.getContext().getStaff().get("department").getUuid("id"); // UUID departmentId = AminoContextHolder.getContext().getStaff().get("department").getUuid("id");
KClass bean = Amino.getStaticMetadataContext().getBean(StationConstant.ENTITY, KClass.class); KClass bean = Amino.getStaticMetadataContext().getBean(StationConstant.ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName()); DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
// detachedCriteria.add(Restrictions.eq("department.id", departmentId)); KObject currentLoginRegionalCompany = dinasTypeDao.getCurrentLoginRegionalCompany();
detachedCriteria.add(Restrictions.eq("regionalCompany.id",currentLoginRegionalCompany.getUuid("id")));
detachedCriteria.add(Restrictions.eq("del", false)); detachedCriteria.add(Restrictions.eq("del", false));
detachedCriteria.add(Restrictions.eq("stationName", name)); detachedCriteria.add(Restrictions.eq("stationName", name));
if(id!=null){ if(id!=null){
...@@ -69,8 +72,9 @@ public class StationDaoImpl extends AbstractBaseDao implements StationDao, Stat ...@@ -69,8 +72,9 @@ public class StationDaoImpl extends AbstractBaseDao implements StationDao, Stat
kobject.set("creator",id.get("creator")); kobject.set("creator",id.get("creator"));
kobject.set("createTime",id.getDate("createTime")); kobject.set("createTime",id.getDate("createTime"));
KObject staff = AminoContextHolder.getContext().getStaff(); KObject staff = AminoContextHolder.getContext().getStaff();
kobject.set("regionalCompany", dinasTypeDao.getCurrentLoginRegionalCompany());
kobject.set("modifyTime",new Date()); kobject.set("modifyTime",new Date());
kobject.set("modifier",staff.getUuid("id")); kobject.set("modifier",staff);
kobject.set("del",false); kobject.set("del",false);
template.merge(kobject); template.merge(kobject);
} }
...@@ -80,7 +84,10 @@ public class StationDaoImpl extends AbstractBaseDao implements StationDao, Stat ...@@ -80,7 +84,10 @@ public class StationDaoImpl extends AbstractBaseDao implements StationDao, Stat
public UUID create(KObject kObject) { public UUID create(KObject kObject) {
KObject staff = AminoContextHolder.getContext().getStaff(); KObject staff = AminoContextHolder.getContext().getStaff();
// kObject.set("department", staff.get("department")); // kObject.set("department", staff.get("department"));
// kObject.set("id",UUID.randomUUID()); if(null==kObject.getUuid("id")){
kObject.set("id",UUID.randomUUID());
}
kObject.set("regionalCompany", dinasTypeDao.getCurrentLoginRegionalCompany());
kObject.set("creator",staff); kObject.set("creator",staff);
kObject.set("createTime", new Date()); kObject.set("createTime", new Date());
kObject.set("del",false); kObject.set("del",false);
...@@ -123,4 +130,5 @@ public class StationDaoImpl extends AbstractBaseDao implements StationDao, Stat ...@@ -123,4 +130,5 @@ public class StationDaoImpl extends AbstractBaseDao implements StationDao, Stat
protected String getModelName() { protected String getModelName() {
return StationConstant.ENTITY; return StationConstant.ENTITY;
} }
} }
package com.xyst.dinas.biz.internal.service; package com.xyst.dinas.biz.internal.service;
import com.beecode.bap.attachment.common.Page; import com.beecode.bap.attachment.common.Page;
import com.beecode.bap.staff.BapContext;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import com.xyst.dinas.biz.dao.CameraInfoDao; import com.xyst.dinas.biz.dao.CameraInfoDao;
import com.xyst.dinas.biz.service.CameraInfoService; import com.xyst.dinas.biz.service.CameraInfoService;
import com.xyst.dinas.biz.service.DinasOrganizationService;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.UUID; import java.util.UUID;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
...@@ -16,18 +20,23 @@ public class CameraInfoServiceImpl implements CameraInfoService { ...@@ -16,18 +20,23 @@ public class CameraInfoServiceImpl implements CameraInfoService {
@Autowired @Autowired
private CameraInfoDao cameraInfoDao; private CameraInfoDao cameraInfoDao;
@Autowired
private DinasOrganizationService dinasOrganizationService;
@Autowired
private BapContext bapContext;
@Override @Override
public Page<KObject> queryByPaging(Page<KObject> page, UUID stationId, UUID watershedId, String cameraName) throws Exception { public Page<KObject> queryByPaging(Page<KObject> page, UUID stationId, UUID watershedId, String cameraName) throws Exception {
if(page.getPageNo()==0||page.getPageSize()==0) { if(page.getPageNo()==0||page.getPageSize()==0) {
throw new Exception("pageSize or offset is null"); throw new Exception("pageSize or offset is null");
} }
return cameraInfoDao.listCameraInfoPaging(page,stationId,watershedId,cameraName);
return cameraInfoDao.listCameraInfoPaging(page,stationId,watershedId,cameraName,getCurrentLoginRegionalCompany());
} }
@Override @Override
public UUID addCamera(KObject kObject) { public UUID addCamera(KObject kObject) {
return cameraInfoDao.create(kObject); return cameraInfoDao.create(kObject,getCurrentLoginRegionalCompany());
} }
@Override @Override
...@@ -46,11 +55,29 @@ public class CameraInfoServiceImpl implements CameraInfoService { ...@@ -46,11 +55,29 @@ public class CameraInfoServiceImpl implements CameraInfoService {
@Override @Override
public void update(KObject kobject) { public void update(KObject kobject) {
cameraInfoDao.modify(kobject); cameraInfoDao.modify(kobject,getCurrentLoginRegionalCompany());
} }
@Override @Override
public void deleteById(UUID id) { public void deleteById(UUID id) {
cameraInfoDao.deleteById(id); cameraInfoDao.deleteById(id);
} }
/**
* 获取当前登录的区域公司
* @return
*/
@Override
public KObject getCurrentLoginRegionalCompany() {
Map<String, String> map = bapContext.getCurrentUserDatas();
String currentRegionalCompany = map.get("currentRegionalCompany");
JSONObject obj = new JSONObject(currentRegionalCompany);
KObject regionalCompany = dinasOrganizationService.load(UUID.fromString(obj.getString("id")));
return regionalCompany;
}
} }
...@@ -59,4 +59,6 @@ public class StationServiceImpl implements StationService { ...@@ -59,4 +59,6 @@ public class StationServiceImpl implements StationService {
public void deleteById(UUID id) { public void deleteById(UUID id) {
stationDao.deleteById(id); stationDao.deleteById(id);
} }
} }
...@@ -18,4 +18,5 @@ public interface CameraInfoService { ...@@ -18,4 +18,5 @@ public interface CameraInfoService {
void update(KObject kobject); void update(KObject kobject);
void deleteById(UUID id); void deleteById(UUID id);
public KObject getCurrentLoginRegionalCompany();
} }
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-sequence"> <metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-sequence">
<specification>1.0</specification> <specification>1.0</specification>
<id>364bfc1a-50aa-4289-8d43-33a5b2236efc</id> <id>a2cc3d5e-7dc3-4cb2-946c-705e4ff89aef</id>
<name>com.xyst.dinas.biz.bill.Organization$sequence</name> <name>com.xyst.dinas.biz.bill.Organization$sequence</name>
<title>组织机构$sequence</title> <title>组织机构$sequence</title>
<description>组织机构</description> <description>组织机构</description>
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-serial"> <metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-serial">
<specification>1.0</specification> <specification>1.0</specification>
<id>9422322e-20be-405e-817e-9607ada356cf</id> <id>5989a00c-f64e-4086-9415-b79d1b2640ba</id>
<name>com.xyst.dinas.biz.bill.Organization$serial</name> <name>com.xyst.dinas.biz.bill.Organization$serial</name>
<title>组织机构$serial</title> <title>组织机构$serial</title>
<description>组织机构</description> <description>组织机构</description>
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-biztype"> <metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-biztype">
<specification>1.0</specification> <specification>1.0</specification>
<id>24274558-867d-4ad4-aa2b-d12e39c2d3a0</id> <id>42a96c63-e3ab-4340-8f63-411aa04f0986</id>
<name>com.xyst.dinas.biz.bill.Organization</name> <name>com.xyst.dinas.biz.bill.Organization</name>
<title>组织机构</title> <title>组织机构</title>
<description>组织机构</description> <description>组织机构</description>
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-biztype"> <metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-biztype">
<specification>1.0</specification> <specification>1.0</specification>
<id>bd507082-d5d9-4b82-ae89-e8190d21efb9</id> <id>7251c910-eca4-4862-9635-2397de244761</id>
<name>com.xyst.dinas.biz.bill.Position</name> <name>com.xyst.dinas.biz.bill.Position</name>
<title>岗位</title> <title>岗位</title>
<description>岗位</description> <description>岗位</description>
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-sequence"> <metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-sequence">
<specification>1.0</specification> <specification>1.0</specification>
<id>74af0162-d2f8-4761-ba64-51dd1a4cfa29</id> <id>4da57641-c5c9-4cc0-9663-be2ea146a510</id>
<name>com.xyst.dinas.biz.bill.Station$sequence</name> <name>com.xyst.dinas.biz.bill.Station$sequence</name>
<title>场站$sequence</title> <title>场站$sequence</title>
<description>场站</description> <description>场站</description>
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-serial"> <metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-serial">
<specification>1.0</specification> <specification>1.0</specification>
<id>eabc5787-8607-4b02-9a35-78f679b41418</id> <id>4a3a3921-b9d0-40ae-b6cb-c53416d706ed</id>
<name>com.xyst.dinas.biz.bill.Station$serial</name> <name>com.xyst.dinas.biz.bill.Station$serial</name>
<title>场站$serial</title> <title>场站$serial</title>
<description>场站</description> <description>场站</description>
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-biztype"> <metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-biztype">
<specification>1.0</specification> <specification>1.0</specification>
<id>d448c109-3a1d-439e-b117-e3dceb0f236c</id> <id>cc020715-8ad6-496a-90bd-efb1e3d4f4b6</id>
<name>com.xyst.dinas.biz.bill.Station</name> <name>com.xyst.dinas.biz.bill.Station</name>
<title>场站</title> <title>场站</title>
<description>场站</description> <description>场站</description>
......
...@@ -111,6 +111,16 @@ ...@@ -111,6 +111,16 @@
<m:desc></m:desc> <m:desc></m:desc>
</m:field> </m:field>
<m:field> <m:field>
<m:name>pic</m:name>
<m:title>负责人</m:title>
<m:type>uuid</m:type>
<m:ref>
<m:name>com.beecode.bap.staff.datamodel.Staff</m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>modifyTime</m:name> <m:name>modifyTime</m:name>
<m:title>修改时间</m:title> <m:title>修改时间</m:title>
<m:type>datetime</m:type> <m:type>datetime</m:type>
...@@ -150,16 +160,6 @@ ...@@ -150,16 +160,6 @@
</m:ref> </m:ref>
<m:desc></m:desc> <m:desc></m:desc>
</m:field> </m:field>
<m:field>
<m:name>pic.id</m:name>
<m:title>负责人id</m:title>
<m:type>uuid</m:type>
<m:ref>
<m:name>com.beecode.bap.staff.datamodel.Staff</m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
</m:fields> </m:fields>
</m:query> </m:query>
</content> </content>
......
...@@ -28,6 +28,13 @@ ...@@ -28,6 +28,13 @@
<m:defaultExecute></m:defaultExecute> <m:defaultExecute></m:defaultExecute>
<m:hide></m:hide> <m:hide></m:hide>
</m:innerScene> </m:innerScene>
<m:innerScene>
<m:id>ead5a5c4-b84f-47e3-a59b-6fad59287ddd</m:id>
<m:title>权限过滤</m:title>
<m:javaImplement>com.xyst.dinas.biz.scene.XystDinasCommonAllScene</m:javaImplement>
<m:defaultExecute>true</m:defaultExecute>
<m:hide>true</m:hide>
</m:innerScene>
</m:innerScenes> </m:innerScenes>
<m:fields> <m:fields>
<m:field> <m:field>
......
...@@ -28,6 +28,13 @@ ...@@ -28,6 +28,13 @@
<m:defaultExecute></m:defaultExecute> <m:defaultExecute></m:defaultExecute>
<m:hide></m:hide> <m:hide></m:hide>
</m:innerScene> </m:innerScene>
<m:innerScene>
<m:id>e4b6205f-1d35-4f82-b565-6f7ae42d0b98</m:id>
<m:title>权限过滤</m:title>
<m:javaImplement>com.xyst.dinas.biz.scene.XystDinasCommonAllScene</m:javaImplement>
<m:defaultExecute>true</m:defaultExecute>
<m:hide>true</m:hide>
</m:innerScene>
</m:innerScenes> </m:innerScenes>
<m:fields> <m:fields>
<m:field> <m:field>
......
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