浏览代码

三院需求

LAPTOP-KB9HII50\70708 1 年之前
父节点
当前提交
ade78bdd18

+ 11 - 0
business/base-service/src/main/java/com/yihu/jw/team/BaseTeamRelationDao.java

@ -3,9 +3,20 @@ package com.yihu.jw.team;
import com.yihu.jw.entity.base.team.BaseTeamRelationDO;
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 java.util.List;
/**
 * Created by yeshijie on 2023/4/24.
 */
public interface BaseTeamRelationDao extends JpaRepository<BaseTeamRelationDO, String>, JpaSpecificationExecutor<BaseTeamRelationDO> {
    @Query(value = "select t from BaseTeamRelationDO t where t.teamId=?1 and t.adminTeamId=?2")
    List<BaseTeamRelationDO> findAdminTeamById(String teamId, Integer adminTeamId);
    @Modifying
    @Query(value = "delete from BaseTeamRelationDO  where teamId=?1 and adminTeamId=?2")
    void delTeam(String teamId,Integer adminTeamId);
}

+ 23 - 18
business/base-service/src/main/java/com/yihu/jw/team/service/TeamService.java

@ -17,6 +17,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
@ -61,15 +62,23 @@ public class TeamService {
        if(teamDO.getCreateTime()==null){
            teamDO.setCreateTime(new Date());
        }
        if(StringUtils.isBlank(teamDO.getId())){
            teamDO.setDel("1");
        }
        return teamDao.save(teamDO);
    }
    //按id获取专科团队信息
    public BaseTeamDO findTeamById(String id){
        return teamDao.findById(id).orElse(null);
    }
    //获取专科团队列表
    public Envelop getTeamList(Integer adminTeamId,String teamName, String leadName, Integer page, Integer pageSize, String hospital,String recommend, String recommendDoctorName) {
    public Envelop getTeamList(Integer adminTeamId,String teamName, String dept, Integer page, Integer pageSize, String hospital,String recommend, String recommendDoctorName) {
        String countSql = " select count(t.id) ";
        String sql = "SELECT t.id,t.`name`,t.org_code orgCode,t.org_name orgName,t.leader_code leaderCode,d.`name` leaderName," +
                "DATE_FORMAT(t.create_time,'%Y-%m-%d %H:%i:%S') createTime,t.intro,t.recommend ";
        String filter = " from base_team t LEFT JOIN base_doctor d on t.leader_code = d.id ";
        String sql = "SELECT t.id,t.`name`,t.org_code orgCode,t.org_name orgName,t.dept,t.dept_name deptName,t.recommend_doctor recommendDoctor," +
                "t.recommend_doctor_name recommendDoctorName,DATE_FORMAT(t.create_time,'%Y-%m-%d %H:%i:%S') createTime,t.intro,t.recommend ";
        String filter = " from base_team t ";
        if(adminTeamId!=null){
            filter += " inner join base_team_relation r on r.team_id=t.id and r.admin_team_id="+adminTeamId+" ";
        }
@ -77,6 +86,9 @@ public class TeamService {
        if(StringUtils.isNotEmpty(hospital)){
            filter += " and t.org_code = '"+hospital+"' ";
        }
        if(StringUtils.isNotEmpty(dept)){
            filter += " and t.dept = '"+dept+"' ";
        }
        if(StringUtils.isNotEmpty(recommend)){
            filter += " and t.recommend = '"+recommend+"' ";
        }
@ -86,9 +98,6 @@ public class TeamService {
        if(StringUtils.isNotEmpty(recommendDoctorName)){
            filter += " and t.recommend_doctor_name like '%"+recommendDoctorName+"%' ";
        }
        if(StringUtils.isNotEmpty(leadName)){
            filter += " and d.`name` like '%"+leadName+"%' ";
        }
        if (pageSize==null||pageSize <= 0) {
            pageSize = 10;
        }
@ -106,11 +115,11 @@ public class TeamService {
    //获取团队成员列表
    public Envelop getTeamMemberList(String teamId, String doctorName, Integer page, Integer pageSize, String mobile) {
        String countSql = " select count(t.id) ";
        String sql = "SELECT d.code,d.`name`,d.idcard,d.job_title_name hospitalName,d.mobile,d.job_name jobName,d.level," +
        String sql = "SELECT d.id,d.`name`,d.idcard,d.job_title_name jobTitleName,d.mobile," +
                " DATE_FORMAT(t.create_time,'%Y-%m-%d %H:%i:%S') createTime ";
        String filter = " from base_team_member t,base_doctor d WHERE t.del ='1' and t.doctor_code = d.id";
        if(StringUtils.isNotEmpty(teamId)){
            filter += " and t.team_id = "+teamId+" ";
            filter += " and t.team_code = '"+teamId+"' ";
        }
        if(StringUtils.isNotEmpty(doctorName)){
            filter += " and d.`name` like '%"+doctorName+"%' ";
@ -204,15 +213,11 @@ public class TeamService {
        asynchService.saveIjkTeam(teamId,adminTeamIds);
    }
    public void delIjkTeam(String id){
        BaseTeamRelationDO relationDO = teamRelationDao.findById(id).orElse(null);
        if(relationDO!=null){
            String teamId = relationDO.getTeamId();
            Integer adminTeamId = relationDO.getAdminTeamId();
            teamRelationDao.delete(relationDO);
            //同步i健康
            asynchService.delIjkTeam(relationDO.getTeamId(),adminTeamId);
        }
    @Transactional
    public void delIjkTeam(String teamId,Integer adminTeamId){
        teamRelationDao.delTeam(teamId,adminTeamId);
        //同步i健康
        asynchService.delIjkTeam(teamId,adminTeamId);
    }
}

+ 15 - 3
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/team/SpecialistTeamEndpoint.java

@ -88,7 +88,7 @@ public class SpecialistTeamEndpoint extends EnvelopRestEndpoint {
    }
    @PostMapping(value = "doctorInfo")
    @GetMapping(value = "doctorInfo")
    @ApiOperation(value = "获取医生信息")
    public Envelop doctorInfo(@RequestParam(required = true) String id) {
        try {
@ -99,6 +99,17 @@ public class SpecialistTeamEndpoint extends EnvelopRestEndpoint {
        }
    }
    @GetMapping(value = "findTeamById")
    @ApiOperation(value = "按id获取专科团队信息")
    public Envelop findTeamById(@RequestParam(required = true) String id) {
        try {
            return ObjEnvelop.getSuccess("查询成功",teamService.findTeamById(id));
        }  catch (Exception e) {
            e.printStackTrace();
            return Envelop.getError("查询失败",-1);
        }
    }
    @PostMapping(value = "saveTeam")
    @ApiOperation(value = "保存团队")
    public Envelop saveTeam(@RequestParam(required = true) String jsonData) {
@ -137,9 +148,10 @@ public class SpecialistTeamEndpoint extends EnvelopRestEndpoint {
    @PostMapping(value = "delIjkTeam")
    @ApiOperation(value = "删除关联社区")
    public Envelop delIjkTeam(@RequestParam(required = true) String id) {
    public Envelop delIjkTeam(@RequestParam(required = true) String teamId,
                              @RequestParam(required = true) Integer adminTeamId)  {
        try {
            teamService.delIjkTeam(id);
            teamService.delIjkTeam(teamId,adminTeamId);
            return Envelop.getSuccess("删除成功");
        } catch (Exception e) {
            e.printStackTrace();