| 
					
				 | 
			
			
				@ -1,10 +1,16 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.hospital.endpoint.article; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.patient.BasePatientBusinessDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.hospital.article.KnowledgeArticleDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.hospital.article.KnowledgeCategoryDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.hospital.service.consult.BasePatientBusinessService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.hospital.service.consult.KnowledgeArticleService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.hospital.service.consult.KnowledgeCategoryService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.patient.dao.BasePatientBusinessDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.Envelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.ListEnvelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.ObjEnvelop; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -34,6 +40,13 @@ public class ArticleEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private KnowledgeCategoryService knowledgeCategoryService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private BasePatientBusinessService patientBusinessService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private BaseDoctorHospitalDao doctorHospitalDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private BasePatientBusinessDao basePatientBusinessDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchKnowledgePageList) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@ApiOperation(value = "获取文章列表") 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -67,6 +80,13 @@ public class ArticleEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						List<KnowledgeArticleDO> list  = knowledgeArticleService.search(fields,filters,sorts,page,pageSize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						for (KnowledgeArticleDO knowledgeArticleDO:list){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(knowledgeArticleDO.getCreateUser()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (doctorHospitalDOS!=null&&doctorHospitalDOS.size()!=0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								BaseDoctorHospitalDO doctorHospitalDO = doctorHospitalDOS.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								knowledgeArticleDO.setDeptName(doctorHospitalDO.getDeptName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						List<KnowledgeArticleDO> totals  = knowledgeArticleService.search(fields,filters,sorts); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						JSONObject result = new JSONObject(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -195,4 +215,78 @@ public class ArticleEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					                                 @RequestParam(value = "sdJsons",required = false)String sdJsons)throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						return success(knowledgeArticleService.saveDeptArticle(dept,sdJsons)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.sendPatientBusiness) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@ApiOperation(value = "发送文章/问卷") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public ListEnvelop sendPatientBusiness(@ApiParam(name = "json", value = "患者业务关联表") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
													  @RequestParam(value = "json",required = false)String json)throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						ListEnvelop listEnvelop = new ListEnvelop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						JSONArray jsonArray = JSONArray.parseArray(json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						List<BasePatientBusinessDO> patientBusinessDOList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						for (int i=0;i<jsonArray.size();i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							JSONObject jsonObject = jsonArray.getJSONObject(i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							BasePatientBusinessDO patientBusinessDO = toEntity(jsonObject.toJSONString(),BasePatientBusinessDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							patientBusinessDOList.add(patientBusinessDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						listEnvelop.setDetailModelList(knowledgeArticleService.sendBusinessToPatient(patientBusinessDOList)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						return  listEnvelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.setArticleUsed) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@ApiOperation(value = "设置文章为常用/不常用") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public ObjEnvelop setArticleUsed(@ApiParam(name = "id", value = "文章id") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
													  @RequestParam(value = "id",required = true)String id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
													  @ApiParam(name = "used", value = "常用") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
													  @RequestParam(value = "used",required = false)Integer used)throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						return success(knowledgeArticleService.setUsed(id,used)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchPatientArticle) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@ApiOperation(value = "获取患者文章列表") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public Envelop searchPatientArticle( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "fields", value = "返回的字段,为空返回全部字段") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "fields", required = false) String fields, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "filters", value = "过滤器,为空检索所有条件") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "filters", required = false) String filters, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "sorts", value = "排序,规则参见说明文档") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "sorts", required = false) String sorts, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "page", value = "第几页,从1开始", required = true, defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "page", required = true,defaultValue = "1")Integer page, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@ApiParam(name = "pageSize", value = "每页分页大小", required = true, defaultValue = "10") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							@RequestParam(value = "pageSize", required = true,defaultValue = "10")Integer pageSize)throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						if(StringUtils.isBlank(filters)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							filters=filters+"del=1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							filters=filters+";del=1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						List<BasePatientBusinessDO> list  = patientBusinessService.search(fields,filters,sorts,page,pageSize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						for (BasePatientBusinessDO patientBusinessDO:list){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							Integer type = patientBusinessDO.getRelationType(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (type==1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								KnowledgeArticleDO knowledgeArticleDO = knowledgeArticleService.selectById(patientBusinessDO.getRelationCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								patientBusinessDO.setKnowledgeArticleDO(knowledgeArticleDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						List<BasePatientBusinessDO> totals  = patientBusinessService.search(fields,filters,sorts); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						JSONObject result = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						result.put("total",totals.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						result.put("detailModelList",list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						return success(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.setArticleCollection) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@ApiOperation(value = "设置文章为收藏/未收藏") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public ObjEnvelop setArticleCollection(@ApiParam(name = "id", value = "文章id") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
													 @RequestParam(value = "id",required = true)String id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
													 @ApiParam(name = "collection", value = "收藏(1收藏0未收藏)") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
													 @RequestParam(value = "collection",required = false)Integer collection)throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						return success(patientBusinessService.setCollectionById(id,collection)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |