yeshijie 7 vuotta sitten
vanhempi
commit
0836661546

+ 38 - 14
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/common/account/DoctorService.java

@ -5,30 +5,22 @@
 *******************************************************************************/
package com.yihu.wlyy.service.common.account;
import com.yihu.wlyy.entity.organization.Hospital;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.security.Token;
import com.yihu.wlyy.repository.doctor.DoctorDao;
import com.yihu.wlyy.util.EncodesUtil;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springside.modules.persistence.DynamicSpecifications;
import org.springside.modules.persistence.SearchFilter;
import org.springside.modules.utils.Clock;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.security.Token;
import com.yihu.wlyy.repository.doctor.DoctorDao;
import com.yihu.wlyy.util.EncodesUtil;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
/**
 * 医生基本信息类.
@ -106,6 +98,38 @@ public class DoctorService extends TokenService {
        }
    }
    /**
     * 分页查找医生列表
     * @param hospitalCode
     * @param name
     * @param page
     * @param pagesize
     * @return
     */
    public List<Doctor> findDoctorLists(String hospitalCode,String name,String dept, Integer page, Integer pagesize) {
        String sql = "select * from wlyy_doctor where del=1 and status=1   ";
        List<Object> args = new ArrayList<>();
        if (!org.springframework.util.StringUtils.isEmpty(hospitalCode)) {
            sql += " and hospital = ? ";
            args.add(hospitalCode);
        }
        if (!org.springframework.util.StringUtils.isEmpty(name)) {
            sql += " and (name like ? or dept_name like ?)";
            args.add("%"+name+"%");
            args.add("%"+name+"%");
        }
        if (!org.springframework.util.StringUtils.isEmpty(dept)) {
            sql += " and dept = ? ";
            args.add(dept);
        }
        sql += " limit " + (page * pagesize) + "," + pagesize;
        List<Doctor> doctorList = jdbcTemplate.query(sql, args.toArray(), new BeanPropertyRowMapper(Doctor.class));
        return doctorList;
    }
    public Doctor findbyIdCard(String idcard) {
        return doctorDao.findbyIdCard(idcard);
    }

+ 94 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/consult/ConsultController.java

@ -6,6 +6,7 @@ import com.yihu.wlyy.entity.consult.ConsultTeam;
import com.yihu.wlyy.entity.consult.ConsultTeamLog;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.message.MessageNoticeSetting;
import com.yihu.wlyy.entity.organization.HospitalDept;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.entity.patient.prescription.Prescription;
import com.yihu.wlyy.logs.BusinessLogs;
@ -17,6 +18,7 @@ import com.yihu.wlyy.repository.patient.SignFamilyDao;
import com.yihu.wlyy.repository.prescription.PrescriptionDao;
import com.yihu.wlyy.service.app.consult.ConsultTeamService;
import com.yihu.wlyy.service.app.consult.DoctorCommentService;
import com.yihu.wlyy.service.app.hospital.HospitalDeptService;
import com.yihu.wlyy.service.app.message.MessageService;
import com.yihu.wlyy.service.app.prescription.PrescriptionDiagnosisService;
import com.yihu.wlyy.service.app.scheduling.DoctorWorkTimeService;
@ -107,6 +109,10 @@ public class ConsultController extends WeixinBaseController {
    private JdbcTemplate jdbcTemplate;
    @Value("${im.data_base_name}")
    private String im;
    @Autowired
    private HospitalDeptService deptService;
    @Value("${wlyy.hospital}")
    private String defaultHospital;
    /**
     * 患者咨询记录查询
@ -525,6 +531,94 @@ public class ConsultController extends WeixinBaseController {
        }
    }
    /**
     * 查询某个医院存在医生科室列表
     *
     * @param hospital 医院
     * @param key      科室名字搜索
     * @param page     第几页
     * @param pagesize 页大小
     * @return
     */
    @ApiOperation("查询某个医院存在医生科室列表")
    @RequestMapping(value = "/dept_list", method = RequestMethod.GET)
    @ResponseBody
    public String deptList(@RequestParam(required = false) String hospital,
                           @RequestParam(required = false) String key,
                           @RequestParam(required = true) int page,
                           @RequestParam(required = true) int pagesize) {
        try {
            if (StringUtils.isEmpty(hospital)) {
                hospital = defaultHospital;
            }
            page = page >= 1 ? page - 1 : 0;
            List<HospitalDept> dept = deptService.getHospitalDept(hospital, key, page, pagesize);
            return write(200, "查询成功", "data", dept);
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1, "查询失败");
        }
    }
    /**
     * 医生列表
     *
     * @return
     */
    @RequestMapping(value = "doctorList")
    @ResponseBody
    @ApiOperation("医生列表")
    public String doctorList(
            @ApiParam(name = "hospitalCode", value = "医院code", defaultValue = "350200")
            @RequestParam(value = "hospitalCode", required = false) String hospitalCode,
            @ApiParam(name = "dept", value = "科室代码", defaultValue = "1")
            @RequestParam(value = "dept", required = false) String dept,
            @ApiParam(name = "name", value = "医生姓名或科室名称", defaultValue = "1")
            @RequestParam(value = "name", required = false) String name,
            @ApiParam(name = "page", value = "第几页", defaultValue = "")
            @RequestParam(value = "page", required = false) Integer page,
            @ApiParam(name = "pagesize", value = "每页记录数", defaultValue = "")
            @RequestParam(value = "pagesize", required = false) Integer pagesize) {
        try {
            JSONArray array = new JSONArray();
            List<Doctor> list = doctorService.findDoctorLists(hospitalCode,name,dept, page, pagesize);
            if (list != null) {
                for (Doctor doctor : list) {
                    JSONObject json = new JSONObject();
                    json.put("id", doctor.getId());
                    // 医生标识
                    json.put("code", doctor.getCode());
                    // 医生性别
                    json.put("sex", doctor.getSex());
                    // 医生姓名
                    json.put("name", doctor.getName());
                    // 所在医院名称
                    json.put("hospital", doctor.getHospital());
                    // 所在医院名称
                    json.put("hospital_name", doctor.getHospitalName());
                    // 科室名称
                    json.put("dept_name", (doctor.getDeptName() == null ||
                            StringUtils.isEmpty(doctor.getDeptName().toString())) ? " " : doctor.getDeptName());
                    // 职称名称
                    json.put("job_name", (doctor.getJobName() == null ||
                            StringUtils.isEmpty(doctor.getJobName().toString())) ? " " : doctor.getJobName());
                    // 头像
                    json.put("photo", doctor.getPhoto());
                    // 简介
                    json.put("introduce", doctor.getIntroduce());
                    // 专长
                    json.put("expertise", doctor.getExpertise());
                    array.put(json);
                }
            }
            return write(200, "获取医院医生列表成功!", "list", array);
        } catch (Exception e) {
            error(e);
            return error(-1, "获取医院医生列表失败!");
        }
    }
    /**
     * 名医列表
     *

+ 2 - 0
patient-co/patient-co-wlyy/src/main/resources/application-dev.yml

@ -28,6 +28,8 @@ doctorAssistant:
  api: http://192.168.131.113:8080/
  target_url: home/html/unreadMessageStatistic.html
wlyy:
  hospital: 3502030400 # 默认医院code
im:
  im_list_get: http://172.19.103.88:3000/

+ 3 - 0
patient-co/patient-co-wlyy/src/main/resources/application-devtest.yml

@ -33,6 +33,9 @@ im:
  im_list_get: http://172.19.103.88:3000/
  data_base_name: im_new
wlyy:
  hospital: 3502030400 # 默认医院code
#物联网配置
iot:
#  url: http://192.168.131.24:8088/svr-iot/

+ 2 - 0
patient-co/patient-co-wlyy/src/main/resources/application-prod.yml

@ -27,6 +27,8 @@ doctorAssistant:
  api: http://www.xmtyw.cn/assistant/
  target_url: home/html/unreadMessageStatistic.html
wlyy:
  hospital: 3502030400 # 默认医院code
im:
  im_list_get: http://27.155.101.77:3000/

+ 3 - 0
patient-co/patient-co-wlyy/src/main/resources/application-test.yml

@ -24,6 +24,9 @@ doctorAssistant:
  api: http://172.19.103.88:443/assistant/
  target_url: home/html/unreadMessageStatistic.html
wlyy:
  hospital: 3502030400 # 默认医院code
im:
  im_list_get: http://172.19.103.88:3000/
  data_base_name: im_new