|  | @ -10,7 +10,11 @@ import com.yihu.jw.entity.base.im.ConsultTeamDo;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.im.ConsultTeamDoctorDo;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.im.ConsultTeamLogDo;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.patient.BasePatientDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.score.BaseEvaluateDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.score.BaseEvaluateScoreDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.hospital.prescription.WlyyOutpatientDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.evaluate.score.dao.BaseEvaluateDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.evaluate.score.dao.BaseEvaluateScoreDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.prescription.dao.OutpatientDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.im.dao.ConsultDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.im.dao.ConsultTeamDao;
 | 
	
	
		
			
				|  | @ -68,6 +72,11 @@ public class ImService {
 | 
	
		
			
				|  |  | 	@Autowired
 | 
	
		
			
				|  |  | 	public BasePatientDao basePatientDao;
 | 
	
		
			
				|  |  | 	
 | 
	
		
			
				|  |  | 	@Autowired
 | 
	
		
			
				|  |  | 	public BaseEvaluateScoreDao baseEvaluateScoreDao;
 | 
	
		
			
				|  |  | 	@Autowired
 | 
	
		
			
				|  |  | 	public BaseEvaluateDao baseEvaluateDao;
 | 
	
		
			
				|  |  | 	
 | 
	
		
			
				|  |  | 	@Autowired
 | 
	
		
			
				|  |  | 	public ImUtil imUtil;
 | 
	
		
			
				|  |  | 	
 | 
	
	
		
			
				|  | @ -1097,5 +1106,71 @@ public class ImService {
 | 
	
		
			
				|  |  | 		}
 | 
	
		
			
				|  |  | 		return id;
 | 
	
		
			
				|  |  | 	}
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 	
 | 
	
		
			
				|  |  | 	/**
 | 
	
		
			
				|  |  | 	 * 评价咨询
 | 
	
		
			
				|  |  | 	 * @param consult
 | 
	
		
			
				|  |  | 	 * @param scoreContent
 | 
	
		
			
				|  |  | 	 * @param type
 | 
	
		
			
				|  |  | 	 */
 | 
	
		
			
				|  |  | 	public void evaluationByConsultCode(String consult, String scoreContent, Integer type) throws Exception{
 | 
	
		
			
				|  |  | 		JSONArray jsonArray =  JSONArray.parseArray(scoreContent);
 | 
	
		
			
				|  |  | 		
 | 
	
		
			
				|  |  | 		Integer totalScore = 0;
 | 
	
		
			
				|  |  | 		
 | 
	
		
			
				|  |  | 		ConsultTeamDo consultTeamDo = consultTeamDao.findByConsult(consult);
 | 
	
		
			
				|  |  | 		
 | 
	
		
			
				|  |  | 		if(!jsonArray.isEmpty() && jsonArray.size() >0){
 | 
	
		
			
				|  |  | 			BaseEvaluateScoreDO evaluateScoreDO = new BaseEvaluateScoreDO();
 | 
	
		
			
				|  |  | 			evaluateScoreDO.setDoctor(consultTeamDo.getDoctor());
 | 
	
		
			
				|  |  | 			evaluateScoreDO.setDoctorName(consultTeamDo.getDoctorName());
 | 
	
		
			
				|  |  | 			evaluateScoreDO.setPatient(consultTeamDo.getPatient());
 | 
	
		
			
				|  |  | 			evaluateScoreDO.setPatientName(consultTeamDo.getName());
 | 
	
		
			
				|  |  | 			evaluateScoreDO.setRelationCode(consult);
 | 
	
		
			
				|  |  | 			evaluateScoreDO.setEvaluateType(1);
 | 
	
		
			
				|  |  | 			evaluateScoreDO.setType(type);
 | 
	
		
			
				|  |  | 			evaluateScoreDO.setId(UUID.randomUUID().toString());
 | 
	
		
			
				|  |  | 			
 | 
	
		
			
				|  |  | 			String content = "";//评价内容
 | 
	
		
			
				|  |  | 			
 | 
	
		
			
				|  |  | 			List<BaseEvaluateDO> baseEvaluateDOS = new ArrayList<>();
 | 
	
		
			
				|  |  | 			for (int i = 0; i < jsonArray.size(); i++) {
 | 
	
		
			
				|  |  | 				JSONObject job = jsonArray.getJSONObject(i);
 | 
	
		
			
				|  |  | 				if("4".equals(job.getString("scoreType"))){//非评价类型
 | 
	
		
			
				|  |  | 					
 | 
	
		
			
				|  |  | 					content = job.getString("content");
 | 
	
		
			
				|  |  | 					BaseEvaluateDO baseEvaluateDO = new BaseEvaluateDO();
 | 
	
		
			
				|  |  | 					baseEvaluateDO.setScoreType(job.getString("scoreType"));
 | 
	
		
			
				|  |  | 					baseEvaluateDO.setScore(new Double(String.valueOf(job.getInteger("score"))));
 | 
	
		
			
				|  |  | 					baseEvaluateDO.setRelationCode(evaluateScoreDO.getId());
 | 
	
		
			
				|  |  | 					baseEvaluateDO.setContent(content);
 | 
	
		
			
				|  |  | 					baseEvaluateDOS.add(baseEvaluateDO);
 | 
	
		
			
				|  |  | 				}else{
 | 
	
		
			
				|  |  | 					BaseEvaluateDO baseEvaluateDO = new BaseEvaluateDO();
 | 
	
		
			
				|  |  | 					baseEvaluateDO.setScoreType(job.getString("scoreType"));
 | 
	
		
			
				|  |  | 					baseEvaluateDO.setScore(new Double(String.valueOf(job.getInteger("score"))));
 | 
	
		
			
				|  |  | 					baseEvaluateDO.setRelationCode(evaluateScoreDO.getId());
 | 
	
		
			
				|  |  | 					totalScore += job.getInteger("score");
 | 
	
		
			
				|  |  | 					baseEvaluateDOS.add(baseEvaluateDO);
 | 
	
		
			
				|  |  | 				}
 | 
	
		
			
				|  |  | 			}
 | 
	
		
			
				|  |  | 			evaluateScoreDO.setScore((double) totalScore / 3);
 | 
	
		
			
				|  |  | 			
 | 
	
		
			
				|  |  | 			evaluateScoreDO = baseEvaluateScoreDao.save(evaluateScoreDO);
 | 
	
		
			
				|  |  | 			
 | 
	
		
			
				|  |  | 			for(BaseEvaluateDO baseEvaluateDO :baseEvaluateDOS){
 | 
	
		
			
				|  |  | 				baseEvaluateDao.save(baseEvaluateDO);
 | 
	
		
			
				|  |  | 			}
 | 
	
		
			
				|  |  | 			
 | 
	
		
			
				|  |  | 			consultTeamDo.setEvaluate(1);//保存已评价标识
 | 
	
		
			
				|  |  | 			consultTeamDo.setEvaluateTime(new Date());
 | 
	
		
			
				|  |  | 			consultTeamDao.save(consultTeamDo);
 | 
	
		
			
				|  |  | 			
 | 
	
		
			
				|  |  | 			/**
 | 
	
		
			
				|  |  | 			 * todo 保存就诊记录表已评价标识
 | 
	
		
			
				|  |  | 			 */
 | 
	
		
			
				|  |  | 		
 | 
	
		
			
				|  |  | 		}
 | 
	
		
			
				|  |  | 		
 | 
	
		
			
				|  |  | 	}
 | 
	
		
			
				|  |  | }
 |