package cn.estsh.i3plus.pojo.wms.repository;

import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import cn.estsh.i3plus.pojo.wms.bean.EngineScriptPersistence;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @Description : 脚本引擎持久化类
 * @Reference :
 * @Author : Rock.Yu
 * @CreateDate : 2019-04-16 09:53
 * @Modify:
 **/
@Repository
public interface IEngineScriptPersistenceRepository extends BaseRepository<EngineScriptPersistence, Long> {
    /**
     * 按照工厂代码和脚本编号查询脚本实体对象
     * @param organizeCode 工厂代码
     * @param scriptNo 脚本编号
     * @return 脚本实体对象
     */
    EngineScriptPersistence findByOrganizeCodeAndScriptNo(String organizeCode, String scriptNo);

    /**
     * 按照脚本编号查询脚本实体对象
     * @param scriptNo 脚本编号
     * @return 脚本实体对象
     */
    EngineScriptPersistence findByScriptNo(String scriptNo);

    /**
     * 查找所有的脚本语言类型
     * @return 数据库中已经存在的脚本语言类型
     */
    @Query("select t.languageType from EngineScriptPersistence t group by t.organizeCode, t.languageType")
    List findGroupByLanguageType();
}
