| 
					
				 | 
			
			
				@ -15,12 +15,15 @@ import com.yihu.jw.entity.specialist.rehabilitation.RehabilitationTemplateDetail 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.iot.common.UploadVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.specialist.PatientSignInfoVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.MixEnvelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.ObjEnvelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.rm.specialist.SpecialistMapping; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.service.FileUploadService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.service.SpecialistHospitalServiceItemService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.service.SpecialistService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.util.HttpClientUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.util.common.QrcodeUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.fastdfs.FastDFSUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.util.date.DateUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.lang3.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Value; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -47,6 +50,9 @@ public class RehabilitationPlanService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private Boolean isneiwang;  //如果不是内网项目要转到到内网wlyy在上传 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Value("${fastDFS.fastdfs_file_url}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private String fastdfs_file_url; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Value("${base.url}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private String baseUrl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private RehabilitationPlanTemplateDao templateDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -67,23 +73,25 @@ public class RehabilitationPlanService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private SpecialistHospitalServiceItemService hospitalServiceItemService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private SpecialistService specialistService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private HttpClientUtil httpClientUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop<String, String> createRehabilitationTemplate(RehabilitationPlanTemplateDO templateDO) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public ObjEnvelop createRehabilitationTemplate(RehabilitationPlanTemplateDO templateDO) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        templateDO.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        templateDO.setDel(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        templateDO = templateDao.save(templateDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return MixEnvelop.getSuccess(SpecialistMapping.api_success,templateDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return ObjEnvelop.getSuccess(SpecialistMapping.api_success,templateDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop<Boolean, Boolean> createRehabilitationTemplateDetail(List<RehabilitationTemplateDetailDO> details) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public ObjEnvelop createRehabilitationTemplateDetail(List<RehabilitationTemplateDetailDO> details) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for(RehabilitationTemplateDetailDO detail : details){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            detail.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            templateDetailDao.save(detail); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return MixEnvelop.getSuccess(SpecialistMapping.api_success,true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return ObjEnvelop.getSuccess(SpecialistMapping.api_success,true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop<Boolean,Boolean> updateRehabilitationTemplateDetail(List<RehabilitationTemplateDetailDO> details) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public ObjEnvelop updateRehabilitationTemplateDetail(List<RehabilitationTemplateDetailDO> details) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String templateId = details.get(0).getTemplateId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(templateId != null && templateId.length() > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            templateDetailDao.deleteByTemplateId(templateId); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -92,17 +100,17 @@ public class RehabilitationPlanService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            detail.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            templateDetailDao.save(detail); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return MixEnvelop.getSuccess(SpecialistMapping.api_success,true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return ObjEnvelop.getSuccess(SpecialistMapping.api_success,true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop<RehabilitationPlanTemplateDO, RehabilitationPlanTemplateDO> findRehabilitationPlanTemplate(Long adminTeamCode, String doctor, String patient) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop findRehabilitationPlanTemplate(Long adminTeamCode, String doctor, String patient) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(adminTeamCode == null && StringUtils.isNotBlank(doctor) && StringUtils.isNotBlank(patient)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            PatientSignInfoVO patientSignSpecialistInfo = (PatientSignInfoVO) specialistService.findPatientSignSpecialistInfo(patient,doctor).getObj(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            PatientSignInfoVO patientSignSpecialistInfo = (PatientSignInfoVO) specialistService.findPatientSignSpecialistInfo(patient, doctor).getObj(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            adminTeamCode = patientSignSpecialistInfo.getTeamCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RehabilitationPlanTemplateDO> list = templateDao.findByAdminTeamCode(adminTeamCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return MixEnvelop.getSuccessList(SpecialistMapping.api_success,list, list.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return MixEnvelop.getSuccessList(SpecialistMapping.api_success, list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -110,9 +118,9 @@ public class RehabilitationPlanService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop<Boolean,Boolean> deleteRehabilitationPlanTemplate(String id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public ObjEnvelop deleteRehabilitationPlanTemplate(String id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        templateDao.updateDelById(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return MixEnvelop.getSuccess(SpecialistMapping.api_success,true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return ObjEnvelop.getSuccess(SpecialistMapping.api_success,true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -146,7 +154,7 @@ public class RehabilitationPlanService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return (List<RehabilitationDetailDO>)rehabilitationDetailDao.save(details); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop<HospitalServiceItemDO,HospitalServiceItemDO> findServiceItemsByHospital(String doctorHospital, String signHospital) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop findServiceItemsByHospital(String doctorHospital, String signHospital) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray jsonArray = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<String> list = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        list.add(doctorHospital); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -199,7 +207,72 @@ public class RehabilitationPlanService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonArray.addAll(docHospitalServiceItemDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return MixEnvelop.getSuccess(SpecialistMapping.api_success, jsonArray); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return MixEnvelop.getSuccessList(SpecialistMapping.api_success, jsonArray); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 调用服务包创建接口 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param planDO 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param details 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String addServicePackage(PatientRehabilitationPlanDO planDO, List<RehabilitationDetailDO> details) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject jsonData = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject servicePackageVO = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject signRecordVO = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray detailsVOList = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //服务项目数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for(RehabilitationDetailDO detail : details){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject detailsVO = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            detailsVO.put("executionType", "1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            detailsVO.put("executionTime", DateUtil.dateToStr(detail.getExecuteTime(), "yyyy-MM-dd hh:mm:ss")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<String> hospitalServiceIds = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            hospitalServiceIds.add(detail.getHospitalServiceItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HospitalServiceItemDO signHospitalServiceItemDO = hospitalServiceItemService.selectById(hospitalServiceIds).getDetailModelList().get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            detailsVO.put("code", signHospitalServiceItemDO.getServiceItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            detailsVO.put("name", signHospitalServiceItemDO.getSpecialistServiceItemDO().getTitle()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            detailsVOList.add(detailsVO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //服务包数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        servicePackageVO.put("detailsVOList", detailsVOList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        servicePackageVO.put("saasId", "xmihealth"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        servicePackageVO.put("name", planDO.getTitle()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        servicePackageVO.put("introduce", planDO.getTitle()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        servicePackageVO.put("creater", planDO.getCreateUser()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        servicePackageVO.put("type", "1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        servicePackageVO.put("price", planDO.getTotalExpense()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //签约记录数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        signRecordVO.put("servicePackageName", planDO.getTitle()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        signRecordVO.put("patient", planDO.getPatient()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        signRecordVO.put("name", planDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        PatientSignInfoVO patientSignInfoVO = (PatientSignInfoVO) specialistService.findPatientSignSpecialistInfo(planDO.getPatient(), planDO.getCreateUser()).getObj(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        signRecordVO.put("idcard", patientSignInfoVO.getIdcard()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        signRecordVO.put("ssc", patientSignInfoVO.getSsc()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        signRecordVO.put("signDoctor", patientSignInfoVO.getDoctor()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        signRecordVO.put("signDoctorName", patientSignInfoVO.getDoctorName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        signRecordVO.put("hospital", patientSignInfoVO.getHospital()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        signRecordVO.put("hospitalName", patientSignInfoVO.getHospitalName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        signRecordVO.put("adminTeamCode", patientSignInfoVO.getTeamCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        signRecordVO.put("price", planDO.getTotalExpense()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        signRecordVO.put("saasId", "xmihealth"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jsonData.put("servicePackageVO", servicePackageVO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        jsonData.put("signRecordVO", signRecordVO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String response = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            response = httpClientUtil.postBody(baseUrl + "base_rehabilitation/create", jsonData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject rs = JSONObject.parseObject(response); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if ("success".equals(rs.getString("message"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return rs.getJSONObject("obj").getString("id"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void updateServicePackageId(String planId, String servicePackageId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        patientRehabilitationPlanDao.updateServicePackageId(planId, servicePackageId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop<String,String> createServiceQrCode(String planDetailId){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -264,4 +337,5 @@ public class RehabilitationPlanService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |