package com.norteksoft.acs.dao.authority;
import java.util.List;
import org.springframework.stereotype.Repository;
import com.norteksoft.acs.base.enumeration.ConditionValueType;
import com.norteksoft.acs.entity.authority.PermissionItemCondition;
import com.norteksoft.product.orm.hibernate.HibernateDao;
import com.norteksoft.product.util.ContextUtils;
@Repository
public class PermissionItemConditionDao extends HibernateDao<PermissionItemCondition,Long>{
/**
* 删除某数据授权对应的人员条件项
* @param permissionId
*/
public void deleteAllPermissionItemConditions(Long permissionId){
this.createQuery("delete from PermissionItemCondition pic where pic.valueType=? and pic.dataId in (select pi.id from PermissionItem pi where pi.permission.id=? and pi.companyId=?)",ConditionValueType.PERMISSION, permissionId,ContextUtils.getCompanyId()).executeUpdate();
}
/**
* 删除某数据授权的人员对应的所有的条件项
* @param permissionId
*/
public void deletePermissionItemConditions(Long permissionItemId){
this.createQuery("delete from PermissionItemCondition pic where pic.valueType=? and pic.dataId=?",ConditionValueType.PERMISSION, permissionItemId).executeUpdate();
}
/**
* 删除某数据分类对应的所有规则条件的条件项
* @param permissionId
*/
public void deleteAllDataRuleItemConditions(Long dataRuleId){
this.createQuery("delete from PermissionItemCondition pic where pic.valueType=? and pic.dataId in (select pi.id from Condition pi where pi.dataRule.id=? and pi.companyId=?)",ConditionValueType.DATA_RULE, dataRuleId,ContextUtils.getCompanyId()).executeUpdate();
}
/**
* 删除某数据分类的规则条件对应的所有条件项
* @param permissionId
*/
public void deleteDataRuleConditionItemConditions(Long dataRuleConditionId){
this.createQuery("delete from PermissionItemCondition pic where pic.valueType=? and pic.dataId =?",ConditionValueType.DATA_RULE, dataRuleConditionId).executeUpdate();
}
/**
* 查询某数据分类的规则条件对应的所有条件项
* @param dataRuleConditionId
* @return
*/
public List<PermissionItemCondition> getDataRuleConditionItemConditions(Long dataRuleConditionId){
return this.find("from PermissionItemCondition pic where pic.valueType=? and pic.dataId =?", ConditionValueType.DATA_RULE, dataRuleConditionId);
}
/**
* 根据数据授权的人员查询所有的条件项
* @param permissionItemId
* @return
*/
public List<PermissionItemCondition> getPermissionItemConditions(Long permissionItemId){
return this.find("from PermissionItemCondition pic where pic.valueType=? and pic.dataId=?", ConditionValueType.PERMISSION, permissionItemId);
}
/**
* 根据数据授权的人员查询所有的条件项
* @param permissionItemId
* @return
*/
public List<PermissionItemCondition> getPermissionItemTypeUserConditions(Long permissionItemId){
return this.find("from PermissionItemCondition pic where pic.valueType=? and pic.dataId=? and pic.conditionValue like ?", ConditionValueType.PERMISSION, permissionItemId,"%"+ContextUtils.getUserId()+"~%");
}
}