瀏覽代碼

代码修改

suqinyi 11 月之前
父節點
當前提交
b1013e02fa

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

@ -25,6 +25,7 @@ import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.user.UserDao;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.utils.EntityUtils;
import com.yihu.jw.utils.StringUtil;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -167,7 +168,9 @@ public class KnowledgeArticleDictService extends BaseJpaService<KnowledgeArticle
            // 新增
            knowledgeArticleDO.setId(UUID.randomUUID().toString().replace("-", ""));
            knowledgeArticleDO.setCreateTime(new Date());
            knowledgeArticleDO.setStatus(0);
            knowledgeArticleDO.setReleaseStatus(0);
            knowledgeArticleDO.setDel(1);
            knowledgeArticleDO.setType(type);
@ -182,13 +185,11 @@ public class KnowledgeArticleDictService extends BaseJpaService<KnowledgeArticle
            if (type == 1) {
                BaseDoctorDO userDO = doctorDao.findById(knowledgeArticleDO.getCreateUser()).orElse(null);
                if (userDO != null) {
                    knowledgeArticleDO.setCreateUserName(userDO.getName());
                }
            } else {
                BaseDoctorDO userDO = doctorDao.findById(knowledgeArticleDO.getCreateUser()).orElse(null);
                if (userDO != null) {
                    knowledgeArticleDO.setCreateUserName(userDO.getName());
                }
@ -198,6 +199,9 @@ public class KnowledgeArticleDictService extends BaseJpaService<KnowledgeArticle
                knowledgeArticleDO.setStatus(1);
                knowledgeArticleDO.setReleaseStatus(1);
            }
            knowledgeArticleDO = knowledgeArticleDictDao.save(knowledgeArticleDO);
            return knowledgeArticleDO;
        } else {

+ 2 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/article/ArticleEndpoint.java

@ -155,8 +155,8 @@ public class ArticleEndpoint extends EnvelopRestEndpoint {
	@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.saveArticle)
	@ApiOperation(value = "保存/更新文章")
	public Envelop saveArticle(
			@ApiParam(name = "jsonData", value = "Json数据", required = true)
			@RequestParam String jsonData)throws Exception {
			@ApiParam(name = "jsonData", value = "Json数据", required = true) @RequestParam String jsonData
	)throws Exception {
		try {
			knowledgeArticleDictService.saveArticle(jsonData,1);

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

@ -108,23 +108,21 @@ public class ArticleDictEndpoint extends EnvelopRestEndpoint {
	@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchKnowledgeList)
	@ApiOperation(value = "获取文章列表")
	public Envelop searchKnowledgeList(
			@ApiParam(name = "first", value = "second")
			@RequestParam(value = "first", required = false) String first,
			@ApiParam(name = "second", value = "second")
			@RequestParam(value = "second", required = false) String second,
			@ApiParam(name = "key", value = "关键字")
			@RequestParam(value = "key", required = false) String key,
			@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){
			@ApiParam(name = "first", value = "second") @RequestParam(value = "first", required = false) String first,
			@ApiParam(name = "second", value = "second") @RequestParam(value = "second", required = false) String second,
			@ApiParam(name = "key", value = "关键字") @RequestParam(value = "key", required = false) String key,
			@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
	){
		try {
			return success(knowledgeArticleDictService.findArticleList(first,second,2,key,page,pageSize));
		}catch (Exception e){
			return failedException2(e);
		}
	}
	@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.queryById)
	@ApiOperation(value = "根据id查询文章")
	public Envelop queryByCode(
@ -160,9 +158,8 @@ public class ArticleDictEndpoint extends EnvelopRestEndpoint {
	@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.saveArticle)
	@ApiOperation(value = "保存/更新文章")
	public Envelop saveArticle(
			@ApiParam(name = "jsonData", value = "Json数据", required = true)
			@RequestParam String jsonData) {
			@ApiParam(name = "jsonData", value = "Json数据", required = true) @RequestParam String jsonData
	) {
		try {
			knowledgeArticleDictService.saveArticle(jsonData,2);
			return success("操作成功");
@ -189,12 +186,9 @@ public class ArticleDictEndpoint extends EnvelopRestEndpoint {
	@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.reviewArticle)
	@ApiOperation(value = "审核/退回文章")
	public Envelop saveArticle(
			@ApiParam(name = "articleId", value = "文章ID")
			@RequestParam(value = "articleId", required = true) String articleId,
			@ApiParam(name = "status", value = "0未审核,1已审核,2退回")
			@RequestParam(value = "status", required = true) Integer status,
			@ApiParam(name = "reason", value = "退回理由")
			@RequestParam(value = "reason", required = false) String reason
			@ApiParam(name = "articleId", value = "文章ID") @RequestParam(value = "articleId", required = true) String articleId,
			@ApiParam(name = "status", value = "0未审核,1已审核,2退回") @RequestParam(value = "status", required = true) Integer status,
			@ApiParam(name = "reason", value = "退回理由") @RequestParam(value = "reason", required = false) String reason
	){
		try {
			knowledgeArticleDictService.reviewArticle(articleId,status,reason);
@ -207,10 +201,10 @@ public class ArticleDictEndpoint extends EnvelopRestEndpoint {
	@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.setArticleUsed)
	@ApiOperation(value = "发布文章")
	public ObjEnvelop setArticleUsed(@ApiParam(name = "id", value = "文章id")
									  @RequestParam(value = "id",required = true)String id,
									  @ApiParam(name = "status", value = "1发布0未发布")
									  @RequestParam(value = "status",required = false)Integer status){
	public ObjEnvelop setArticleUsed(
			@ApiParam(name = "id", value = "文章id") @RequestParam(value = "id",required = true)String id,
			@ApiParam(name = "status", value = "1发布0未发布") @RequestParam(value = "status",required = false)Integer status
	){
		try {
			return success(knowledgeArticleDictService.releaseArticle(id,status));
		}catch (Exception e){

+ 470 - 484
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/article/ArticleEndpoint.java

@ -30,501 +30,487 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
 * 健康文章
 *
 * @author huangwenjie
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.PREFIX)
@Api(value = "健康文章", description = "健康文章接口", tags = {"健康文章接口"})
public class ArticleEndpoint extends EnvelopRestEndpoint {
	
	@Autowired
	private KnowledgeArticleService  knowledgeArticleService;
	@Autowired
	private KnowledgeCategoryService knowledgeCategoryService;
	@Autowired
	private BasePatientBusinessService patientBusinessService;
	@Autowired
	private BaseDoctorHospitalDao doctorHospitalDao;
	@Autowired
	private KnowledgeArticleUserService knowledgeArticleUserService;
	@Autowired
	private KnowledgeArticleUserDao knowledgeArticleUserDao;
	@Autowired
	private KnowledgeArticleDao knowledgeArticleDao;
	@Autowired
	private KnowledgeArticleDictDao knowledgeArticleDictDao;
	
	@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchKnowledgePageList)
	@ApiOperation(value = "获取文章列表")
	public Envelop searchKnowledgePageList(
			@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(StringUtils.isBlank(filters)){
				filters=filters+"del=1";
			}else{
				filters=filters+";del=1";
			}
			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());
					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<KnowledgeArticleDO> totals  = knowledgeArticleService.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.queryById)
	@ApiOperation(value = "根据id查询文章")
	public Envelop queryByCode(
			@ApiParam(name = "id", value = "id", required = true)
			@RequestParam(value = "id", required = true)String id) throws Exception{
			try {
				KnowledgeArticleDO articleDO = knowledgeArticleDao.findById(id).orElse(null);
				if(articleDO==null){
					KnowledgeArticleDictDO articleDictDO = knowledgeArticleDictDao.findByIdAndDel(id);
					KnowledgeArticleUserDO knowledgeArticleUserDO = knowledgeArticleUserDao.findByrelationCodeAndUserAndDel(articleDictDO.getId(),getUID());
					if (knowledgeArticleUserDO!=null){
						articleDictDO.setIsUsed(knowledgeArticleUserDO.getUsed());
						articleDictDO.setKnowledgeArticleUserDO(knowledgeArticleUserDO);
					}
					List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(articleDictDO.getCreateUser());
					if (doctorHospitalDOS!=null&&doctorHospitalDOS.size()!=0){
						articleDictDO.setHospitalName(doctorHospitalDOS.get(0).getOrgName());
						articleDictDO.setDeptName(doctorHospitalDOS.get(0).getDeptName());
					}
					return success(articleDictDO);
				}
				KnowledgeArticleUserDO knowledgeArticleUserDO = knowledgeArticleUserDao.findByrelationCodeAndUserAndDel(articleDO.getId(),getUID());
				if (knowledgeArticleUserDO!=null){
					articleDO.setIsUsed(knowledgeArticleUserDO.getUsed());
					articleDO.setKnowledgeArticleUserDO(knowledgeArticleUserDO);
				}
				List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(articleDO.getCreateUser());
				if (doctorHospitalDOS!=null&&doctorHospitalDOS.size()!=0){
					articleDO.setHospitalName(doctorHospitalDOS.get(0).getOrgName());
					articleDO.setDeptName(doctorHospitalDOS.get(0).getDeptName());
				}
				return success(articleDO);
			}catch (Exception e){
				return failedException2(e);
			}
	}
	
	@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.deleteById)
	@ApiOperation(value = "根据id删除文章")
	public Envelop deleteById(
			@ApiParam(name = "id", value = "id,多个使用英文逗号分隔", required = true)
			@RequestParam(value = "id", required = true)String id)throws Exception {
			try {
				knowledgeArticleService.delArticle(id);
				return success("操作成功");
			}catch (Exception e){
				return failedException2(e);
			}
	}
	
	@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.saveArticle)
	@ApiOperation(value = "保存/更新文章")
	public Envelop saveArticle(
			@ApiParam(name = "jsonData", value = "Json数据", required = true)
			@RequestParam String jsonData)throws Exception {
		try {
			knowledgeArticleService.saveArticle(jsonData);
			return success("操作成功");
		}catch (Exception e){
			return failedException2(e);
		}
	}
	@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.updateIsShow)
	@ApiOperation(value = "修改文章是否展示首页")
	public Envelop updateIsShow(
			@ApiParam(name = "id", value = "id", required = true)
			@RequestParam String id,
			@ApiParam(name = "isShow", value = "isShow", required = true)
			@RequestParam Integer isShow)throws Exception {
		try {
			knowledgeArticleService.updateIsShow(id,isShow);
			return success("操作成功");
		}catch (Exception e){
			return failedException2(e);
		}
	}
	
	@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.reviewArticle)
	@ApiOperation(value = "审核/退回文章")
	public Envelop saveArticle(
			@ApiParam(name = "articleId", value = "文章ID")
			@RequestParam(value = "articleId", required = true) String articleId,
			@ApiParam(name = "status", value = "0未审核,1已审核,2退回")
			@RequestParam(value = "status", required = true) Integer status,
			@ApiParam(name = "reason", value = "退回理由")
			@RequestParam(value = "reason", required = false) String reason
	)throws Exception {
		try {
			knowledgeArticleService.reviewArticle(articleId,status,reason);
			return success("操作成功");
		}catch (Exception e){
			return failedException2(e);
		}
	}
	
	
	@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchCategoryList)
	@ApiOperation(value = "获取分类列表")
	public ListEnvelop searchCategoryList(
			@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.lang3.StringUtils.isNotBlank(filters)){
				filters += ";del=1";
			}else {
				filters = "del=1";
			}
			List<KnowledgeCategoryDO> list  = knowledgeCategoryService.search(fields,filters,sorts,page,pageSize);
			return success(list);
		}catch (Exception e){
			return failedListEnvelopException(e);
		}
	}
	
	@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.saveCategory)
	@ApiOperation(value = "保存/更新分类")
	public Envelop saveCategory(
			@ApiParam(name = "jsonData", value = "Json数据", required = true)
			@RequestParam String jsonData)throws Exception {
		try {
			knowledgeCategoryService.saveCategory(jsonData);
			return success("操作成功");
		} catch (Exception e){
			return failedException2(e);
		}
	}
	
	@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.updateDel)
	@ApiOperation(value = "根据分类code删除分类")
	public Envelop updateDel(
			@ApiParam(name = "id", value = "id", required = true)
			@RequestParam(value = "id", required = true)String id)throws Exception {
		try {
			Boolean flag = knowledgeCategoryService.updateDel(id);
			if (flag) {
				return success("操作成功");
			}else{
				return failed("存在一级或二级分类,删除失败");
			}
		}catch (Exception e){
			e.printStackTrace();
			return failedException2(e);
		}
		
	}
	@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.saveArticleDept)
	@ApiOperation(value = "设置文章发送的科室")
	public ObjEnvelop saveArticleDept(@ApiParam(name = "articleId", value = "文章ID")
	                                 @RequestParam(value = "articleId",required = true)String articleId,
	                                 @ApiParam(name = "sdJsons", value = "部门与科室关系json")
	                                 @RequestParam(value = "sdJsons",required = true)String sdJsons)throws Exception {
		try {
			return success(knowledgeArticleService.saveArticleDept(articleId,sdJsons));
		}catch (Exception e){
			return failedObjEnvelopException(e);
		}
	}
	
	@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(knowledgeArticleService.findDeptByArticle(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(knowledgeArticleService.findArticleByDept(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(knowledgeArticleService.saveDeptArticle(dept,sdJsons));
		}catch (Exception e){
			return failedObjEnvelopException(e);
		}
	}
	@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.sendPatientBusiness)
	@ApiOperation(value = "发送文章/问卷")
	public ListEnvelop sendPatientBusiness(@ApiParam(name = "json", value = "患者业务关联表")
									  @RequestParam(value = "json",required = false)String json)throws Exception {
		try {
			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;
		}catch (Exception e){
			return failedListEnvelopException(e);
		}
	}
	@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,
									 @ApiParam(name = "doctor", value = "医生code")
										 @RequestParam(value = "doctor",required = false)String doctor)throws Exception {
		try {
			return success(knowledgeArticleService.setUsed(id,used,doctor));
		}catch (Exception e){
			return failedObjEnvelopException(e);
		}
}
	@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{
		try {
			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());
					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());
						}
					}
					patientBusinessDO.setKnowledgeArticleDO(knowledgeArticleDO);
					KnowledgeArticleUserDO knowledgeArticleUserDO = knowledgeArticleUserDao.findByrelationCodeAndUserAndDel(patientBusinessDO.getRelationCode(),patientBusinessDO.getPatient());
					if (knowledgeArticleUserDO!=null){
						patientBusinessDO.setIsRead(knowledgeArticleUserDO.getIsRead());
						patientBusinessDO.setShare(knowledgeArticleUserDO.getShare());
						patientBusinessDO.setFabulous(knowledgeArticleUserDO.getFabulous());
						patientBusinessDO.setCollection(knowledgeArticleUserDO.getCollection());
					}
				}
			}
			List<BasePatientBusinessDO> totals  = patientBusinessService.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);
		}
	}
	@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.setArticleCollection)
	@ApiOperation(value = "设置文章状态")
	public ObjEnvelop setArticleCollection(@ApiParam(name = "id", value = "文章id")
									 @RequestParam(value = "id",required = true)String id,
									 @ApiParam(name = "flag", value = "1收藏2阅读3点赞4分享")
									 @RequestParam(value = "flag",required = true)Integer flag,
									 @ApiParam(name = "status", value = "收藏(1收藏0未收藏)/阅读(1已读0未读)/点赞(1已赞0未赞)分享(1已分享0未分享)")
									 @RequestParam(value = "status",required = true)Integer status,
										   @ApiParam(name = "user", value = "用户code")
											   @RequestParam(value = "user",required = true)String user,
										   @ApiParam(name = "userType", value = "用户类型(1患者2医生)")
											   @RequestParam(value = "userType",required = true)String userType)throws Exception {
		try {
			return success(patientBusinessService.setCollectionById(id,flag,status,user,userType));
		}catch (Exception e){
			return failedObjEnvelopException(e);
		}
	}
	@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchArticleByStatus)
	@ApiOperation(value = "获取患者文章状态列表")
	public Envelop searchPatientArticleByStatus(
			@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(StringUtils.isBlank(filters)){
				filters=filters+"del=1";
			}else{
				filters=filters+";del=1";
			}
			List<KnowledgeArticleUserDO> list  = knowledgeArticleUserService.search(fields,filters,sorts,page,pageSize);
			for (KnowledgeArticleUserDO knowledgeArticleUserDO:list){
				Integer type = knowledgeArticleUserDO.getRelationType();
				if (type==1){
					KnowledgeArticleDO knowledgeArticleDO = knowledgeArticleService.selectById(knowledgeArticleUserDO.getRelationCode());
					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());
						}
					}
					knowledgeArticleUserDO.setKnowledgeArticleDO(knowledgeArticleDO);
				}
			}
			List<KnowledgeArticleUserDO> totals  = knowledgeArticleUserService.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);
		}
	}
	@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=knowledgeArticleService.findArticleByCategoryAndName(categoryFirst,categorySecond,keyWords,page,pageSize);
		return mixEnvelop;
	}
	@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.getArticleGroup)
	@ApiOperation(value = "查询分类")
	public MixEnvelop getGroup(){
		try {
			MixEnvelop envelop = knowledgeCategoryService.findAllGroup();
			return envelop;
		}catch (Exception e){
			return failedMixEnvelopException(e);
		}
	}
	@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(knowledgeArticleService.findPatientFavorite(patient,page,pageSize));
		}catch (Exception e){
			return failedException2(e);
		}
	}
    @Autowired
    private KnowledgeArticleService knowledgeArticleService;
    @Autowired
    private KnowledgeCategoryService knowledgeCategoryService;
    @Autowired
    private BasePatientBusinessService patientBusinessService;
    @Autowired
    private BaseDoctorHospitalDao doctorHospitalDao;
    @Autowired
    private KnowledgeArticleUserService knowledgeArticleUserService;
    @Autowired
    private KnowledgeArticleUserDao knowledgeArticleUserDao;
    @Autowired
    private KnowledgeArticleDao knowledgeArticleDao;
    @Autowired
    private KnowledgeArticleDictDao knowledgeArticleDictDao;
    @GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchKnowledgePageList)
    @ApiOperation(value = "获取文章列表")
    public Envelop searchKnowledgePageList(
            @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 (StringUtils.isBlank(filters)) {
                filters = filters + "del=1";
            } else {
                filters = filters + ";del=1";
            }
            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());
                    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<KnowledgeArticleDO> totals = knowledgeArticleService.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.queryById)
    @ApiOperation(value = "根据id查询文章")
    public Envelop queryByCode(
            @ApiParam(name = "id", value = "id", required = true) @RequestParam(value = "id", required = true) String id) throws Exception {
        try {
            KnowledgeArticleDO articleDO = knowledgeArticleDao.findById(id).orElse(null);
            if (articleDO == null) {
                KnowledgeArticleDictDO articleDictDO = knowledgeArticleDictDao.findByIdAndDel(id);
                KnowledgeArticleUserDO knowledgeArticleUserDO = knowledgeArticleUserDao.findByrelationCodeAndUserAndDel(articleDictDO.getId(), getUID());
                if (knowledgeArticleUserDO != null) {
                    articleDictDO.setIsUsed(knowledgeArticleUserDO.getUsed());
                    articleDictDO.setKnowledgeArticleUserDO(knowledgeArticleUserDO);
                }
                List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(articleDictDO.getCreateUser());
                if (doctorHospitalDOS != null && doctorHospitalDOS.size() != 0) {
                    articleDictDO.setHospitalName(doctorHospitalDOS.get(0).getOrgName());
                    articleDictDO.setDeptName(doctorHospitalDOS.get(0).getDeptName());
                }
                return success(articleDictDO);
            }
            KnowledgeArticleUserDO knowledgeArticleUserDO = knowledgeArticleUserDao.findByrelationCodeAndUserAndDel(articleDO.getId(), getUID());
            if (knowledgeArticleUserDO != null) {
                articleDO.setIsUsed(knowledgeArticleUserDO.getUsed());
                articleDO.setKnowledgeArticleUserDO(knowledgeArticleUserDO);
            }
            List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(articleDO.getCreateUser());
            if (doctorHospitalDOS != null && doctorHospitalDOS.size() != 0) {
                articleDO.setHospitalName(doctorHospitalDOS.get(0).getOrgName());
                articleDO.setDeptName(doctorHospitalDOS.get(0).getDeptName());
            }
            return success(articleDO);
        } catch (Exception e) {
            return failedException2(e);
        }
    }
    @PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.deleteById)
    @ApiOperation(value = "根据id删除文章")
    public Envelop deleteById(
            @ApiParam(name = "id", value = "id,多个使用英文逗号分隔", required = true) @RequestParam(value = "id", required = true) String id) throws Exception {
        try {
            knowledgeArticleService.delArticle(id);
            return success("操作成功");
        } catch (Exception e) {
            return failedException2(e);
        }
    }
    @PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.saveArticle)
    @ApiOperation(value = "保存/更新文章")
    public Envelop saveArticle(
            @ApiParam(name = "jsonData", value = "Json数据", required = true) @RequestParam String jsonData
    ) throws Exception {
        try {
            knowledgeArticleService.saveArticle(jsonData);
            return success("操作成功");
        } catch (Exception e) {
            return failedException2(e);
        }
    }
    @PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.updateIsShow)
    @ApiOperation(value = "修改文章是否展示首页")
    public Envelop updateIsShow(
            @ApiParam(name = "id", value = "id", required = true) @RequestParam String id,
            @ApiParam(name = "isShow", value = "isShow", required = true) @RequestParam Integer isShow
    ) throws Exception {
        try {
            knowledgeArticleService.updateIsShow(id, isShow);
            return success("操作成功");
        } catch (Exception e) {
            return failedException2(e);
        }
    }
    @PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.reviewArticle)
    @ApiOperation(value = "审核/退回文章")
    public Envelop saveArticle(
            @ApiParam(name = "articleId", value = "文章ID") @RequestParam(value = "articleId", required = true) String articleId,
            @ApiParam(name = "status", value = "0未审核,1已审核,2退回") @RequestParam(value = "status", required = true) Integer status,
            @ApiParam(name = "reason", value = "退回理由") @RequestParam(value = "reason", required = false) String reason
    ) throws Exception {
        try {
            knowledgeArticleService.reviewArticle(articleId, status, reason);
            return success("操作成功");
        } catch (Exception e) {
            return failedException2(e);
        }
    }
    @GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchCategoryList)
    @ApiOperation(value = "获取分类列表")
    public ListEnvelop searchCategoryList(
            @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.lang3.StringUtils.isNotBlank(filters)) {
                filters += ";del=1";
            } else {
                filters = "del=1";
            }
            List<KnowledgeCategoryDO> list = knowledgeCategoryService.search(fields, filters, sorts, page, pageSize);
            return success(list);
        } catch (Exception e) {
            return failedListEnvelopException(e);
        }
    }
    @PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.saveCategory)
    @ApiOperation(value = "保存/更新分类")
    public Envelop saveCategory(
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestParam String jsonData) throws Exception {
        try {
            knowledgeCategoryService.saveCategory(jsonData);
            return success("操作成功");
        } catch (Exception e) {
            return failedException2(e);
        }
    }
    @PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.updateDel)
    @ApiOperation(value = "根据分类code删除分类")
    public Envelop updateDel(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id", required = true) String id) throws Exception {
        try {
            Boolean flag = knowledgeCategoryService.updateDel(id);
            if (flag) {
                return success("操作成功");
            } else {
                return failed("存在一级或二级分类,删除失败");
            }
        } catch (Exception e) {
            e.printStackTrace();
            return failedException2(e);
        }
    }
    @PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.saveArticleDept)
    @ApiOperation(value = "设置文章发送的科室")
    public ObjEnvelop saveArticleDept(@ApiParam(name = "articleId", value = "文章ID")
                                      @RequestParam(value = "articleId", required = true) String articleId,
                                      @ApiParam(name = "sdJsons", value = "部门与科室关系json")
                                      @RequestParam(value = "sdJsons", required = true) String sdJsons) throws Exception {
        try {
            return success(knowledgeArticleService.saveArticleDept(articleId, sdJsons));
        } catch (Exception e) {
            return failedObjEnvelopException(e);
        }
    }
    @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(knowledgeArticleService.findDeptByArticle(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(knowledgeArticleService.findArticleByDept(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(knowledgeArticleService.saveDeptArticle(dept, sdJsons));
        } catch (Exception e) {
            return failedObjEnvelopException(e);
        }
    }
    @PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.sendPatientBusiness)
    @ApiOperation(value = "发送文章/问卷")
    public ListEnvelop sendPatientBusiness(
            @ApiParam(name = "json", value = "患者业务关联表") @RequestParam(value = "json", required = false) String json
    ) throws Exception {
        try {
            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;
        } catch (Exception e) {
            return failedListEnvelopException(e);
        }
    }
    @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,
            @ApiParam(name = "doctor", value = "医生code") @RequestParam(value = "doctor", required = false) String doctor
    ) throws Exception {
        try {
            return success(knowledgeArticleService.setUsed(id, used, doctor));
        } catch (Exception e) {
            return failedObjEnvelopException(e);
        }
    }
    @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 {
        try {
            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());
                    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());
                        }
                    }
                    patientBusinessDO.setKnowledgeArticleDO(knowledgeArticleDO);
                    KnowledgeArticleUserDO knowledgeArticleUserDO = knowledgeArticleUserDao.findByrelationCodeAndUserAndDel(patientBusinessDO.getRelationCode(), patientBusinessDO.getPatient());
                    if (knowledgeArticleUserDO != null) {
                        patientBusinessDO.setIsRead(knowledgeArticleUserDO.getIsRead());
                        patientBusinessDO.setShare(knowledgeArticleUserDO.getShare());
                        patientBusinessDO.setFabulous(knowledgeArticleUserDO.getFabulous());
                        patientBusinessDO.setCollection(knowledgeArticleUserDO.getCollection());
                    }
                }
            }
            List<BasePatientBusinessDO> totals = patientBusinessService.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);
        }
    }
    @PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.setArticleCollection)
    @ApiOperation(value = "设置文章状态")
    public ObjEnvelop setArticleCollection(
            @ApiParam(name = "id", value = "文章id") @RequestParam(value = "id", required = true) String id,
            @ApiParam(name = "flag", value = "1收藏2阅读3点赞4分享") @RequestParam(value = "flag", required = true) Integer flag,
            @ApiParam(name = "status", value = "收藏(1收藏0未收藏)/阅读(1已读0未读)/点赞(1已赞0未赞)分享(1已分享0未分享)") @RequestParam(value = "status", required = true) Integer status,
            @ApiParam(name = "user", value = "用户code") @RequestParam(value = "user", required = true) String user,
            @ApiParam(name = "userType", value = "用户类型(1患者2医生)") @RequestParam(value = "userType", required = true) String userType
    ) throws Exception {
        try {
            return success(patientBusinessService.setCollectionById(id, flag, status, user, userType));
        } catch (Exception e) {
            return failedObjEnvelopException(e);
        }
    }
    @GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchArticleByStatus)
    @ApiOperation(value = "获取患者文章状态列表")
    public Envelop searchPatientArticleByStatus(
            @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 (StringUtils.isBlank(filters)) {
                filters = filters + "del=1";
            } else {
                filters = filters + ";del=1";
            }
            List<KnowledgeArticleUserDO> list = knowledgeArticleUserService.search(fields, filters, sorts, page, pageSize);
            for (KnowledgeArticleUserDO knowledgeArticleUserDO : list) {
                Integer type = knowledgeArticleUserDO.getRelationType();
                if (type == 1) {
                    KnowledgeArticleDO knowledgeArticleDO = knowledgeArticleService.selectById(knowledgeArticleUserDO.getRelationCode());
                    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());
                        }
                    }
                    knowledgeArticleUserDO.setKnowledgeArticleDO(knowledgeArticleDO);
                }
            }
            List<KnowledgeArticleUserDO> totals = knowledgeArticleUserService.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);
        }
    }
    @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 = knowledgeArticleService.findArticleByCategoryAndName(categoryFirst, categorySecond, keyWords, page, pageSize);
        return mixEnvelop;
    }
    @GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.getArticleGroup)
    @ApiOperation(value = "查询分类")
    public MixEnvelop getGroup() {
        try {
            MixEnvelop envelop = knowledgeCategoryService.findAllGroup();
            return envelop;
        } catch (Exception e) {
            return failedMixEnvelopException(e);
        }
    }
    @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(knowledgeArticleService.findPatientFavorite(patient, page, pageSize));
        } catch (Exception e) {
            return failedException2(e);
        }
    }
    /**
     * 查询发送记录
     * base_patient_business
     */
    @PostMapping(value = "/findSendLogList")
    @ApiOperation(value = "查询医生的发送记录")
    public Envelop findSendLogList(
            @ApiParam(name = "doctorCode", value = "病人id") @RequestParam(value = "doctorCode", required = false) String doctorCode,
            @ApiParam(name = "patient", value = "居民code") @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 {
            HashMap<String, Object> result = knowledgeArticleService.findSendLogList(doctorCode,patient, page, pageSize);
            return success(result);
        } catch (Exception e) {
            return failedException2(e);
        }
    }
}

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

@ -1884,16 +1884,12 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
    @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{
            @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)){
@ -1931,16 +1927,12 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
    @GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchKnowledgePageList)
    @ApiOperation(value = "获取文章列表")
    public Envelop searchKnowledgePageList(
            @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{
            @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)){

+ 2 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/service/consult/BasePatientBusinessService.java

@ -167,6 +167,8 @@ public class BasePatientBusinessService extends BaseJpaService<BasePatientBusine
		}
		return knowledgeArticleDO;
	}
	public void setUsed(String id,Integer used,String doctor){
		WlyySurveyTemplateDO wlyySurveyTemplateDO = surveyTemplateDao.findById(id).orElse(null);
		BaseDoctorDO doctorDO = doctorDao.findById(doctor).orElse(null);

+ 12 - 4
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/service/consult/KnowledgeArticleService.java

@ -32,10 +32,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.*;
/**
 * 健康文章业务层代码
@ -299,6 +296,11 @@ public class KnowledgeArticleService extends BaseJpaService<KnowledgeArticleDO,
                        object.put("img", knowledgeArticleDO.getImage());
                    }
                    imUtil.sendImMsg(patientBusinessDO.getDoctor(), patientBusinessDO.getDoctorName(), patientBusinessDO.getSessionId(), "4", object.toJSONString(), "1", null);
                    //增加指导发送次数
                    String sql01 = "UPDATE wlyy_doctor_guidance_temp  " +
                            "SET send_times=send_times+1 " +
                            "WHERE CODE='" + patientBusinessDO.getRelationCode() + "'  AND OWNER = '" + patientBusinessDO.getDoctor() + "'";
                    jdbcTemplate.update(sql01);
                } else {
                    WlyySurveyUserDO wlyySurveyUserDO = new WlyySurveyUserDO();
                    String doctor = patientBusinessDO.getDoctor();
@ -464,4 +466,10 @@ public class KnowledgeArticleService extends BaseJpaService<KnowledgeArticleDO,
    }
    public HashMap<String, Object> findSendLogList(String doctorCode, String patient, Integer page, Integer pageSize) {
        HashMap<String, Object> resultMap = new HashMap<>();
        String sql = " select * from base_patient_business a inner  ";
        return null;
    }
}

+ 2 - 2
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/door/service/WlyyDoorServiceOrderService.java

@ -2599,8 +2599,8 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
        String sql = "SELECT * FROM wlyy_consult WHERE relation_code='" + orderId + "'";
        ConsultDo consult = null;
        List<ConsultDo> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(ConsultDo.class));
        if (list != null && list.size() > 0) {
      `  List<ConsultDo> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(ConsultDo.class));
      `  if (list != null && list.size() > 0) {
            consult = list.get(0);
            System.out.println("ConsultDo的list数量==>" + list.size());
        } else {

+ 53 - 49
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/template/controller/DoctorGuidanceTempController.java

@ -55,27 +55,34 @@ public class DoctorGuidanceTempController extends BaseController {
    @RequestMapping(value = "/add", method = RequestMethod.POST)
    @ApiOperation(value = "添加指导模板")
   
    public String add(@RequestParam @ApiParam(value = "指导内容") String content,
                      @RequestParam @ApiParam(value = "模板名称") String modelName,
                      @RequestParam(required = false) @ApiParam(value = "图片内容") String imagesUrl) {
    public String add(
            @RequestParam @ApiParam(value = "指导内容") String content,
            @RequestParam @ApiParam(value = "模板名称") String modelName,
            @RequestParam(required = false) @ApiParam(value = "图片内容") String imagesUrl,
            @RequestParam(required = false) @ApiParam(value = "医生code") String doctorCode,
            @RequestParam(required = false) @ApiParam(value = "健康指导文章的code") String articleCode
    ) {
        try {
            if (StringUtils.isEmpty(content)) {
                return error(-1, "内容不能为空");
            }
            if (modelName.length() < 1 || modelName.length() > 10) {
                return error(-1, "模板名称不能为空且在10字之内");
            if (modelName.length() < 1 || modelName.length() > 5) {
                return error(-1, "模板名称不能为空且在5字之内");
            }
            //验证模板名称唯一性
            System.out.println("getUID()==>" + getUID());
            if (StringUtils.isNotBlank(doctorCode)){
                doctorCode=getUID();
            }
            //        验证模板名称唯一性
            List<DoctorGuidanceTemp> templates = guidanceTempDao.findByTitle(getUID(), modelName);
            List<DoctorGuidanceTemp> templates = guidanceTempDao.findByTitle(doctorCode, modelName);
            if (templates != null && templates.size() != 0) {
                return error(-1, "模板名称与现有模板重复,请修改");
            }
            DoctorGuidanceTemp temp = guidanceTempService.add(getUID(), content, modelName, imagesUrl);
            DoctorGuidanceTemp temp = guidanceTempService.add(doctorCode, content, modelName, imagesUrl,articleCode);
            if (temp != null) {
                return write(200, "添加成功","modelCode",temp.getCode());
                return write(200, "添加成功", "modelCode", temp.getCode());
            } else {
                return write(-1, "添加失败");
            }
@ -94,11 +101,12 @@ public class DoctorGuidanceTempController extends BaseController {
     */
    @RequestMapping(value = "/modify", method = RequestMethod.POST)
    @ApiOperation(value = "修改指导模板")
   
    public String modify(@RequestParam @ApiParam(value = "指导编码") String code,
                         @RequestParam @ApiParam(value = "模板标题") String modelName,
                         @RequestParam @ApiParam(value = "指导内容") String content,
                         @RequestParam(required = false) @ApiParam(value = "图片地址") String imagesUrl
    public String modify(
            @RequestParam @ApiParam(value = "指导编码") String code,
            @RequestParam @ApiParam(value = "模板标题") String modelName,
            @RequestParam @ApiParam(value = "指导内容") String content,
            @RequestParam(required = false) @ApiParam(value = "图片地址") String imagesUrl,
            @RequestParam(required = false) @ApiParam(value = "医生code") String doctorCode
    ) {
        try {
            if (StringUtils.isEmpty(code)) {
@ -109,11 +117,14 @@ public class DoctorGuidanceTempController extends BaseController {
                return error(-1, "内容不能为空");
            }
            if (StringUtils.isEmpty(modelName) || modelName.length() > 10) {
                return error(-1, "内容10个汉字之内且不能为空");
            if (StringUtils.isEmpty(content) || content.length() > 5) {
                return error(-1, "内容5个汉字之内且不能为空");
            }
//            验证模板名称唯一性 还要去除掉其本身  (判断查出来的和要修改的同名)
            List<DoctorGuidanceTemp> templates = guidanceTempDao.findByTitle(getUID(), modelName);
            if (StringUtils.isBlank(doctorCode)){
                doctorCode=getUID();
            }
            List<DoctorGuidanceTemp> templates = guidanceTempDao.findByTitle(doctorCode, modelName);
            for (DoctorGuidanceTemp teamplate : templates) {
                if (!code.equals(teamplate.getCode())) {
@ -143,13 +154,11 @@ public class DoctorGuidanceTempController extends BaseController {
     */
    @RequestMapping(value = "/delete", method = RequestMethod.POST)
    @ApiOperation(value = "删除指导模板")
   
    public String delete(@RequestParam @ApiParam(value = "指导编码") String code) {
        try {
            if (StringUtils.isEmpty(code)) {
                return error(-1, "请指定需删除的模板");
            }
            int result = guidanceTempService.delete(code);
            if (result == 1) {
@ -163,30 +172,24 @@ public class DoctorGuidanceTempController extends BaseController {
        }
    }
    /**
     * 查询指导模板
     *
     * @return
     */
    @RequestMapping(value = "/list", method = RequestMethod.GET)
    @ApiOperation(value = "查询指导模板")
    public String list(
                       @RequestParam(required = false, defaultValue = "")
                       @ApiParam(value = "搜索关键字") String filter,
                       @RequestParam(required = false, defaultValue = "")
                       @ApiParam(value = "模板类型 1:系统 2:自定义 为空:所有") String type,
                       @RequestParam(defaultValue = "10") String pageSize,
                       @RequestParam(defaultValue = "1") @ApiParam(value = "当前页码") String pageNo) {
            @RequestParam(required = true, defaultValue = "") @ApiParam(value = "医生code") String doctorCode,
            @RequestParam(required = false, defaultValue = "") @ApiParam(value = "搜索关键字-模板名称") String templeteName,
            @RequestParam(defaultValue = "10") String pageSize,
            @RequestParam(defaultValue = "1") @ApiParam(value = "当前页码") String pageNo
    ) {
        try {
            int pagesize = Integer.parseInt(pageSize);
            int pageno = Integer.parseInt(pageNo) - 1;
            List<Map<String, Object>> temps = guidanceTempService.list(getUID(),filter, type, pagesize, pageno);
            if (temps == null || temps.size() < 1) {
                return write(200, "查询成功", "data", new JSONArray());
            } else {
                return write(200, "查询成功", "data", new JSONArray(temps));
            }
            Map<String, Object> result = guidanceTempService.list(doctorCode, templeteName, pagesize, pageno);
            return write(200, "查询成功", "data", result);
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1, "查询失败");
@ -196,30 +199,31 @@ public class DoctorGuidanceTempController extends BaseController {
    /**
     * 根据模板类型、文章标题模糊搜索指导模板
     * (自定义即个人模板)
     * @param filter  搜索关键字
     * @param type  模板类型
     * @param type  teamId
     *
     * @param filter   搜索关键字
     * @param type     模板类型
     * @param type     teamId
     * @param pageSize 页展示数量
     * @param pageNo  当前页码
     * @param pageNo   当前页码
     * @return
     */
    @RequestMapping(value = "/search", method = RequestMethod.GET)
    @ApiOperation(value = "模糊搜索指导模板")
    public String searchByTitle(
                        @RequestParam(required = true, defaultValue = "")
                        @ApiParam(value = "搜索关键字") String filter,
                        @RequestParam(required = true, defaultValue = "")
                        @ApiParam(value = "模板类型 1:系统 2:个人 3:团队摸版") String type,
                        @RequestParam(defaultValue = "10")
                        @ApiParam(value = "页展示数量") String pageSize,
                        @RequestParam(defaultValue = "1") @ApiParam(value = "当前页码") String pageNo) {
            @RequestParam(required = true, defaultValue = "")
            @ApiParam(value = "搜索关键字") String filter,
            @RequestParam(required = true, defaultValue = "")
            @ApiParam(value = "模板类型 1:系统 2:个人 3:团队摸版") String type,
            @RequestParam(defaultValue = "10")
            @ApiParam(value = "页展示数量") String pageSize,
            @RequestParam(defaultValue = "1") @ApiParam(value = "当前页码") String pageNo) {
        try {
            int pagesize = Integer.parseInt(pageSize);
            int pageno = Integer.parseInt(pageNo) - 1;
            List<Map<String, Object>> temps = null;
            if (StringUtils.isNotEmpty(type) && StringUtils.isNotEmpty(filter)){
                temps = guidanceTempService.listByTitle(filter,type,pagesize, pageno);
            }else {
            if (StringUtils.isNotEmpty(type) && StringUtils.isNotEmpty(filter)) {
                temps = guidanceTempService.listByTitle(filter, type, pagesize, pageno);
            } else {
                return error(-1, "模板类型不能为空!");
            }
            if (temps == null || temps.size() < 1) {

+ 42 - 49
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/template/service/DoctorGuidanceTempService.java

@ -1,6 +1,7 @@
package com.yihu.jw.hospital.module.template.service;
import com.yihu.jw.entity.base.im.ConsultDo;
import com.yihu.jw.entity.template.DoctorGuidanceTemp;
import com.yihu.jw.entity.template.DoctorTeamGuidanceTemplate;
import com.yihu.jw.hospital.module.template.dao.DoctorGuidanceTempDao;
@ -11,6 +12,7 @@ import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -25,7 +27,7 @@ import java.util.*;
 */
@Service
@Transactional
public class DoctorGuidanceTempService  {
public class DoctorGuidanceTempService {
    @Autowired
    DoctorGuidanceTempDao guidanceTempDao;
@ -36,6 +38,7 @@ public class DoctorGuidanceTempService  {
    @Autowired
    private CommonUtil CommonUtil;
    /**
     * 记录医生健康指导模板使用次数
     *
@ -90,12 +93,17 @@ public class DoctorGuidanceTempService  {
     * @param content 指导内容
     * @return
     */
    public DoctorGuidanceTemp add(String doctor, String content, String modelName, String imagesUrl) throws Exception{
    public DoctorGuidanceTemp add(String doctor, String content, String modelName, String imagesUrl, String articleCode) throws Exception {
        DoctorGuidanceTemp guidanceTemp = new DoctorGuidanceTemp();
        String imageUrls = "";
        String imageRow = "";
        guidanceTemp.setCode(getCode());
        if (StringUtils.isNotBlank(articleCode)) {
            guidanceTemp.setCode(getCode());
        } else {
            guidanceTemp.setCode(getCode());
        }
        guidanceTemp.setOwner(doctor);
        guidanceTemp.setContent(content);
        guidanceTemp.setSendTimes(0);
@ -182,66 +190,50 @@ public class DoctorGuidanceTempService  {
     * 查询指导模板
     *
     * @param doctor 医生
     * @param type   模板类型
     * @return
     */
    public List<Map<String, Object>> list(String doctor,String filter, String type, int pageSize, int pageNo) throws Exception {
        Page<DoctorGuidanceTemp> temps = null;
        PageRequest pageRequest =  PageRequest.of(pageNo, pageSize);
        List<Map<String, Object>> listMap = new ArrayList<>();
        if (StringUtils.isEmpty(filter)){
            if (type.equals("1")) {
                temps = guidanceTempDao.findByOwner("system", pageRequest);
            } else if (type.equals("2")) {
                temps = guidanceTempDao.findByOwner(doctor, pageRequest);
            } else {
                temps = guidanceTempDao.findByOwnerAndSystem(doctor, pageRequest);
            }
        }else {
            if (type.equals("1")) {
                temps = guidanceTempDao.listByTileSystem("%"+filter+"%", pageRequest);
            } else if (type.equals("2")) {
                temps = guidanceTempDao.listOwnerByTile(doctor,"%"+filter+"%", pageRequest);
            } else {
                temps = guidanceTempDao.listByTileAll(doctor,"%"+filter+"%", pageRequest);
            }
    public Map<String, Object> list(String doctor, String templeteName, int pageSize, int pageNo) throws Exception {
        String detailSql = "SELECT 	a.* ";
        String countSql = "SELECT 	count(1) ";
        String sql = "FROM\n" +
                "	wlyy_doctor_guidance_temp a\n" +
                "	INNER JOIN wlyy_knowledge_article_dict b ON a.CODE = b.id \n" +
                "WHERE\n" +
                "	1 = 1 \n" +
                "	AND b.`status` = '1' \n";
        if (StringUtils.isNotBlank(templeteName)) {
            sql += "	AND a.model_name LIKE '%" + templeteName + "%'\n";
        }
        List<DoctorGuidanceTemp> list = temps.getContent();
        for (int i = 0; i < list.size(); i++) {
            DoctorGuidanceTemp dgt = list.get(i);
            Map<String, Object> tem = new HashMap<>();
            tem.put("code", dgt.getCode());
            tem.put("owner", dgt.getOwner());
            tem.put("sendTimes", dgt.getSendTimes());
            tem.put("lastTime", dgt.getLastTime());
            tem.put("modelName", dgt.getModelName());
            if(i == 0) {
                tem.put("total", temps.getTotalElements());
                tem.put("pages", temps.getTotalPages());
            }
            listMap.add(tem);
        if (StringUtils.isNotBlank(doctor)) {
            sql += "	AND a.OWNER = '" + doctor + "' order by create_time desc  \n";
        }
        return listMap;
        String limitSql = " limit "+(pageNo-1)*pageSize+","+pageSize ;
        detailSql += sql + limitSql;
        countSql += sql;
        List<DoctorGuidanceTemp> list = jdbcTemplate.query(detailSql, new BeanPropertyRowMapper<>(DoctorGuidanceTemp.class));
        Integer integer = jdbcTemplate.queryForObject(countSql, Integer.class);
        HashMap<String, Object> resultMap = new HashMap<>();
        resultMap.put("data",list);
        resultMap.put("count",integer);
        return resultMap;
    }
    /**
     * 根据模板类型、文章标题模糊搜索指导模板
     *
     * @param filter 搜索关键字
     * @param type 1:系统 2:个人 3:团队摸版
     * @param filter   搜索关键字
     * @param type     1:系统 2:个人 3:团队摸版
     * @param pageSize
     * @param pageNo
     * @return
     * @throws Exception
     */
    public List<Map<String, Object>> listByTitle(String filter,String type, int pageSize, int pageNo) throws Exception {
    public List<Map<String, Object>> listByTitle(String filter, String type, int pageSize, int pageNo) throws Exception {
        PageRequest pageRequest = PageRequest.of(pageNo, pageSize);
        List<Map<String, Object>> listMap = new ArrayList<>();
        if ("1".equals(type)) {
            Page<DoctorGuidanceTemp> temps = guidanceTempDao.listByTileSystem("%"+filter+"%", pageRequest);
            Page<DoctorGuidanceTemp> temps = guidanceTempDao.listByTileSystem("%" + filter + "%", pageRequest);
            List<DoctorGuidanceTemp> list = temps.getContent();
            for (int i = 0; i < list.size(); i++) {
@ -255,7 +247,7 @@ public class DoctorGuidanceTempService  {
                listMap.add(tem);
            }
        } else if ("2".equals(type)) {
            Page<DoctorGuidanceTemp> temps = guidanceTempDao.listByTile("%"+filter+"%", pageRequest);
            Page<DoctorGuidanceTemp> temps = guidanceTempDao.listByTile("%" + filter + "%", pageRequest);
            List<DoctorGuidanceTemp> list = temps.getContent();
            for (int i = 0; i < list.size(); i++) {
@ -268,8 +260,8 @@ public class DoctorGuidanceTempService  {
                tem.put("modelName", dgt.getModelName());
                listMap.add(tem);
            }
        } else if("3".equals(type)){
            Page<DoctorTeamGuidanceTemplate> temps = doctorTeamGuidanceTemplateDao.listByTile("%"+filter+"%", pageRequest);
        } else if ("3".equals(type)) {
            Page<DoctorTeamGuidanceTemplate> temps = doctorTeamGuidanceTemplateDao.listByTile("%" + filter + "%", pageRequest);
            List<DoctorTeamGuidanceTemplate> list = temps.getContent();
            for (int i = 0; i < list.size(); i++) {
@ -291,6 +283,7 @@ public class DoctorGuidanceTempService  {
    /**
     * 根据code获取详情
     *
     * @param code
     * @return
     */