Explorar o código

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

chenweida %!s(int64=8) %!d(string=hai) anos
pai
achega
25e72a31dc

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

@ -9,6 +9,7 @@ import java.util.List;
import com.yihu.wlyy.entity.doctor.team.sign.DoctorTeamMember;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
@ -150,4 +151,5 @@ public interface DoctorDao extends PagingAndSortingRepository<Doctor, Long>, Jpa
    @Query("select d from Doctor d where d.del = 1 and d.password is null")
    List<Doctor> findAllNoPasswordDoctors();
}

+ 29 - 31
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/account/DoctorInfoService.java

@ -307,36 +307,33 @@ public class DoctorInfoService extends BaseService {
     * 根据医院信息获取医生列表
     *
     * @param query    查询条件 :医生名称
     * @param id
     * @param page
     * @param hospital 医院标识
     *                 页数
     * @return
     */
    @Transactional
    public Page<Doctor> getDoctorListByHospital(String query, String hospital,
                                                long id, int pageSize) {
        // 排序
        Sort sort = new Sort(Direction.DESC, "evaluateScore","id");
        // 分页信息
        PageRequest pageRequest = new PageRequest(0, pageSize, sort);
        // 查询全部
        Map<String, SearchFilter> filters = new HashMap<String, SearchFilter>();
        if (StringUtils.isNotEmpty(query)) {
            filters.put("name", new SearchFilter("name", Operator.LIKE, query));
        }
        if (StringUtils.isNotEmpty(hospital)) {
            hospital = hospital.substring(0, 8);
            filters.put("hospital", new SearchFilter("hospital", Operator.LIKE,
                    hospital));
        }
        if (id > 0) {
            filters.put("id", new SearchFilter("id", Operator.LT, id));
        }
        filters.put("level", new SearchFilter("level", Operator.EQ, 2));
        Specification<Doctor> spec = DynamicSpecifications.bySearchFilter(
                filters.values(), Doctor.class);
        return doctorDao.findAll(spec, pageRequest);
    }
//    @Transactional
//    public Page<Doctor> getDoctorListByHospital(String query, String hospital,
//                                                int page, int pageSize) {
//        page = page <= 0 ? 0 : page - 1;
//        // 排序
//        Sort sort = new Sort(Direction.DESC, "evaluateScore","id");
//        // 分页信息
//        PageRequest pageRequest = new PageRequest(page, pageSize);
//        // 查询全部
//        Map<String, SearchFilter> filters = new HashMap<String, SearchFilter>();
//        if (StringUtils.isNotEmpty(query)) {
//            query="%"+query+"%";
//        }else{
//            query="%";
//        }
//        if (StringUtils.isNotEmpty(hospital)) {
//            hospital = "%"+hospital.substring(0, 8)+"%";
//        }
//
//        filters.put("level", new SearchFilter("level", Operator.EQ, 2));
//        return doctorDao.getDoctorListByHospital(query,hospital,2, pageRequest);
//    }
    @Transactional
    public List<Doctor> getDoctorCombobxByHospital(String type, String hospital) {
@ -358,7 +355,7 @@ public class DoctorInfoService extends BaseService {
    }
    @Transactional
    public Page<Doctor> getDoctorListByHospital(String name, String paitentCode, Integer page, Integer pageSize) {
    public Page<Doctor> getDoctorListByHospital(String name, String hospital, Integer page, Integer pageSize,Integer level) {
        if (pageSize == null | pageSize <= 0) {
            pageSize = 10;
        }
@ -366,7 +363,7 @@ public class DoctorInfoService extends BaseService {
            page = 1;
        }
        // 排序
        Sort sort = new Sort(Sort.Direction.DESC, "name");
        Sort sort = new Sort(Sort.Direction.DESC, "evaluateScore");
        // 分页信息
        PageRequest pageRequest = new PageRequest(page - 1, pageSize, sort);
        // 查询全部
@ -374,9 +371,10 @@ public class DoctorInfoService extends BaseService {
        if (StringUtils.isNotEmpty(name)) {
            filters.put("name", new SearchFilter("name", SearchFilter.Operator.LIKE, name));
        }
        filters.put("status", new SearchFilter("status", SearchFilter.Operator.EQ, 1));
        filters.put("level", new SearchFilter("level", SearchFilter.Operator.EQ, 1));
        filters.put("iscertified", new SearchFilter("iscertified", SearchFilter.Operator.EQ, 1));
        filters.put("hospital", new SearchFilter("hospital", SearchFilter.Operator.EQ, hospital));
        filters.put("level", new SearchFilter("level", SearchFilter.Operator.EQ, level));
        Specification<Doctor> spec = DynamicSpecifications.bySearchFilter(filters.values(), Doctor.class);
        return doctorDao.findAll(spec, pageRequest);

+ 22 - 21
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/consult/EvaluateService.java

@ -153,27 +153,28 @@ public class EvaluateService extends BaseService {
			anonymousScore =anonymousScore.add(anonymousScore1.multiply(new BigDecimal("0.2")));
			anonymousScore =anonymousScore.add(anonymousScore2.multiply(new BigDecimal("0.25")));
			anonymousScore =anonymousScore.add(anonymousScore3.multiply(new BigDecimal("0.25")));
			int evaTimes = 0;
			if(evaluateTimesList.size()>0){
				evaTimes = evaluateTimesList.size();
			}else{
				evaTimes = 1;
			}
			jiaquan  = anonymousScore.divide(BigDecimal.valueOf(evaTimes),2,BigDecimal.ROUND_HALF_UP);//算的加权平均分
			//满意度=80+(加权平均分-80)/系数
			//咨询系数 咨询次数≤100次,对应系数为3;
			//100次<咨询次数≤1000次,对应系数为2;
			//咨询次数>1000次,对应系数为1。
			if (consultTimes <= 100) {  //咨询系数 咨询次数≤100次,对应系数为3;
				//100次<咨询次数≤1000次,对应系数为2;
				//咨询次数>1000次,对应系数为1。
				jiaquan = (jiaquan.subtract(BigDecimal.valueOf(80L))).divide(BigDecimal.valueOf(3L),2,BigDecimal.ROUND_HALF_UP);
			} else if (consultTimes > 100 && consultTimes <= 1000) {
				jiaquan = (jiaquan.subtract(BigDecimal.valueOf(80L))).divide(BigDecimal.valueOf(2L),2,BigDecimal.ROUND_HALF_UP);
			} else {
				jiaquan = (jiaquan.subtract(BigDecimal.valueOf(80L))).divide(BigDecimal.valueOf(1L),2,BigDecimal.ROUND_HALF_UP);
			}
			score = jiaquan.add(BigDecimal.valueOf(80L)).setScale(1, BigDecimal.ROUND_HALF_UP);
//			int evaTimes = 0;
//			if(evaluateTimesList.size()>0){
//				evaTimes = evaluateTimesList.size();
//			}else{
//				evaTimes = 1;
//			}
//			jiaquan  = anonymousScore.divide(BigDecimal.valueOf(evaTimes),2,BigDecimal.ROUND_HALF_UP);//算的加权平均分
//			//满意度=80+(加权平均分-80)/系数
//			//咨询系数 咨询次数≤100次,对应系数为3;
//			//100次<咨询次数≤1000次,对应系数为2;
//			//咨询次数>1000次,对应系数为1。
//			if (consultTimes <= 100) {  //咨询系数 咨询次数≤100次,对应系数为3;
//				//100次<咨询次数≤1000次,对应系数为2;
//				//咨询次数>1000次,对应系数为1。
//				jiaquan = (jiaquan.subtract(BigDecimal.valueOf(80L))).divide(BigDecimal.valueOf(3L),2,BigDecimal.ROUND_HALF_UP);
//			} else if (consultTimes > 100 && consultTimes <= 1000) {
//				jiaquan = (jiaquan.subtract(BigDecimal.valueOf(80L))).divide(BigDecimal.valueOf(2L),2,BigDecimal.ROUND_HALF_UP);
//			} else {
//				jiaquan = (jiaquan.subtract(BigDecimal.valueOf(80L))).divide(BigDecimal.valueOf(1L),2,BigDecimal.ROUND_HALF_UP);
//			}
//			score = jiaquan.add(BigDecimal.valueOf(80L)).setScale(1, BigDecimal.ROUND_HALF_UP);
			score=anonymousScore;
			EvaluateScore evaluateScore = new EvaluateScore();
			evaluateScore.setConsult(consult);
			evaluateScore.setDoctor(doctor);

+ 1 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/sign/FamilyContractService.java

@ -1408,7 +1408,7 @@ public class FamilyContractService extends BaseService {
                    String first = (String) json.get("first");
                    json.remove("first");
                    Patient p = patientDao.findByCode(patient);
                    json.put("first", weiXinOpenIdUtils.getTitleMes(p, j.getInt("relation"), member.getName()));
                    json.put("first", weiXinOpenIdUtils.getTitleMes(p, j.getInt("relation"), p.getName()));
                    PushMsgTask.getInstance().putWxMsg(access_token, 5, member.getOpenid(), member.getName(), json);
                }
            }

+ 1 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/account/WechatController.java

@ -579,7 +579,7 @@ public class WechatController extends WeixinBaseController {
                map.put("noncestr", noncestr);
                map.put("timestamp", timestamp);
                map.put("signature", signature);
                return write(200, "获取签名成功", "data", "map");
                return write(200, "获取签名成功", "data", map);
            } else
                return error(-1, "获取签名失败");

+ 4 - 4
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/account/DoctorController.java

@ -992,7 +992,7 @@ public class DoctorController extends BaseController {
     *
     * @param hospital 医院标识
     * @param query    查询条件 :医生名称
     * @param id
     * @param page
     * @param pageSize 页数
     * @return
     */
@ -1001,11 +1001,11 @@ public class DoctorController extends BaseController {
    public String getDoctorByHospital(
            @RequestParam(required = true) String hospital,
            @RequestParam(required = false) String query,
            @RequestParam(required = true) long id,
            @RequestParam(required = true) Integer page,
            @RequestParam(required = true) Integer pageSize) {
        try {
            Page<Doctor> doctorList = doctorInfoService.getDoctorListByHospital(query, hospital, id, pageSize);
            Page<Doctor> doctorList = doctorInfoService.getDoctorListByHospital(query, hospital, page, pageSize,2);
            JSONArray array = new JSONArray();
            if (doctorList != null) {
                for (Doctor doctor : doctorList) {
@ -1174,7 +1174,7 @@ public class DoctorController extends BaseController {
            @RequestParam(required = true) Integer pageSize) {
        try {
            Page<Doctor> doctorList = doctorInfoService.getDoctorListByHospital(name, paitentCode, page, pageSize);
            Page<Doctor> doctorList = doctorInfoService.getDoctorListByHospital(name, null, page, pageSize,1);
            JSONArray array = new JSONArray();
            if (doctorList != null) {
                for (Doctor doctor : doctorList) {

+ 1 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/health/DoctorHealthEduArticleController.java

@ -459,7 +459,7 @@ public class DoctorHealthEduArticleController extends WeixinBaseController {
                        JSONObject data = (JSONObject) map.get("json");
                        String first = (String)data.get("first");
                        data.remove("first");
                        data.put("first",weiXinOpenIdUtils.getTitleMes(p,j.isNull("relation")?1:j.getInt("relation"),member.getName()));
                        data.put("first",weiXinOpenIdUtils.getTitleMes(p,j.isNull("relation")?1:j.getInt("relation"),p.getName()));
                        if(StringUtils.isNotBlank(member.getOpenid())){
                            PushMsgTask.getInstance().putWxMsg(getAccessToken(), 9, member.getOpenid(), member.getName(), data);
                        }

+ 3 - 3
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/hosptail/HospitalController.java

@ -157,7 +157,7 @@ public class HospitalController extends BaseController {
     * 根据医院标识获取医生信息
     * @param hospital 医院标识
     * @param query 查询条件 :医生名称
     * @param id
     * @param page
     * @param pageSize 页数
     * @return
     */
@ -166,11 +166,11 @@ public class HospitalController extends BaseController {
    public String getDoctorByHospital(
            @RequestParam(required = false) String hospital,
            @RequestParam(required = false) String query,
            @RequestParam(required = true) long id,
            @RequestParam(required = true) Integer page,
            @RequestParam(required = true) Integer pageSize) {
        try {
            Page<Doctor> doctorList = doctorInfoService.getDoctorListByHospital(query, hospital, id, pageSize);
            Page<Doctor> doctorList = doctorInfoService.getDoctorListByHospital(query, hospital, page, pageSize,2);
            JSONArray array = new JSONArray();
            if (doctorList != null) {
                for (Doctor doctor : doctorList) {

+ 3 - 3
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/hosptail/HospitalWithoutFilterController.java

@ -28,7 +28,7 @@ public class HospitalWithoutFilterController extends BaseController {
     * 根据医院标识获取医生信息
     * @param hospital 医院标识
     * @param query 查询条件 :医生名称
     * @param id
     * @param page
     * @param pageSize 页数
     * @return
     */
@ -37,11 +37,11 @@ public class HospitalWithoutFilterController extends BaseController {
    public String getDoctorByHospital(
            @RequestParam(required = false) String hospital,
            @RequestParam(required = false) String query,
            @RequestParam(required = true) long id,
            @RequestParam(required = true) Integer page,
            @RequestParam(required = true) Integer pageSize) {
        try {
            Page<Doctor> doctorList = doctorInfoService.getDoctorListByHospital(query, hospital, id, pageSize);
            Page<Doctor> doctorList = doctorInfoService.getDoctorListByHospital(query, hospital, page, pageSize,2);
            JSONArray array = new JSONArray();
            if (doctorList != null) {
                for (Doctor doctor : doctorList) {