| 
					
				 | 
			
			
				@ -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; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |