|
@ -0,0 +1,56 @@
|
|
|
package com.yihu.jw.care.dao.order;
|
|
|
|
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
|
|
|
import com.yihu.jw.entity.base.team.BaseTeamMemberDO;
|
|
|
import org.springframework.data.jpa.repository.JpaRepository;
|
|
|
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
|
|
import org.springframework.data.jpa.repository.Modifying;
|
|
|
import org.springframework.data.jpa.repository.Query;
|
|
|
import org.springframework.data.repository.query.Param;
|
|
|
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.Set;
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 团队成员 数据库访问层
|
|
|
*/
|
|
|
public interface BaseTeamMemberDao extends JpaRepository<BaseTeamMemberDO, String>, JpaSpecificationExecutor<BaseTeamMemberDO> {
|
|
|
|
|
|
@Query("select doc.name as name,doc.idcard as idcard ,doc.id as doctorCode from BaseDoctorDO doc where doc.id in (select team.doctorCode from BaseTeamMemberDO team where team.teamCode = ?1)")
|
|
|
List<Map<String,Object>> getTeamMemberList(String teamCode);
|
|
|
|
|
|
@Query("select id from BaseTeamMemberDO where teamCode = ?1")
|
|
|
Set<Object> findIdListByTeamCode(String teamCode);
|
|
|
|
|
|
List<BaseTeamMemberDO> findByTeamCode(String teamCode);
|
|
|
|
|
|
@Query("SELECT case when count(A) > 0 then true else false END FROM BaseTeamMemberDO A WHERE A.teamCode = :teamCode " +
|
|
|
"AND A.doctorCode = :doctorCode AND A.del = '1'")
|
|
|
Boolean isMemberExist(@Param(value = "teamCode") String teamCode, @Param(value = "doctorCode") String doctorCode);
|
|
|
|
|
|
@Modifying
|
|
|
@Query("update BaseTeamMemberDO t SET t.del = '0' where t.teamCode = :teamCode")
|
|
|
void deleteByTeamCode(@Param("teamCode") String teamCode);
|
|
|
|
|
|
BaseTeamMemberDO findByTeamCodeAndDoctorCode(String teamCode, String doctorCode);
|
|
|
|
|
|
BaseTeamMemberDO findByTeamCodeAndDoctorCodeAndDel(String teamCode, String doctorCode,String del);
|
|
|
|
|
|
@Modifying
|
|
|
@Query("update BaseTeamMemberDO t SET t.del = '0' where t.id = :id")
|
|
|
void deleteById(@Param("id") String id);
|
|
|
|
|
|
@Query("SELECT d FROM BaseTeamMemberDO m, BaseTeamDO t, BaseDoctorDO d WHERE t.id = :teamCode AND t.id = m.teamCode " +
|
|
|
"AND m.doctorCode = d.id AND t.del = '1' AND m.del = '1' ")
|
|
|
List<BaseDoctorDO> findAllMembers(@Param(value = "teamCode") String teamCode);
|
|
|
|
|
|
@Query("SELECT d FROM BaseTeamMemberDO m, BaseTeamDO t, BaseDoctorDO d WHERE t.id = :teamCode AND t.id = m.teamCode " +
|
|
|
"AND m.doctorCode = d.id And d.level=:doctorLevel AND t.del = '1' AND m.del = '1' ")
|
|
|
List<BaseDoctorDO> findAllMembersByLevel(@Param(value = "teamCode") String teamCode,@Param(value = "doctorLevel") Integer doctorLevel);
|
|
|
|
|
|
@Query("SELECT count(1) FROM BaseTeamMemberDO m, BaseTeamDO t, BaseDoctorDO d WHERE t.id = :teamCode AND t.id = m.teamCode " +
|
|
|
"AND m.doctorCode = d.id AND t.del = '1' AND m.del = '1' ")
|
|
|
Integer findMemCount(@Param(value = "teamCode") String teamCode);
|
|
|
}
|