trick9191 7 yıl önce
ebeveyn
işleme
e3462f145a

+ 10 - 0
common/common-entity/src/main/java/com/yihu/wlyy/entity/doctor/team/admin/AdminTeamMember.java

@ -20,6 +20,7 @@ public class AdminTeamMember extends IdEntity {
    private String doctorCode;
    private Date joinTime;
    private boolean available;
    private String qrcode;
    public long getTeamId() {
        return teamId;
@ -57,4 +58,13 @@ public class AdminTeamMember extends IdEntity {
    public void setAvailable(boolean available) {
        this.available = available;
    }
    @Column(name = "qrcode")
    public String getQrcode() {
        return qrcode;
    }
    public void setQrcode(String qrcode) {
        this.qrcode = qrcode;
    }
}

+ 2 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/doctor/DoctorAdminTeamMemberDao.java

@ -65,4 +65,6 @@ public interface DoctorAdminTeamMemberDao extends
    @Query("SELECT d FROM AdminTeamMember m, AdminTeam t, Doctor d WHERE t.id = ?1 AND t.id = m.teamId " +
            "AND m.doctorCode = d.code AND t.available = true AND m.available = true AND d.level=3 ORDER BY d.level")
    List<Doctor> findJGSMembers(long teamId);
    AdminTeamMember findByTeamIdAndDoctorCodeAndAvailable(Long teamId,String doctorCode,Boolean Available);
}

+ 4 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/team/AdminTeamService.java

@ -63,6 +63,10 @@ public class AdminTeamService extends BaseService {
    @Autowired
    JdbcTemplate jdbcTemplate;
    public AdminTeamMember findByTeamIdAndDoctorCode(Long teamCode,String doctor){
      return  memberDao.findByTeamIdAndDoctorCodeAndAvailable(teamCode,doctor,true);
    }
    /**
     * 根据医生code返回所有团队的医生
     * (pc端im使用)

+ 9 - 4
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/common/QrcodeService.java

@ -1,11 +1,13 @@
package com.yihu.wlyy.service.common;
import com.yihu.wlyy.entity.doctor.team.admin.AdminTeam;
import com.yihu.wlyy.entity.doctor.team.admin.AdminTeamMember;
import com.yihu.wlyy.entity.organization.Hospital;
import com.yihu.wlyy.entity.address.Town;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.repository.address.TownDao;
import com.yihu.wlyy.repository.doctor.DoctorAdminTeamDao;
import com.yihu.wlyy.repository.doctor.DoctorAdminTeamMemberDao;
import com.yihu.wlyy.repository.doctor.DoctorDao;
import com.yihu.wlyy.repository.organization.HospitalDao;
import com.yihu.wlyy.service.BaseService;
@ -44,6 +46,8 @@ public class QrcodeService extends BaseService {
    private String server_url;
    @Autowired
    private DoctorAdminTeamDao doctorAdminTeamDao;
    @Autowired
    private DoctorAdminTeamMemberDao memberDao;
    /**
     * 所有医生二维码生成
     *
@ -88,20 +92,21 @@ public class QrcodeService extends BaseService {
     * @return
     * @throws Exception
     */
    public boolean makeSpecialistQrcode(Doctor doc,Long teamCode, String token) throws Exception {
    public boolean makeSpecialistQrcode(AdminTeamMember doc, Long teamCode, String token) throws Exception {
        AdminTeam adminTeam = doctorAdminTeamDao.findOne(teamCode);
        Doctor d = doctorDao.findByCode(doc.getDoctorCode());
        if (doc != null&&adminTeam!=null) {
            // 二维码内容
            String content = "sp_disease_" + doc.getCode() +"_"+teamCode+ "_" + doc.getName();
            String content = "sp_disease_" + d.getCode() +"_"+teamCode+ "_" + d.getName();
            // 二维码图片文件名
            String fileName = doc.getMobile();
            String fileName = teamCode+"_"+d.getMobile();
            String path = QrcodeService.class.getResource("/").getPath().replace("/WEB-INF/classes/", "")
                    + File.separator + "qrcode";
            // 通过微信接口生成医生二维码
            makeQrcodeFromWeiXin(content, fileName.replaceAll("\r\n", ""), path, token);
            doc.setQrcode(fileName + ".png");
            doctorDao.save(doc);
            memberDao.save(doc);
            return true;
        } else {
            throw new Exception("找不到对应医生信息!");

+ 39 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/specialist/SpecialistService.java

@ -323,4 +323,43 @@ public class SpecialistService extends BaseService {
        }
        return null;
    }
    public List<Map<String,Object>> getSpecialistTeamList(String doctor){
        String sql="SELECT " +
                " t.id, " +
                " t.name, " +
                " r.disease_code AS diseaseCode, " +
                " r.disease_name AS diseaseName, " +
                " d.photo " +
                " FROM " +
                " wlyy_admin_team t " +
                " JOIN wlyy_admin_team_member m ON t.id = m.team_id " +
                " JOIN wlyy_team_disease_relation r ON t.id = r.team_code " +
                " JOIN wlyy_doctor d ON d.code = t.leader_code " +
                " WHERE " +
                " m.doctor_code = '"+doctor+"' " +
                " AND t.available ='1' " +
                " AND m.available ='1' " +
                " AND r.del ='1'";
        List<Map<String,Object>> rs = jdbcTemplate.queryForList(sql);
        if(rs!=null&&rs.size()>0){
            for(Map<String,Object> team : rs){
                Integer id = (Integer) team.get("id");
                String sqlMember = "SELECT " +
                        " d.name, " +
                        " d.code " +
                        " FROM " +
                        " wlyy_admin_team_member m " +
                        " JOIN wlyy_doctor d ON m.doctor_code = d.`code` " +
                        " WHERE " +
                        " m.team_id =" +id+
                        " AND m.available='1'";
                List<Map<String,Object>> list = jdbcTemplate.queryForList(sqlMember);
                team.put("doctors",list);
            }
            return rs;
        }
        return rs;
    }
}

+ 6 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/qrcode/QrCodeController.java

@ -1,6 +1,8 @@
package com.yihu.wlyy.web.common.qrcode;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.doctor.team.admin.AdminTeamMember;
import com.yihu.wlyy.service.app.team.AdminTeamService;
import com.yihu.wlyy.service.common.QrcodeService;
import com.yihu.wlyy.service.common.account.DoctorService;
import com.yihu.wlyy.web.WeixinBaseController;
@ -36,6 +38,8 @@ public class QrCodeController extends WeixinBaseController {
    private QrcodeService qrcodeService;
    @Autowired
    private DoctorService doctorService;
    @Autowired
    private AdminTeamService adminTeamService;
    @RequestMapping(value = "/doctors",method = {RequestMethod.GET,RequestMethod.POST})
    @ResponseBody
@ -304,7 +308,7 @@ public class QrCodeController extends WeixinBaseController {
    /**
     * 下载某个医生的二维码
     * 下载专科医生团队二维码
     *
     * @param doctor
     * @param response
@ -315,7 +319,7 @@ public class QrCodeController extends WeixinBaseController {
                                        HttpServletResponse response) {
        try {
            //logger.info("------------------specialist_img:" + doctor);
            Doctor doc = doctorService.findDoctorByCode(doctor);
            AdminTeamMember doc = adminTeamService.findByTeamIdAndDoctorCode(teamCode,doctor);
            if (doc != null) {
                if (StringUtils.isEmpty(doc.getQrcode())) {

+ 11 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/specialist/SpecialistController.java

@ -199,4 +199,15 @@ public class SpecialistController extends BaseController {
            return error(-1, "请求失败");
        }
    }
    @RequestMapping(value = "getSpecialistTeamList", method = RequestMethod.GET)
    @ApiOperation(value = "获取专科医生所在团队信息团队")
    public String getSpecialistTeamList(@ApiParam(name = "doctor", value = "医生code") @RequestParam(required = true)String doctor) {
        try {
            return write(200, "获取成功", "data", specialistService.getSpecialistTeamList(doctor));
        } catch (Exception e) {
            error(e);
            return error(-1, "请求失败");
        }
    }
}