Browse Source

Merge branch 'dev' of wangzhinan/wlyy2.0 into dev

liuwenbin 6 years ago
parent
commit
f0c19a6752

+ 11 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/specialist/SpecialistEvaluateScoreDO.java

@ -33,6 +33,8 @@ public class SpecialistEvaluateScoreDO extends UuidIdentityEntityWithOperator im
    @Column(name = "score")
    private Double score;//评论得分
    @Column(name = "patient")
    private String patient;//居民code
    @Column(name = "saas_id")
    public String getSaasId() {
@ -78,4 +80,13 @@ public class SpecialistEvaluateScoreDO extends UuidIdentityEntityWithOperator im
    public void setScore(Double score) {
        this.score = score;
    }
    @Column(name = "patient")
    public String getPatient() {
        return patient;
    }
    public void setPatient(String patient) {
        this.patient = patient;
    }
}

+ 2 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/specialist/SpecialistMapping.java

@ -86,6 +86,7 @@ public class SpecialistMapping {
        public static final String planSchedule = "/planSchedule";
        public static final String planListByPatient = "/planListByPatient";
        public static final String patientCount = "/patientCount";
        public static final String selectByIds = "/selectByIds";
    }
    public static class serviceItem{
@ -106,5 +107,6 @@ public class SpecialistMapping {
        public static final String selectByHospital1 = "/selectByHospital1";
        public static final String importData1 = "/importData1";
        public static final String importData2 = "/importData2";
        public static final String selectByDoctor = "/selectByDoctor";
    }
}

+ 20 - 0
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/controller/SpecialistEvaluateController.java

@ -104,4 +104,24 @@ public class SpecialistEvaluateController extends EnvelopRestEndpoint {
            return MixEnvelop.getError(e.getMessage());
        }
    }
    /**
     * 医生获取评分
     *
     * @param doctor
     * @return
     */
    @PostMapping(value = SpecialistMapping.serviceItem.selectByDoctor)
    @ApiOperation(value = "医生获取评分")
    public MixEnvelop<JSONObject,JSONObject> selectByDoctor(@ApiParam(name = "doctor", value = "评价")
                                                    @RequestParam(value = "doctor")String doctor){
        try {
            return specialistEvaluateService.selectByDoctor(doctor);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return MixEnvelop.getError(e.getMessage());
        }
    }
}

+ 19 - 0
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/controller/rehabilitation/RehabilitationManageController.java

@ -372,4 +372,23 @@ public class RehabilitationManageController {
            return ObjEnvelop.getError(e.getMessage());
        }
    }
    /**
     * 查询康复服务项目
     * @param ids
     * @return
     */
    @PostMapping(value = SpecialistMapping.rehabilitation.selectByIds)
    @ApiOperation(value = "查询康复服务项目")
    public ObjEnvelop selectByIds( @ApiParam(name = "ids",value = "康复服务套餐明细表ids")
            @RequestParam(value = "ids",required = true)String ids){
        try {
            return rehabilitationManageService.selectByIds(ids);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return ObjEnvelop.getError(e.getMessage());
        }
    }
}

+ 218 - 3
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/service/SpecialistEvaluateService.java

@ -21,9 +21,7 @@ import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
/**
 * @author wangzhinan
@ -96,6 +94,7 @@ public class SpecialistEvaluateService extends EnvelopRestEndpoint {
            for (SpecialistEvaluateLabelDO specialistEvaluateLabelDO:specialistEvaluateLabelDOS){
                specialistEvaluateLabelDO.setSaasId("dev");
                specialistEvaluateLabelDO.setEvaluateType(1);
                specialistEvaluateLabelDO.setPatient(patientCode);
                specialistEvaluateLabelDao.save(specialistEvaluateLabelDO);
            }
        }
@ -195,5 +194,221 @@ public class SpecialistEvaluateService extends EnvelopRestEndpoint {
        return envelop;
    }
    public MixEnvelop<JSONObject,JSONObject> selectByDoctor(String doctor){
        MixEnvelop<JSONObject,JSONObject> envelop = new MixEnvelop<>();
        JSONObject object = new JSONObject();
        String sql = "select AVG(score) AS total from wlyy_specialist_evaluate_score where doctor = '"+doctor+"'";
        String sql1 = "select AVG(score) AS total from wlyy_specialist_evaluate where doctor = '"+doctor+"' AND evaluate_type = 1";
        String sql2 =  "select AVG(score) AS total from wlyy_specialist_evaluate where doctor = '"+doctor+"' AND evaluate_type = 2";
        String sql3 =  "select AVG(score) AS total from wlyy_specialist_evaluate where doctor = '"+doctor+"' AND evaluate_type = 3";
        String sql4 = "select * from wlyy_specialist_evaluate where doctor = '"+doctor+"'";
        List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sql);
        Double totalScore = 0.0;
        if(rstotal!=null&&rstotal.size()>0){
            Object object1 = rstotal.get(0).get("total");
            if (object1!=null){
                totalScore = Double.parseDouble(object1.toString());
            }
        }
        List<Map<String,Object>> rstotal1 = jdbcTemplate.queryForList(sql1);
        Double totalScore1 = 0.0;
        if(rstotal1!=null&&rstotal1.size()>0){
            Object object1 = rstotal1.get(0).get("total");
            if (object1!=null){
                totalScore1 = Double.parseDouble(object1.toString());
            }
        }
        List<Map<String,Object>> rstotal2 = jdbcTemplate.queryForList(sql2);
        Double totalScore2 = 0.0;
        if(rstotal2!=null&&rstotal2.size()>0){
            Object object1 = rstotal2.get(0).get("total");
            if (object1!=null){
                totalScore2 = Double.parseDouble(object1.toString());
            }
        }
        List<Map<String,Object>> rstotal3 = jdbcTemplate.queryForList(sql3);
        Double totalScore3 = 0.0;
        if(rstotal3!=null&&rstotal3.size()>0){
            Object object1 = rstotal3.get(0).get("total");
            if (object1!=null){
                totalScore3 = Double.parseDouble(object1.toString());
            }
        }
        String sql5 = "select * from wlyy_specialist_evaluate WHERE doctor = '"+doctor+"'";
        String sql6 = "select * from wlyy_specialist_evaluate WHERE doctor IN (select doctor from wlyy_specialist_evaluate_score where score > 71 and doctor = '"+doctor+"')";
        String sql7 = "select * from wlyy_specialist_evaluate WHERE doctor IN (select doctor from wlyy_specialist_evaluate_score where score > 41 and score < 71 and doctor = '"+doctor+"')";
        String sql8 = "select * from wlyy_specialist_evaluate WHERE doctor IN (select doctor from wlyy_specialist_evaluate_score where score < 41 and doctor = '"+doctor+"')";
        List<SpecialistEvaluateDO> specialistEvaluateDOS = jdbcTemplate.query(sql5,new BeanPropertyRowMapper(SpecialistEvaluateDO.class));
        List<SpecialistEvaluateDO> specialistEvaluateDOS1 = jdbcTemplate.query(sql5,new BeanPropertyRowMapper(SpecialistEvaluateDO.class));
        List<SpecialistEvaluateDO> specialistEvaluateDOS3 = jdbcTemplate.query(sql6,new BeanPropertyRowMapper(SpecialistEvaluateDO.class));
        List<SpecialistEvaluateDO> specialistEvaluateDOS4 = jdbcTemplate.query(sql6,new BeanPropertyRowMapper(SpecialistEvaluateDO.class));
        List<SpecialistEvaluateDO> specialistEvaluateDOS5 = jdbcTemplate.query(sql7,new BeanPropertyRowMapper(SpecialistEvaluateDO.class));
        List<SpecialistEvaluateDO> specialistEvaluateDOS6 = jdbcTemplate.query(sql7,new BeanPropertyRowMapper(SpecialistEvaluateDO.class));
        List<SpecialistEvaluateDO> specialistEvaluateDOS7 = jdbcTemplate.query(sql8,new BeanPropertyRowMapper(SpecialistEvaluateDO.class));
        List<SpecialistEvaluateDO> specialistEvaluateDOS8 = jdbcTemplate.query(sql8,new BeanPropertyRowMapper(SpecialistEvaluateDO.class));
        JSONArray array = new JSONArray();
        JSONArray array3 = new JSONArray();
        JSONArray array4 = new JSONArray();
        JSONArray array5 = new JSONArray();
        JSONObject object2 = new JSONObject();
        JSONObject object3 = new JSONObject();
        JSONObject object4 = new JSONObject();
        JSONObject object5 = new JSONObject();
        //全部
        for (int i=0;i<specialistEvaluateDOS.size();i++){
            JSONArray array1 = new JSONArray();
            JSONObject object1 = new JSONObject();
            boolean isTrue = false;
            SpecialistEvaluateDO specialistEvaluateDO = specialistEvaluateDOS.get(i);
            Set<String> set = new HashSet<>();
            Set<Double> scoreSet = new HashSet<>();
            for (int j=0;j<specialistEvaluateDOS1.size();j++){
                SpecialistEvaluateDO specialistEvaluateDO1 = specialistEvaluateDOS1.get(j);
                JSONObject jsonObject = new JSONObject();
                if (specialistEvaluateDO.getRelationCode().equals(specialistEvaluateDO1.getRelationCode())&&specialistEvaluateDO.getPatient().equals(specialistEvaluateDO1.getPatient())&&specialistEvaluateDO.getDoctor().equals(specialistEvaluateDO1.getDoctor())){
                    String scoreSql = "select * from wlyy_specialist_evaluate_score where relation_code = '"+specialistEvaluateDO1.getRelationCode()+"' and patient = '"+specialistEvaluateDO1.getPatient()+"'";
                    List<SpecialistEvaluateScoreDO> specialistEvaluateScoreDOS =jdbcTemplate.query(scoreSql,new BeanPropertyRowMapper(SpecialistEvaluateScoreDO.class));
                    if (specialistEvaluateScoreDOS != null && specialistEvaluateScoreDOS.size()!=0){
                        scoreSet.add(specialistEvaluateScoreDOS.get(0).getScore());
                    }
                    set.add(specialistEvaluateDO1.getPatient());
                    array1.add(specialistEvaluateDO1);
                }
            }
            object1.put("patient",set);
            for (Double value:scoreSet){
                if (value>71){
                    object1.put("flag","好评");
                }else if (value>41&&value<71){
                    object1.put("flag","中评");
                }else if (value<41){
                    object1.put("flag","差评");
                }
            }
            object1.put("score",scoreSet);
            object1.put("evaluate",array1);
            if (array1.size() !=0&&array1 != null){
                specialistEvaluateDOS1.removeAll(array1);
                array.add(object1);
            }
        }
        //好评
        for (int i=0;i<specialistEvaluateDOS3.size();i++){
            JSONArray array1 = new JSONArray();
            JSONObject object1 = new JSONObject();
            boolean isTrue = false;
            SpecialistEvaluateDO specialistEvaluateDO = specialistEvaluateDOS3.get(i);
            Set<String> set = new HashSet<>();
            Set<Double> scoreSet = new HashSet<>();
            for (int j=0;j<specialistEvaluateDOS4.size();j++){
                SpecialistEvaluateDO specialistEvaluateDO1 = specialistEvaluateDOS4.get(j);
                JSONObject jsonObject = new JSONObject();
                if (specialistEvaluateDO.getRelationCode().equals(specialistEvaluateDO1.getRelationCode())&&specialistEvaluateDO.getPatient().equals(specialistEvaluateDO1.getPatient())&&specialistEvaluateDO.getDoctor().equals(specialistEvaluateDO1.getDoctor())){
                    String scoreSql = "select * from wlyy_specialist_evaluate_score where relation_code = '"+specialistEvaluateDO1.getRelationCode()+"' and patient = '"+specialistEvaluateDO1.getPatient()+"'";
                    List<SpecialistEvaluateScoreDO> specialistEvaluateScoreDOS =jdbcTemplate.query(scoreSql,new BeanPropertyRowMapper(SpecialistEvaluateScoreDO.class));
                    if (specialistEvaluateScoreDOS != null && specialistEvaluateScoreDOS.size()!=0){
                        scoreSet.add(specialistEvaluateScoreDOS.get(0).getScore());
                    }
                    set.add(specialistEvaluateDO1.getPatient());
                    array1.add(specialistEvaluateDO1);
                }
            }
            object1.put("patient",set);
            object1.put("flag","好评");
            object1.put("score",scoreSet);
            object1.put("evaluate",array1);
            if (array1.size() !=0&&array1 != null){
                specialistEvaluateDOS4.removeAll(array1);
                array3.add(object1);
            }
        }
        //中评
        for (int i=0;i<specialistEvaluateDOS5.size();i++){
            JSONArray array1 = new JSONArray();
            JSONObject object1 = new JSONObject();
            boolean isTrue = false;
            SpecialistEvaluateDO specialistEvaluateDO = specialistEvaluateDOS5.get(i);
            Set<String> set = new HashSet<>();
            Set<Double> scoreSet = new HashSet<>();
            for (int j=0;j<specialistEvaluateDOS6.size();j++){
                SpecialistEvaluateDO specialistEvaluateDO1 = specialistEvaluateDOS6.get(j);
                JSONObject jsonObject = new JSONObject();
                if (specialistEvaluateDO.getRelationCode().equals(specialistEvaluateDO1.getRelationCode())&&specialistEvaluateDO.getPatient().equals(specialistEvaluateDO1.getPatient())&&specialistEvaluateDO.getDoctor().equals(specialistEvaluateDO1.getDoctor())){
                    String scoreSql = "select * from wlyy_specialist_evaluate_score where relation_code = '"+specialistEvaluateDO1.getRelationCode()+"' and patient = '"+specialistEvaluateDO1.getPatient()+"'";
                    List<SpecialistEvaluateScoreDO> specialistEvaluateScoreDOS =jdbcTemplate.query(scoreSql,new BeanPropertyRowMapper(SpecialistEvaluateScoreDO.class));
                    if (specialistEvaluateScoreDOS != null && specialistEvaluateScoreDOS.size()!=0){
                        scoreSet.add(specialistEvaluateScoreDOS.get(0).getScore());
                    }
                    set.add(specialistEvaluateDO1.getPatient());
                    array1.add(specialistEvaluateDO1);
                }
            }
            object1.put("patient",set);
            object1.put("flag","中评");
            object1.put("score",scoreSet);
            object1.put("evaluate",array1);
            if (array1.size() !=0&&array1 != null){
                specialistEvaluateDOS6.removeAll(array1);
                array4.add(object1);
            }
        }
        //差评
        for (int i=0;i<specialistEvaluateDOS7.size();i++){
            JSONArray array1 = new JSONArray();
            JSONObject object1 = new JSONObject();
            boolean isTrue = false;
            SpecialistEvaluateDO specialistEvaluateDO = specialistEvaluateDOS7.get(i);
            Set<String> set = new HashSet<>();
            Set<Double> scoreSet = new HashSet<>();
            for (int j=0;j<specialistEvaluateDOS8.size();j++){
                SpecialistEvaluateDO specialistEvaluateDO1 = specialistEvaluateDOS8.get(j);
                JSONObject jsonObject = new JSONObject();
                if (specialistEvaluateDO.getRelationCode().equals(specialistEvaluateDO1.getRelationCode())&&specialistEvaluateDO.getPatient().equals(specialistEvaluateDO1.getPatient())&&specialistEvaluateDO.getDoctor().equals(specialistEvaluateDO1.getDoctor())){
                    String scoreSql = "select * from wlyy_specialist_evaluate_score where relation_code = '"+specialistEvaluateDO1.getRelationCode()+"' and patient = '"+specialistEvaluateDO1.getPatient()+"'";
                    List<SpecialistEvaluateScoreDO> specialistEvaluateScoreDOS =jdbcTemplate.query(scoreSql,new BeanPropertyRowMapper(SpecialistEvaluateScoreDO.class));
                    if (specialistEvaluateScoreDOS != null && specialistEvaluateScoreDOS.size()!=0){
                        scoreSet.add(specialistEvaluateScoreDOS.get(0).getScore());
                    }
                    set.add(specialistEvaluateDO1.getPatient());
                    array1.add(specialistEvaluateDO1);
                }
            }
            object1.put("patient",set);
            object1.put("flag","差评");
            object1.put("score",scoreSet);
            object1.put("evaluate",array1);
            if (array1.size() !=0&&array1 != null){
                specialistEvaluateDOS8.removeAll(array1);
                array5.add(object1);
            }
        }
        String lableSql = "select * from wlyy_specialist_evaluate_label where doctor ='"+doctor+"' AND flag IN (2,3)";
        List<SpecialistEvaluateLabelDO> specialistEvaluateLabelDOS = jdbcTemplate.query(lableSql,new BeanPropertyRowMapper(SpecialistEvaluateLabelDO.class));
        Set<String> labelSet = new HashSet<>();
        for (SpecialistEvaluateLabelDO specialistEvaluateLabelDO:specialistEvaluateLabelDOS){
            labelSet.add(specialistEvaluateLabelDO.getContent());
        }
        object2.put("evaluate",array);
        object2.put("total",array.size());
        object3.put("evaluate",array3);
        object3.put("total",array3.size());
        object4.put("evaluate",array4);
        object4.put("total",array4.size());
        object5.put("evaluate",array5);
        object5.put("total",array5.size());
        object.put("label",labelSet);
        object.put("totalScore",totalScore);
        object.put("1",totalScore1);//1、服务效率,
        object.put("2",totalScore2);// 2、服务态度,
        object.put("3",totalScore3);// 3、专业程度
        object.put("4",object2);//全部
        object.put("5",object3);//好评
        object.put("6",object4);//中评
        object.put("7",object5);//差评
        envelop.setObj(object);
        return envelop;
    }
}

+ 5 - 0
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/service/SpecialistHospitalServiceItemService.java

@ -126,7 +126,11 @@ public class SpecialistHospitalServiceItemService extends EnvelopRestEndpoint {
                    if (hospitalServiceItemDOS1 != null && hospitalServiceItemDOS1.size() != 0){
                        for (HospitalServiceItemDO hospitalServiceItemDO2:hospitalServiceItemDOS1){
                            if (hospitalServiceItemDO1.getServiceItemId().equals(hospitalServiceItemDO2.getServiceItemId())){
                                if (hospitalServiceItemDO.getServiceItemId().equals(hospitalServiceItemDO1.getServiceItemId())){
                                    hospitalServiceItemDO2.setFlag(3);
                                }
                                isTrue = true;
                            }
                        }
                    }
@ -141,6 +145,7 @@ public class SpecialistHospitalServiceItemService extends EnvelopRestEndpoint {
                        if (isTrue == false){
                            hospitalServiceItemDO1.setFlag(1);
                            hospitalServiceItemDOS1.add(hospitalServiceItemDO1);
                            break;
                        }
                    }
                }

+ 20 - 4
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/service/rehabilitation/RehabilitationManageService.java

@ -11,7 +11,6 @@ import com.yihu.jw.entity.specialist.rehabilitation.PatientRehabilitationPlanDO;
import com.yihu.jw.entity.specialist.rehabilitation.RehabilitationDetailDO;
import com.yihu.jw.entity.specialist.rehabilitation.RehabilitationOperateRecordsDO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.rm.specialist.SpecialistMapping;
@ -20,11 +19,8 @@ import com.yihu.jw.util.date.DateUtil;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONArray;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
@ -1177,4 +1173,24 @@ public class RehabilitationManageService {
        }
        return ObjEnvelop.getSuccess(SpecialistMapping.api_success,list);
    }
    /**
     * 根据ids获取数据
     *
     * @param ids
     * @return
     */
    public ObjEnvelop selectByIds(String ids){
        ObjEnvelop envelop = new ObjEnvelop();
        List idList = Arrays.asList(ids.split(","));
        StringBuffer buffer = new StringBuffer();
        for (int i =0;i<idList.size();i++){
            buffer.append("'"+idList.get(i)+"'").append(",");
        }
        buffer.deleteCharAt(buffer.length()-1);
        String sql = "select * from wlyy_rehabilitation_plan_detail where id in("+buffer+")";
        List<RehabilitationDetailDO> rehabilitationDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(RehabilitationDetailDO.class));
        envelop.setObj(rehabilitationDetailDOS);
        return envelop;
    }
}