| 
					
				 | 
			
			
				@ -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 保存就诊记录表已评价标识 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |