LAPTOP-KB9HII50\70708 il y a 1 an
Parent
commit
564475724c

+ 112 - 2
business/base-service/src/main/java/com/yihu/jw/article/service/KnowledgeArticleDictService.java

@ -291,7 +291,7 @@ public class KnowledgeArticleDictService extends BaseJpaService<KnowledgeArticle
		}
		}
		return true;
		return true;
	}
	}
	
	/**
	/**
	 * 查询文章下科室
	 * 查询文章下科室
	 * @param articleId
	 * @param articleId
@ -311,6 +311,45 @@ public class KnowledgeArticleDictService extends BaseJpaService<KnowledgeArticle
		return list;
		return list;
	}
	}
	
	
	/**
	 * 查询文章下科室
	 * @param articleId
	 * @return
	 */
	public List<Map<String,Object>> findDeptByArticle2(String articleId)throws Exception{
		String sql ="SELECT " +
				" d.article_id AS \"articleId\"," +
				" d.dept as \"dept\", " +
				" d.dept_name AS \"deptName\" " +
				" FROM " +
				" wlyy_knowledge_article_dict t " +
				" JOIN wlyy_knowledge_article_dept d ON t.id = d.article_id " +
				" WHERE " +
				" t.id = '"+articleId+"'";
		List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
		return list;
	}
	/**
	 * 查询部门下的文章
	 * @param dept
	 * @return
	 */
	public List<Map<String,Object>> findArticleByDept2(String dept)throws Exception{
		String sql = "SELECT " +
				" t.id as \"id\", " +
				" t.title as \"title\", " +
				" t.create_time AS \"create_time\" ," +
				" t.image AS \"image\" " +
				" FROM " +
				" wlyy_knowledge_article_dict t " +
				" JOIN wlyy_knowledge_article_dept d ON t.id = d.article_id " +
				" WHERE " +
				" d.dept = '"+dept+"'";
		List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
		return list;
	}
	
	/**
	/**
	 * 查询部门下的文章
	 * 查询部门下的文章
	 * @param dept
	 * @param dept
@ -512,6 +551,78 @@ public class KnowledgeArticleDictService extends BaseJpaService<KnowledgeArticle
        objEnvelop.setCurrPage(page);
        objEnvelop.setCurrPage(page);
        return objEnvelop;
        return objEnvelop;
	}
	}
	//根据分类查询文章
	public MixEnvelop findArticleByCategoryAndName2(String categoryFirst, String categorySecond, String keyWords, Integer page, Integer pageSize){
		MixEnvelop objEnvelop = new MixEnvelop();
		String sql = "select t.id as \"id\",t.title as \"title\",t.read_count as \"readCount\"," +
				"t.collection as \"collection\",t.fabulous as \"fabulous\",t.is_share as \"share\"," +
				" t.intro as \"intro\",t.category_first_name as \"categoryFirstName\"," +
				" t.category_second_name as \"categorySecondName\" ," +
				"t.content as \"content\",t.image as \"image\",t.create_user_name as \"createUserName\",c.job_title_name as \"jobTitleName\"," +
				"b.dept_name as \"deptName\",b.org_name as \"hospitalName\"," +
				"t.create_time as \"createTime\" " +
				" from wlyy_knowledge_article_dict t left join wlyy_knowledge_article_dept a " +
				" on a.article_id = t.id left join base_doctor_hospital b on b.doctor_code = t.create_user" +
				" left join base_doctor c on c.id = t.create_user where 1=1 and t.del = 1 and t.status = 1";
		if (StringUtils.isNotBlank(categoryFirst)){
			sql+=" and t.category_first = '"+categoryFirst+"'";
		}
		if (StringUtils.isNotBlank(categorySecond)){
			sql+=" and t.category_second ='"+categorySecond+"'";
		}
		if (StringUtils.isNotBlank(keyWords)){
			sql+=" and (t.create_user_name like '%"+keyWords+"%' or t.title like '%"+keyWords+"%' or t.content like '%"+keyWords+"%' or a.dept_name like '%"+keyWords+"%' )";
		}
		sql+=" group by t.id ,t.title ,t.intro,t.category_first_name ,t.category_second_name ,c.job_title_name," +
				"t.read_count,t.collection,t.fabulous,t.is_share,t.content ,t.image ,t.create_user_name ,b.dept_name ,b.org_name,t.create_time " +
				" order by t.create_time desc";
		List<Map<String,Object>> result = hibenateUtils.createSQLQuery(sql,page,pageSize);
		List<Map<String,Object>> countList = hibenateUtils.createSQLQuery(sql);
		objEnvelop.setObj(result);
		objEnvelop.setTotalCount(countList.size());
		objEnvelop.setPageSize(pageSize);
		objEnvelop.setCurrPage(page);
		return objEnvelop;
	}
	//查询患者收藏的文章列表
	public JSONObject findPatientFavorite2(String patient,Integer page,Integer pageSize){
		String sql = "select t.id as \"id\",t.user_code as \"user\",t.user_name as \"userName\"," +
				"t.relation_code as \"relationCode\"," +
				"t.relation_type as \"relationType\"," +
				"t.relation_name as \"relationName\"," +
				"t.is_read as \"isRead\",t.fabulous as \"fabulous\"," +
				"t.is_share as \"share\"," +
				"t.collection as \"collection\",t.used as \"used\",t.del as \"del\"";
		sql+=" from wlyy_knowledge_article_user t left join wlyy_knowledge_article_dict a" +
				" on t.relation_code = a.id where 1=1 and a.del=1 and a.collection=1 ";
		if (StringUtils.isNotEmpty(patient)){
			sql+=" and t.user_code = '"+patient+"'";
		}
		List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql,page,pageSize);
		if(list!=null&&list.size()>0){
			for (Map<String,Object> map:list){
				String relationCode = map.get("relationCode").toString();
				String type =  map.get("relationType").toString();
				if ("1".equalsIgnoreCase(type)){
					KnowledgeArticleDictDO knowledgeArticleDO = this.selectById(relationCode);
					if (knowledgeArticleDO!=null){
						List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(knowledgeArticleDO.getCreateUser());
						if (doctorHospitalDOS!=null&&doctorHospitalDOS.size()!=0){
							knowledgeArticleDO.setDeptName(doctorHospitalDOS.get(0).getDeptName());
							knowledgeArticleDO.setHospitalName(doctorHospitalDOS.get(0).getOrgName());
						}
					}
					map.put("KnowledgeArticleUserDO",knowledgeArticleDO);
				}
			}
		}
		List<Map<String,Object>> listCount = hibenateUtils.createSQLQuery(sql);
		JSONObject result = new JSONObject();
		result.put("total",listCount.size());
		result.put("detailModelList",list);
		return result;
	}
	//查询患者收藏的文章列表
	//查询患者收藏的文章列表
	public JSONObject findPatientFavorite(String patient,Integer page,Integer pageSize){
	public JSONObject findPatientFavorite(String patient,Integer page,Integer pageSize){
@ -552,5 +663,4 @@ public class KnowledgeArticleDictService extends BaseJpaService<KnowledgeArticle
		return result;
		return result;
	}
	}
}
}

+ 73 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/article/ArticleDictEndpoint.java

@ -10,6 +10,8 @@ import com.yihu.jw.doctor.dao.BaseDoctorRoleDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorRoleDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorRoleDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDictDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDictDO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
@ -258,5 +260,76 @@ public class ArticleDictEndpoint extends EnvelopRestEndpoint {
	}
	}
	@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.findDeptByArticle)
	@ApiOperation(value = "查询文章下的科室")
	public ListEnvelop findDeptByArticle(@ApiParam(name = "articleId", value = "文章ID")
										 @RequestParam(value = "articleId",required = true)String articleId)throws Exception {
		try {
			return success(knowledgeArticleDictService.findDeptByArticle2(articleId));
		}catch (Exception e){
			return failedListEnvelopException(e);
		}
	}
	@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.findArticleByDept)
	@ApiOperation(value = "查询部门下发放的文章")
	public ListEnvelop findArticleByDept(@ApiParam(name = "dept", value = "科室")
										 @RequestParam(value = "dept",required = true)String dept)throws Exception {
		try {
			return success(knowledgeArticleDictService.findArticleByDept2(dept));
		}catch (Exception e){
			return failedListEnvelopException(e);
		}
	}
	@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.saveDeptArticle)
	@ApiOperation(value = "设置科室发送的文章")
	public ObjEnvelop saveDeptArticle(@ApiParam(name = "dept", value = "部门code")
									  @RequestParam(value = "dept",required = true)String dept,
									  @ApiParam(name = "sdJsons", value = "部门与科室关系json")
									  @RequestParam(value = "sdJsons",required = false)String sdJsons)throws Exception {
		try {
			return success(knowledgeArticleDictService.saveDeptArticle(dept,sdJsons));
		}catch (Exception e){
			return failedObjEnvelopException(e);
		}
	}
	@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.findArticleByCategoryAndName)
	@ApiOperation(value = "查询文章")
	public MixEnvelop findArticleByCategoryAndName(@ApiParam(name = "categoryFirst", value = "一级分类code")
												   @RequestParam(value = "categoryFirst",required = false)String categoryFirst,
												   @ApiParam(name = "categorySecond", value = "二级分类code")
												   @RequestParam(value = "categorySecond",required = false)String categorySecond,
												   @ApiParam(name = "keyWords", value = "关键词")
												   @RequestParam(value = "keyWords",required = false)String keyWords,
												   @ApiParam(name = "page", value = "当前页")
												   @RequestParam(value = "page",required = false)Integer page,
												   @ApiParam(name = "pageSize", value = "分页大小)")
												   @RequestParam(value = "pageSize",required = false)Integer pageSize)throws Exception {
		MixEnvelop mixEnvelop=knowledgeArticleDictService.findArticleByCategoryAndName2(categoryFirst,categorySecond,keyWords,page,pageSize);
		return mixEnvelop;
	}
	@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.findPatientFavorite)
	@ApiOperation(value = "查询收藏文章")
	public Envelop findPatientFavorite(@ApiParam(name = "patient", value = "病人id")
									   @RequestParam(value = "patient",required = false)String patient,
									   @ApiParam(name = "page", value = "当前页")
									   @RequestParam(value = "page",required = false)Integer page,
									   @ApiParam(name = "pageSize", value = "分页大小)")
									   @RequestParam(value = "pageSize",required = false)Integer pageSize)throws Exception {
		try {
			return success(knowledgeArticleDictService.findPatientFavorite2(patient,page,pageSize));
		}catch (Exception e){
			return failedException(e);
		}
	}
}
}

+ 51 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/patient/PatientNoLoginEndPoint.java

@ -3,6 +3,7 @@ package com.yihu.jw.hospital.endpoint.patient;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.article.dao.KnowledgeArticleUserDao;
import com.yihu.jw.article.dao.KnowledgeArticleUserDao;
import com.yihu.jw.article.service.KnowledgeArticleDictService;
import com.yihu.jw.contant.CommonContant;
import com.yihu.jw.contant.CommonContant;
import com.yihu.jw.dict.dao.DictHospitalDeptDao;
import com.yihu.jw.dict.dao.DictHospitalDeptDao;
import com.yihu.jw.dict.service.BaseDictJobTitleService;
import com.yihu.jw.dict.service.BaseDictJobTitleService;
@ -21,6 +22,7 @@ import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.wx.BasePatientWechatDo;
import com.yihu.jw.entity.base.wx.BasePatientWechatDo;
import com.yihu.jw.entity.base.wx.WxWechatDO;
import com.yihu.jw.entity.base.wx.WxWechatDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDictDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleUserDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleUserDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.entity.hospital.enterprise.WxEnterpriseDO;
import com.yihu.jw.entity.hospital.enterprise.WxEnterpriseDO;
@ -181,6 +183,8 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
    private KnowledgeArticleUserDao knowledgeArticleUserDao;
    private KnowledgeArticleUserDao knowledgeArticleUserDao;
    @Autowired
    @Autowired
    private KnowledgeArticleService knowledgeArticleService;
    private KnowledgeArticleService knowledgeArticleService;
    @Autowired
    private KnowledgeArticleDictService knowledgeArticleDictService;
    @Resource
    @Resource
    private KnowledgeArticleDao knowledgeArticleDao;
    private KnowledgeArticleDao knowledgeArticleDao;
    @Autowired
    @Autowired
@ -1792,6 +1796,53 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
            return failedException2(e);
            return failedException2(e);
        }
        }
    }
    }
    @GetMapping(value = "searchKnowledgeDictPageList")
    @ApiOperation(value = "获取文章列表")
    public Envelop searchKnowledgeDictPageList(
            @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{
        try {
            if(org.apache.commons.lang.StringUtils.isBlank(filters)){
                filters=filters+"del=1";
            }else{
                filters=filters+";del=1";
            }
            List<KnowledgeArticleDictDO> list  = knowledgeArticleDictService.search(fields,filters,sorts,page,pageSize);
            for (KnowledgeArticleDictDO knowledgeArticleDO:list){
                List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(knowledgeArticleDO.getCreateUser());
                if (doctorHospitalDOS!=null&&doctorHospitalDOS.size()!=0){
                    BaseDoctorHospitalDO doctorHospitalDO = doctorHospitalDOS.get(0);
                    knowledgeArticleDO.setDeptName(doctorHospitalDO.getDeptName());
                    knowledgeArticleDO.setHospitalName(doctorHospitalDO.getOrgName());
                }
                KnowledgeArticleUserDO knowledgeArticleUserDO = knowledgeArticleUserDao.findByrelationCodeAndUserAndDel(knowledgeArticleDO.getId(),getUID());
                if (knowledgeArticleUserDO!=null){
                    if (knowledgeArticleUserDO.getUsed()!=null&&knowledgeArticleUserDO.getUsed()==1){
                        knowledgeArticleDO.setIsUsed(1);
                    }
                }
            }
            List<KnowledgeArticleDictDO> totals  = knowledgeArticleDictService.search(fields,filters,sorts);
            JSONObject result = new JSONObject();
            result.put("total",totals.size());
            result.put("detailModelList",list);
            return success(result);
        }catch (Exception e) {
            return failedException2(e);
        }
    }
    @GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchKnowledgePageList)
    @GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchKnowledgePageList)
    @ApiOperation(value = "获取文章列表")
    @ApiOperation(value = "获取文章列表")
    public Envelop searchKnowledgePageList(
    public Envelop searchKnowledgePageList(