package com.zt.plat.module.qms.core.aspect.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface QmsPermission {

    boolean enable() default true;  //默认开启

    //部门数据查看权限
    String deptDataRoleCodes() default "";         //指定部门数据查看角色，多值半角逗号分隔

    //模块数据权限-具有此角色可查看本模块所有数据
    String moduleDataRoleCodes() default "ytjyAdmin";         //指定所有数据查看角色，多值半角逗号分隔

    String deptIdColumn() default "DEPT_ID";        //部门id列

    String userIdColumn() default "CREATOR";        //人员id列

    boolean self() default false;                   //是否可查看自己创建的数据

    //todo 考虑支持模块自定义扩展。参数传入表达式，通过表达式计算权限
    String custom() default "";

}
