| 
					
				 | 
			
			
				@ -0,0 +1,101 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.door.service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.door.dao.WlyyDoorCommentDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.door.dao.WlyyDoorCommentDoctorDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.door.dao.WlyyDoorDoctorDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.door.dao.WlyyDoorServiceOrderDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.patient.BasePatientDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.door.WlyyDoorCommentDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.door.WlyyDoorCommentDoctorDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.door.WlyyDoorDoctorDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.door.WlyyDoorServiceOrderDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.patient.dao.BasePatientDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.mysql.query.BaseJpaService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * Created by wangpeiqiang on 2019/3/16. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * 居民端-评分 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				public class DoorCommentService extends BaseJpaService<WlyyDoorCommentDO, WlyyDoorCommentDao> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    BasePatientDao patientDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    WlyyDoorCommentDao doorCommentDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    WlyyDoorCommentDoctorDao doorCommentDoctorDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    WlyyDoorServiceOrderDao wlyyDoorServiceOrderDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    WlyyDoorDoctorDao wlyyDoorDoctorDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String add(String patientCode,String orderId, Integer professionalSkill,Integer serveAttitude,Integer serveEfficiency,String description,Integer isAnonymous){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BasePatientDO patient =patientDao.findById(patientCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyyDoorCommentDO doorComment = new WlyyDoorCommentDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BigDecimal evaluateSplit = BigDecimal.ZERO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BigDecimal num = new BigDecimal("3"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //计算三项评分平均分 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        evaluateSplit = evaluateSplit.add( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                (new BigDecimal(professionalSkill).add(new BigDecimal(serveAttitude)).add(new BigDecimal(serveEfficiency))).divide(num,2,BigDecimal.ROUND_HALF_UP) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doorComment.setOrderId(orderId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doorComment.setCode(getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doorComment.setProfessionalSkill(professionalSkill); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doorComment.setServeAttitude(serveAttitude); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doorComment.setServeEfficiency(serveEfficiency); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doorComment.setEvaluateSplit(evaluateSplit); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doorComment.setIsAnonymous(isAnonymous); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doorComment.setDescription(description); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doorComment.setPatient(patientCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doorComment.setCreateUser(patientCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doorComment.setCreateUserName(patient.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doorComment.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doorCommentDao.save(doorComment); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //更新工单状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyyDoorServiceOrderDO wlyyDoorServiceOrderDO =wlyyDoorServiceOrderDao.findOne(orderId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        wlyyDoorServiceOrderDO.setStatus(6); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        wlyyDoorServiceOrderDO.setCompleteTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        wlyyDoorServiceOrderDO.setUpdateUser(patientCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        wlyyDoorServiceOrderDO.setUpdateUserName(patient.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        wlyyDoorServiceOrderDO.setUpdateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        wlyyDoorServiceOrderDao.save(wlyyDoorServiceOrderDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyyDoorDoctorDO> wlyyDoorDoctorDOList =this.wlyyDoorDoctorDao.findByOrderId(orderId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for(WlyyDoorDoctorDO wlyyDoorDoctorDO:wlyyDoorDoctorDOList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            WlyyDoorCommentDoctorDO doorCommentDoctor = new WlyyDoorCommentDoctorDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doorCommentDoctor.setOrderId(orderId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doorCommentDoctor.setCode(getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doorCommentDoctor.setDoctorCode(wlyyDoorDoctorDO.getDoctor()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doorCommentDoctor.setProfessionalSkill(professionalSkill); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doorCommentDoctor.setServeAttitude(serveAttitude); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doorCommentDoctor.setServeEfficiency(serveEfficiency); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doorCommentDoctor.setEvaluateSplit(evaluateSplit); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doorCommentDoctor.setIsAnonymous(isAnonymous); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doorCommentDoctor.setDescription(description); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doorCommentDoctor.setPatient(patientCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doorCommentDoctor.setCreateUser(patientCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doorCommentDoctor.setCreateUserName(patient.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doorCommentDoctor.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            doorCommentDoctorDao.save(doorCommentDoctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return"1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject commentDetail(String patient,String orderId)throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject result = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyyDoorCommentDO commentDetail = doorCommentDao.selectCommentDoctor(patient,orderId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("commentDetail",commentDetail); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |