瀏覽代碼

Merge branch 'dev' of chenweida/patient-co-management into dev

chenweida 7 年之前
父節點
當前提交
934a352f1e

+ 0 - 44
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/concern/ConcernDao.java

@ -1,44 +0,0 @@
package com.yihu.wlyy.repository.concern;
import com.yihu.wlyy.entity.concern.ConcernDo;
import com.yihu.wlyy.entity.concern.ConcernDo;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.patient.Patient;
import io.vavr.collection.List;
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.PagingAndSortingRepository;
/**
 * Created by Administrator on 2018/4/4 0004.
 */
public interface ConcernDao extends
        PagingAndSortingRepository<ConcernDo, Long>,
        JpaSpecificationExecutor<ConcernDo> {
    @Query(" from  ConcernDO where code=?1 ")
    ConcernDo findByCode(String concernCode);
    /**
     * 目前是1个团队一个医生的 所以先这么做
     *
     * @param patientCode
     * @return
     */
    @Query("select d from  ConcernDo c,Doctor d where c.concernDoctorCode=d.code and  c.status=1  and  c.patient=?1  ")
    List<Doctor> listDoctorsByPatientCode(String patientCode);
    /**
     * 目前是1个团队一个医生的 所以先这么做
     *
     * @param doctorCode
     * @return
     */
    @Query("select p from  ConcernDo c,Patient p where c.patient=p.code and  c.status=1  and  c.concernDoctorCode=?1")
    List<Patient> listPatientsByDoctorCode(String doctorCode);
    @Query(" from  ConcernDo c where  c.status=1  and  c.patient=?1  and  c.concernDoctorCode=?2")
    ConcernDo findByPatientAndDoctor(String patientCode, String doctorCode);
}

+ 0 - 155
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/concern/ConcernService.java

@ -1,155 +0,0 @@
package com.yihu.wlyy.service.app.concern;
import com.yihu.wlyy.entity.concern.ConcernDo;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.doctor.team.sign.DoctorTeam;
import com.yihu.wlyy.entity.doctor.team.sign.DoctorTeamMember;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.repository.concern.ConcernDao;
import com.yihu.wlyy.repository.doctor.DoctorDao;
import com.yihu.wlyy.repository.doctor.DoctorTeamDao;
import com.yihu.wlyy.repository.doctor.DoctorTeamMemberDao;
import com.yihu.wlyy.repository.patient.PatientDao;
import com.yihu.wlyy.service.BaseService;
import io.vavr.collection.List;
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.Date;
/**
 * Created by Administrator on 2018/4/4 0004.
 */
@Service
public class ConcernService extends BaseService {
    @Autowired
    private ConcernDao concernDao;
    @Autowired
    private PatientDao patientDao;
    @Autowired
    private DoctorDao doctorDao;
    @Autowired
    private DoctorTeamDao doctorTeamDao;
    @Autowired
    private DoctorTeamMemberDao doctorTeamDoctorDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    /**
     * 新增患者关注医生
     *
     * @param patientCode
     * @param doctorCode
     * @param concernSource 关注方式: 1扫描二维码 2页面跳转 前端传
     * @return
     */
    @Transactional
    public boolean addConcern(
            String patientCode, String doctorCode, Integer concernSource) {
        Patient patient = patientDao.findByCode(patientCode);
        Doctor doctor = doctorDao.findByCode(doctorCode);
        //新增关注
        ConcernDo concern = new ConcernDo();
        //新增关注的服务团队
        //建立团队
        DoctorTeam doctorTeam = new DoctorTeam();
        String doctorTeamCode = getCode();
        doctorTeam.setName("签约团队患者:" + patient.getName());
        doctorTeam.setCode(doctorTeamCode);
        doctorTeam.setCzrq(new Date());
        doctorTeam.setSignType("2");
        doctorTeam.setDel("1");
        doctorTeamDao.save(doctorTeam);
        concern.setTeamCode(doctorTeamCode);
        //添加团队成员
        DoctorTeamMember wlyyDoctorTeamDoctor = new DoctorTeamMember();
        wlyyDoctorTeamDoctor.setTeam(doctorTeamCode);
        wlyyDoctorTeamDoctor.setMemberCode(doctor.getCode());
        wlyyDoctorTeamDoctor.setName(doctor.getName());
        wlyyDoctorTeamDoctor.setDel("1");
        wlyyDoctorTeamDoctor.setType(1);
        wlyyDoctorTeamDoctor.setCode(getCode());
        wlyyDoctorTeamDoctor.setCzrq(new Date());
        doctorTeamDoctorDao.save(wlyyDoctorTeamDoctor);
        //保存关注记录
        concern.setCode(getCode());
        concern.setName(patient.getName());
        concern.setConcernDoctorCode(doctor.getCode());
        concern.setConcernDoctorName(doctor.getName());
        concern.setCreateTime(new Date());
        concern.setIdcard(patient.getIdcard());
        concern.setMobile(patient.getMobile());
        concern.setSsc(patient.getSsc());
        concern.setOpenid(patient.getOpenid());
        concern.setPatient(patient.getCode());
        concern.setStatus(1);
        concern.setConcernSource(concernSource);
        concernDao.save(concern);
        return true;
    }
    /**
     * 删除患者关注医生
     *
     * @param concernCode 关注code
     * @return
     */
    @Transactional
    public boolean deleteConcern(String concernCode) {
        ConcernDo concern = concernDao.findByCode(concernCode);
        //删除关注
        concern.setStatus(-1);
        //删除团队
        doctorTeamDao.deleteTeam(concern.getTeamCode());
        //删除团队成员
        doctorTeamDoctorDao.deleteMember(concern.getTeamCode());
        return true;
    }
    /**
     * 删除患者关注医生
     *
     * @param patientCode 患者code
     * @param doctorCode
     */
    @Transactional
    public void deleteConcern(String patientCode, String doctorCode) {
        ConcernDo concern = concernDao.findByPatientAndDoctor(patientCode, doctorCode);
        //删除关注
        concern.setStatus(-1);
        //删除团队
        doctorTeamDao.deleteTeam(concern.getTeamCode());
        //删除团队成员
        doctorTeamDoctorDao.deleteMember(concern.getTeamCode());
    }
    /**
     * 获取患者关注医生
     *
     * @param patientCode
     * @return
     */
    public List<Doctor> listDoctorsByPatientCode(String patientCode) {
        List<Doctor> doctors = concernDao.listDoctorsByPatientCode(patientCode);
        return doctors;
    }
    /**
     * 获取患者关注医生
     *
     * @param doctorCode
     * @return
     */
    public List<Patient> listPatientsByDoctorCode(String doctorCode) {
        List<Patient> patients = concernDao.listPatientsByDoctorCode(doctorCode);
        return patients;
    }
}