|
@ -2,6 +2,7 @@ package com.yihu.jw.service;/**
|
|
|
* Created by nature of king on 2018/8/22.
|
|
|
*/
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.yihu.jw.dao.SpecialistEvaluateDao;
|
|
|
import com.yihu.jw.dao.SpecialistEvaluateLabelDao;
|
|
|
import com.yihu.jw.dao.SpecialistEvaluateScoreDao;
|
|
@ -17,7 +18,8 @@ import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.transaction.Transactional;
|
|
|
import java.text.NumberFormat;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
|
|
@ -50,7 +52,7 @@ public class SpecialistEvaluateService extends EnvelopRestEndpoint {
|
|
|
String doctor = null;
|
|
|
String relationCode = null;
|
|
|
String patient = null;
|
|
|
Double total = 0.0;
|
|
|
Double total = 0d;
|
|
|
if (specialistEvaluateDOList != null && specialistEvaluateDOList.size() != 0){
|
|
|
for (SpecialistEvaluateDO specialistEvaluateDO:specialistEvaluateDOList){
|
|
|
specialistEvaluateDO.setRelationType(1);
|
|
@ -74,27 +76,100 @@ public class SpecialistEvaluateService extends EnvelopRestEndpoint {
|
|
|
}
|
|
|
}
|
|
|
double score = total/3;
|
|
|
NumberFormat nbf= NumberFormat.getInstance();
|
|
|
nbf.setMinimumFractionDigits(2);
|
|
|
BigDecimal b = new BigDecimal(score);
|
|
|
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
|
|
|
SpecialistEvaluateScoreDO specialistEvaluateScoreDO = new SpecialistEvaluateScoreDO();
|
|
|
specialistEvaluateScoreDO.setRelationCode(relationCode);
|
|
|
specialistEvaluateScoreDO.setEvaluateType(1);
|
|
|
specialistEvaluateScoreDO.setDoctor(doctor);
|
|
|
specialistEvaluateScoreDO.setSaasId("dev");
|
|
|
specialistEvaluateScoreDO.setScore(Integer.parseInt(nbf.format(score)));
|
|
|
specialistEvaluateScoreDO.setScore(f1);
|
|
|
specialistEvaluateScoreDO.setCreateTime(new Date());
|
|
|
specialistEvaluateScoreDO.setUpdateTime(new Date());
|
|
|
specialistEvaluateScoreDao.save(specialistEvaluateScoreDO);
|
|
|
return envelop;
|
|
|
}
|
|
|
|
|
|
|
|
|
public MixEnvelop<SpecialistEvaluateDO,SpecialistEvaluateDO> selectByCondition(SpecialistEvaluateDO specialistEvaluateDO){
|
|
|
MixEnvelop<SpecialistEvaluateDO,SpecialistEvaluateDO> envelop = new MixEnvelop<>();
|
|
|
/**
|
|
|
* 查询评论
|
|
|
*
|
|
|
* @param specialistEvaluateDO
|
|
|
* @return
|
|
|
*/
|
|
|
public MixEnvelop<JSONObject,JSONObject> selectByCondition(SpecialistEvaluateDO specialistEvaluateDO){
|
|
|
MixEnvelop<JSONObject,JSONObject> envelop = new MixEnvelop<>();
|
|
|
String sql = ISqlUtils.getSql(specialistEvaluateDO,1,1,"*");
|
|
|
List<SpecialistEvaluateDO> specialistEvaluateDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(SpecialistEvaluateDO.class));
|
|
|
String sql1 = "select * from wlyy_specialist_evaluate_label where doctor = '"+specialistEvaluateDO.getDoctor()+"' " +
|
|
|
"and relation_code = '"+specialistEvaluateDO.getRelationCode()+"' and patient = '"+specialistEvaluateDO.getPatient()+"'";
|
|
|
List<SpecialistEvaluateLabelDO> specialistEvaluateLabelDOS = jdbcTemplate.query(sql1,new BeanPropertyRowMapper(SpecialistEvaluateLabelDO.class));
|
|
|
String sql2 = "select * from wlyy_specialist_evaluate_score where doctor = '"+specialistEvaluateDO.getDoctor()+"' " +
|
|
|
"and relation_code = '"+specialistEvaluateDO.getRelationCode()+"'";
|
|
|
List<SpecialistEvaluateScoreDO> specialistEvaluateScoreDOS = jdbcTemplate.query(sql2,new BeanPropertyRowMapper(SpecialistEvaluateScoreDO.class));
|
|
|
JSONObject object = new JSONObject();
|
|
|
object.put("score",specialistEvaluateScoreDOS);
|
|
|
object.put("evaluate",specialistEvaluateDOS);
|
|
|
object.put("evaluateLabel",specialistEvaluateLabelDOS);
|
|
|
List<JSONObject> array = new ArrayList<>();
|
|
|
array.add(object);
|
|
|
envelop.setDetailModelList(array);
|
|
|
return envelop;
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 更新评价
|
|
|
*
|
|
|
* @param specialistEvaluateDOList
|
|
|
* @return
|
|
|
*/
|
|
|
public MixEnvelop<Boolean,Boolean> update(List<SpecialistEvaluateDO> specialistEvaluateDOList){
|
|
|
MixEnvelop<Boolean,Boolean> envelop = new MixEnvelop<>();
|
|
|
String doctor = null;
|
|
|
String relationCode = null;
|
|
|
String patient = null;
|
|
|
Double total = 0d;
|
|
|
if (specialistEvaluateDOList != null && specialistEvaluateDOList.size() != 0){
|
|
|
for (SpecialistEvaluateDO specialistEvaluateDO:specialistEvaluateDOList){
|
|
|
specialistEvaluateDO.setSaasId("dev");
|
|
|
specialistEvaluateDO.setRelationType(1);
|
|
|
specialistEvaluateDO.setCreateTime(new Date());
|
|
|
specialistEvaluateDO.setUpdateTime(new Date());
|
|
|
doctor = specialistEvaluateDO.getDoctor();
|
|
|
relationCode = specialistEvaluateDO.getRelationCode();
|
|
|
patient = specialistEvaluateDO.getPatient();
|
|
|
SpecialistEvaluateDO specialistEvaluateDO1 = specialistEvaluateDao.save(specialistEvaluateDO);
|
|
|
SpecialistEvaluateLabelDO specialistEvaluateLabelDO = specialistEvaluateLabelDao.findOne(specialistEvaluateDO.getLabelId());
|
|
|
specialistEvaluateLabelDO.setSaasId("dev");
|
|
|
specialistEvaluateLabelDO.setContent(specialistEvaluateDO.getContent());
|
|
|
specialistEvaluateLabelDO.setDoctor(specialistEvaluateDO1.getDoctor());
|
|
|
specialistEvaluateLabelDO.setPatient(specialistEvaluateDO1.getPatient());
|
|
|
specialistEvaluateLabelDO.setEvaluateType(1);
|
|
|
specialistEvaluateLabelDO.setRelationCode(specialistEvaluateDO.getRelationCode());
|
|
|
specialistEvaluateLabelDO.setCreateTime(new Date());
|
|
|
specialistEvaluateLabelDO.setUpdateTime(new Date());
|
|
|
specialistEvaluateLabelDao.save(specialistEvaluateLabelDO);
|
|
|
total = total + specialistEvaluateDO.getScore();
|
|
|
}
|
|
|
}
|
|
|
double score = total/3;
|
|
|
BigDecimal b = new BigDecimal(score);
|
|
|
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
|
|
|
String sql2 = "select * from wlyy_specialist_evaluate_score where doctor = '"+doctor+"' " +
|
|
|
"and relation_code = '"+relationCode+"'";
|
|
|
List<SpecialistEvaluateScoreDO> specialistEvaluateScoreDOS = jdbcTemplate.query(sql2,new BeanPropertyRowMapper(SpecialistEvaluateScoreDO.class));
|
|
|
SpecialistEvaluateScoreDO specialistEvaluateScoreDO = specialistEvaluateScoreDOS.get(0);
|
|
|
specialistEvaluateScoreDO.setRelationCode(relationCode);
|
|
|
specialistEvaluateScoreDO.setEvaluateType(1);
|
|
|
specialistEvaluateScoreDO.setDoctor(doctor);
|
|
|
specialistEvaluateScoreDO.setSaasId("dev");
|
|
|
specialistEvaluateScoreDO.setScore(f1);
|
|
|
specialistEvaluateScoreDO.setCreateTime(new Date());
|
|
|
specialistEvaluateScoreDO.setUpdateTime(new Date());
|
|
|
specialistEvaluateScoreDao.save(specialistEvaluateScoreDO);
|
|
|
return envelop;
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|