Pārlūkot izejas kodu

Merge branch '2.0' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into 2.0

wangzhinan 9 mēneši atpakaļ
vecāks
revīzija
095b09c288
38 mainītis faili ar 2465 papildinājumiem un 1713 dzēšanām
  1. 2 1
      business/base-service/src/main/java/com/yihu/jw/article/service/BaseMenuManageService.java
  2. 39 19
      business/base-service/src/main/java/com/yihu/jw/article/service/KnowledgeArticleDictService.java
  3. 3 0
      business/base-service/src/main/java/com/yihu/jw/label/WlyyPatientLabelDao.java
  4. 12 0
      business/base-service/src/main/java/com/yihu/jw/sign/dao/WlyySignDao.java
  5. 79 0
      business/base-service/src/main/java/com/yihu/jw/utils/RequestParamUtil.java
  6. 61 13
      business/base-service/src/main/java/com/yihu/jw/wlyy/service/WlyyBusinessService.java
  7. 81 6
      business/base-service/src/main/java/com/yihu/jw/wlyy/wlyyhttp/WlyyHttpService.java
  8. 56 0
      business/es-service/src/main/java/com/yihu/jw/es/service/StatisticsEsService.java
  9. 4 1
      business/im-service/src/main/java/com/yihu/jw/im/service/ImService.java
  10. 43 1
      common/common-entity/src/db/2024.sql
  11. 6 6
      common/common-entity/src/main/java/com/yihu/jw/entity/base/device/PatientAimBloodPressure.java
  12. 6 6
      common/common-entity/src/main/java/com/yihu/jw/entity/base/device/PatientAimBloodSugger.java
  13. 2 1
      common/common-entity/src/main/java/com/yihu/jw/entity/base/patient/BasePatientBusinessDO.java
  14. 37 0
      common/common-entity/src/main/java/com/yihu/jw/entity/door/WlyySign.java
  15. 10 10
      common/common-entity/src/main/java/com/yihu/jw/entity/scheme/DoctorSchemeBloodPressure.java
  16. 16 16
      common/common-entity/src/main/java/com/yihu/jw/entity/scheme/DoctorSchemeBloodSugger.java
  17. 361 338
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/article/ArticleEndpoint.java
  18. 296 306
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/article/ArticleDictEndpoint.java
  19. 466 483
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/article/ArticleEndpoint.java
  20. 93 126
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/article/BaseMenuManageEndpoint.java
  21. 13 20
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/patient/PatientNoLoginEndPoint.java
  22. 83 85
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/specialist/BaseDiseaseHospitalController.java
  23. 23 0
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/statistics/EsStatisticsEndpoint.java
  24. 102 4
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/team/DoctorTeamEndpoint.java
  25. 2 1
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/service/consult/BasePatientBusinessService.java
  26. 7 6
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/service/consult/KnowledgeArticleService.java
  27. 82 61
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/service/consult/KnowledgeCategoryService.java
  28. 48 2
      svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/common/LabelController.java
  29. 39 0
      svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/common/StatisticsController.java
  30. 86 31
      svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/common/service/LabelService.java
  31. 137 0
      svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/common/service/StatisticsService.java
  32. 7 5
      svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/followup/controller/DoctorFollowUpController.java
  33. 6 12
      svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/followup/dao/FollowUpDao.java
  34. 6 4
      svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/followup/service/FollowUpService.java
  35. 8 0
      svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/health/controller/ChronicDiseaseController.java
  36. 49 49
      svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/health/service/scheme/DoctorSchemeService.java
  37. 53 51
      svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/template/controller/DoctorGuidanceTempController.java
  38. 41 49
      svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/template/service/DoctorGuidanceTempService.java

+ 2 - 1
business/base-service/src/main/java/com/yihu/jw/article/service/BaseMenuManageService.java

@ -1019,7 +1019,8 @@ public class BaseMenuManageService {
                "\twlyy_knowledge_article_user kau\n" +
                "\twlyy_knowledge_article_user kau\n" +
                "LEFT JOIN wlyy_knowledge_article_dict kad ON kad.id = kau.relation_code\n" +
                "LEFT JOIN wlyy_knowledge_article_dict kad ON kad.id = kau.relation_code\n" +
                "WHERE\n" +
                "WHERE\n" +
                "\tkau.user_code = '"+userCode+"' AND kad.category_second IN(SELECT md.id from base_menu_dict md where md.status=1 and md.is_del= 1) AND kad.category_first IN(SELECT md.parent_id from base_menu_dict md where md.status=1 and md.is_del= 1) ";
                "\tkau.user_code = '"+userCode+"' AND kad.category_second IN(SELECT md.id from base_menu_dict md where md.status=1 and md.is_del= 1) " +
                "  AND kad.category_first IN(SELECT md.parent_id from base_menu_dict md where md.status=1 and md.is_del= 1) ";
        String condition = "";
        String condition = "";
        if (flag==1){
        if (flag==1){
            condition+=" and kau.fabulous = "+status;
            condition+=" and kau.fabulous = "+status;

+ 39 - 19
business/base-service/src/main/java/com/yihu/jw/article/service/KnowledgeArticleDictService.java

@ -31,10 +31,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.stereotype.Service;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.*;
/**
/**
 * 健康文章业务层代码
 * 健康文章业务层代码
@ -159,7 +156,7 @@ public class KnowledgeArticleDictService extends BaseJpaService<KnowledgeArticle
        KnowledgeCategoryDO knowledgeCategoryDO = knowledgeCategoryDao.findById(knowledgeArticleDO.getCategorySecond()).orElse(null);
        KnowledgeCategoryDO knowledgeCategoryDO = knowledgeCategoryDao.findById(knowledgeArticleDO.getCategorySecond()).orElse(null);
        Boolean articleNeedCheck = true;
        Boolean articleNeedCheck = true;
        if (knowledgeCategoryDO != null) {
        if (knowledgeCategoryDO != null) {
            if (knowledgeCategoryDO.getIsCheck()==null||knowledgeCategoryDO.getIsCheck()!=1) {
            if (knowledgeCategoryDO.getIsCheck() == null || knowledgeCategoryDO.getIsCheck() != 1) {
                articleNeedCheck = false;
                articleNeedCheck = false;
            }
            }
        }
        }
@ -167,7 +164,9 @@ public class KnowledgeArticleDictService extends BaseJpaService<KnowledgeArticle
            // 新增
            // 新增
            knowledgeArticleDO.setId(UUID.randomUUID().toString().replace("-", ""));
            knowledgeArticleDO.setId(UUID.randomUUID().toString().replace("-", ""));
            knowledgeArticleDO.setCreateTime(new Date());
            knowledgeArticleDO.setCreateTime(new Date());
            knowledgeArticleDO.setStatus(0);
            knowledgeArticleDO.setStatus(0);
            knowledgeArticleDO.setReleaseStatus(0);
            knowledgeArticleDO.setReleaseStatus(0);
            knowledgeArticleDO.setDel(1);
            knowledgeArticleDO.setDel(1);
            knowledgeArticleDO.setType(type);
            knowledgeArticleDO.setType(type);
@ -182,13 +181,11 @@ public class KnowledgeArticleDictService extends BaseJpaService<KnowledgeArticle
            if (type == 1) {
            if (type == 1) {
                BaseDoctorDO userDO = doctorDao.findById(knowledgeArticleDO.getCreateUser()).orElse(null);
                BaseDoctorDO userDO = doctorDao.findById(knowledgeArticleDO.getCreateUser()).orElse(null);
                if (userDO != null) {
                if (userDO != null) {
                    knowledgeArticleDO.setCreateUserName(userDO.getName());
                    knowledgeArticleDO.setCreateUserName(userDO.getName());
                }
                }
            } else {
            } else {
                BaseDoctorDO userDO = doctorDao.findById(knowledgeArticleDO.getCreateUser()).orElse(null);
                BaseDoctorDO userDO = doctorDao.findById(knowledgeArticleDO.getCreateUser()).orElse(null);
                if (userDO != null) {
                if (userDO != null) {
                    knowledgeArticleDO.setCreateUserName(userDO.getName());
                    knowledgeArticleDO.setCreateUserName(userDO.getName());
                }
                }
@ -198,6 +195,8 @@ public class KnowledgeArticleDictService extends BaseJpaService<KnowledgeArticle
                knowledgeArticleDO.setStatus(1);
                knowledgeArticleDO.setStatus(1);
                knowledgeArticleDO.setReleaseStatus(1);
                knowledgeArticleDO.setReleaseStatus(1);
            }
            }
            knowledgeArticleDO = knowledgeArticleDictDao.save(knowledgeArticleDO);
            knowledgeArticleDO = knowledgeArticleDictDao.save(knowledgeArticleDO);
            return knowledgeArticleDO;
            return knowledgeArticleDO;
        } else {
        } else {
@ -459,19 +458,10 @@ public class KnowledgeArticleDictService extends BaseJpaService<KnowledgeArticle
                patientBusinessDO.setCollection(0);
                patientBusinessDO.setCollection(0);
                patientBusinessDO.setDel(1);
                patientBusinessDO.setDel(1);
                patientBusinessDO = patientBusinessDao.save(patientBusinessDO);
                patientBusinessDO = patientBusinessDao.save(patientBusinessDO);
                if (patientBusinessDO.getRelationType() == 1) {
                    KnowledgeArticleDictDO knowledgeArticleDO = findByIdAndDel(patientBusinessDO.getRelationCode());
                    System.out.println("content:" + JSON.toJSONString(knowledgeArticleDO));
                    JSONObject object = new JSONObject();
                    object.put("id", knowledgeArticleDO.getId());
                    object.put("title", knowledgeArticleDO.getTitle());
                    object.put("content", knowledgeArticleDO.getIntro());
                    object.put("img", knowledgeArticleDO.getImage());
                } else {
                if (patientBusinessDO.getRelationType() == 2) {
                    WlyySurveyUserDO wlyySurveyUserDO = new WlyySurveyUserDO();
                    WlyySurveyUserDO wlyySurveyUserDO = new WlyySurveyUserDO();
                    String doctor = patientBusinessDO.getDoctor();
                    String doctor = patientBusinessDO.getDoctor();
                    BaseDoctorDO doctorDO = doctorDao.findById(doctor).orElse(null);
                    BaseDoctorDO doctorDO = doctorDao.findById(doctor).orElse(null);
                    ;
                    wlyySurveyUserDO.setDept(doctorDO.getVisitDept());
                    wlyySurveyUserDO.setDept(doctorDO.getVisitDept());
                    wlyySurveyUserDO.setDeptName(doctorDO.getVisitDeptName());
                    wlyySurveyUserDO.setDeptName(doctorDO.getVisitDeptName());
                    wlyySurveyUserDO.setDoctor(doctor);
                    wlyySurveyUserDO.setDoctor(doctor);
@ -486,14 +476,20 @@ public class KnowledgeArticleDictService extends BaseJpaService<KnowledgeArticle
                    wlyySurveyUserDO = surveyUserDao.save(wlyySurveyUserDO);
                    wlyySurveyUserDO = surveyUserDao.save(wlyySurveyUserDO);
                    JSONObject object = new JSONObject();
                    JSONObject object = new JSONObject();
                    WlyySurveyTemplateDO wlyySurveyTemplateDO = surveyTemplateDao.findById(wlyySurveyUserDO.getSurveyTempCode()).orElse(null);
                    WlyySurveyTemplateDO wlyySurveyTemplateDO = surveyTemplateDao.findById(wlyySurveyUserDO.getSurveyTempCode()).orElse(null);
                    ;
                    if (null != wlyySurveyTemplateDO) {
                    if (null != wlyySurveyTemplateDO) {
                        object.put("title", wlyySurveyTemplateDO.getTitle());
                        object.put("title", wlyySurveyTemplateDO.getTitle());
                        object.put("content", wlyySurveyTemplateDO.getTemplateComment());
                        object.put("content", wlyySurveyTemplateDO.getTemplateComment());
                        object.put("id", wlyySurveyTemplateDO.getId());
                        object.put("id", wlyySurveyTemplateDO.getId());
                    }
                    }
                } else {
                    KnowledgeArticleDictDO knowledgeArticleDO = findByIdAndDel(patientBusinessDO.getRelationCode());
                    System.out.println("content:" + JSON.toJSONString(knowledgeArticleDO));
                    JSONObject object = new JSONObject();
                    object.put("id", knowledgeArticleDO.getId());
                    object.put("title", knowledgeArticleDO.getTitle());
                    object.put("content", knowledgeArticleDO.getIntro());
                    object.put("img", knowledgeArticleDO.getImage());
                }
                }
            }
            }
        }
        }
        return businessDOS;
        return businessDOS;
@ -703,4 +699,28 @@ public class KnowledgeArticleDictService extends BaseJpaService<KnowledgeArticle
        return result;
        return result;
    }
    }
    /**
     * 业务类型1、文章2、问卷   relationType
     */
    public HashMap<String, Object> findSendPatientList(String doctorCode, String patientCode, String sendType, int page, int pageSize) {
        String sql = " SELECT DISTINCT \n" +
                " b.doctor 'sendDoctorCode',b.doctor_name 'sendDoctorName',a.* \n" +
                " FROM wlyy_knowledge_article_dict a INNER JOIN base_patient_business b ON a.id=b.relation_code\n" +
                " WHERE 1=1 AND b.relation_type='" + sendType + "' ";
        if (StringUtils.isNotBlank(doctorCode)) {
            sql += " and  b.doctor='" + doctorCode + "' ";
        }
        if (StringUtils.isNotBlank(doctorCode)) {
            sql += " and  b.patient='" + patientCode + "' ";
        }
        String countSql = " slect count(1) from (" + sql + ") qqq";
        sql += " order by create_time desc " + " LIMIT " + (page - 1) * pageSize + "," + pageSize + "";
        List<BasePatientBusinessDO> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(BasePatientBusinessDO.class));
        Integer count = jdbcTemplate.queryForObject(countSql, Integer.class);
        HashMap<String, Object> resultMap = new HashMap<>();
        resultMap.put("data", list);
        resultMap.put("count", count);
        return resultMap;
    }
}
}

+ 3 - 0
business/base-service/src/main/java/com/yihu/jw/label/WlyyPatientLabelDao.java

@ -26,4 +26,7 @@ public interface WlyyPatientLabelDao extends JpaRepository<WlyyPatientLabelDO, S
    @Query("from WlyyPatientLabelDO w where  w.patient=?1 and w.labelCode=?2 and w.labelType=?3 ")
    @Query("from WlyyPatientLabelDO w where  w.patient=?1 and w.labelCode=?2 and w.labelType=?3 ")
    List<WlyyPatientLabelDO> findByPatient(String patient, String labelCode, String labelType);
    List<WlyyPatientLabelDO> findByPatient(String patient, String labelCode, String labelType);
    @Query("from WlyyPatientLabelDO w where w.labelType='4' and w.labelName=?1 ")
    List<WlyyPatientLabelDO> findByPatientLablelName(String labelName);
}
}

+ 12 - 0
business/base-service/src/main/java/com/yihu/jw/sign/dao/WlyySignDao.java

@ -0,0 +1,12 @@
package com.yihu.jw.sign.dao;
import com.yihu.jw.entity.door.WlyySign;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
/**
 * Created by yeshijie on 2024/7/16.
 */
public interface WlyySignDao extends JpaRepository<WlyySign, Long>, JpaSpecificationExecutor<WlyySign> {
}

+ 79 - 0
business/base-service/src/main/java/com/yihu/jw/utils/RequestParamUtil.java

@ -0,0 +1,79 @@
package com.yihu.jw.utils;
import org.apache.commons.lang3.StringUtils;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * Created by Bing on 2021/10/15.
 */
public class RequestParamUtil {
    public static String getParam(HttpServletRequest request){
        String result = null;
        try {
            String method= request.getMethod();
            if ("GET".equals(method)){
                result = "?"+request.getQueryString();
            }else if ("POST".equals(method)){
                String paramEnd = "";
                Map<String, String[]> parameterMap =  request.getParameterMap();
                for (Map.Entry<String, String[]> entry : parameterMap.entrySet()) {
                    String k = entry.getKey();
                    String[] v = entry.getValue();
                    List<String> paramList = Arrays.asList(v.clone());
                    String paramStr = paramList.stream().map(String::valueOf).collect(Collectors.joining(","));
                    if (StringUtils.isNotBlank(paramStr)){
                        paramEnd += k+"="+paramStr+"&";
                    }
                }
                if (StringUtils.isNotBlank(paramEnd)){
                    paramEnd = paramEnd.substring(0,paramEnd.length()-1);
                    result = "?"+paramEnd;
                }
            }
            return result;
        }catch (Exception e){
            e.printStackTrace();
            return result;
        }
    }
    public static String getParamUrl(HttpServletRequest request){
        String result = null;
        try {
            String url =  request.getRequestURI();
            if(StringUtils.isNotBlank(url)&&url.contains("/")){
                url = url.substring(url.lastIndexOf("/"));
            }
            String method= request.getMethod();
            if ("GET".equals(method)){
                result = url+"?"+request.getQueryString();
            }else if ("POST".equals(method)){
                String paramEnd = "";
                Map<String, String[]> parameterMap =  request.getParameterMap();
                for (Map.Entry<String, String[]> entry : parameterMap.entrySet()) {
                    String k = entry.getKey();
                    String[] v = entry.getValue();
                    List<String> paramList = Arrays.asList(v.clone());
                    String paramStr = paramList.stream().map(String::valueOf).collect(Collectors.joining(","));
                    if (StringUtils.isNotBlank(paramStr)){
                        paramEnd += k+"="+paramStr+"&";
                    }
                }
                if (StringUtils.isNotBlank(paramEnd)){
                   paramEnd = paramEnd.substring(0,paramEnd.length()-1);
                   result = url+"?"+paramEnd;
                }
            }
            return result;
        }catch (Exception e){
            e.printStackTrace();
            return result;
        }
    }
}

+ 61 - 13
business/base-service/src/main/java/com/yihu/jw/wlyy/service/WlyyBusinessService.java

@ -30,6 +30,7 @@ import com.yihu.jw.util.common.IdCardUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.encrypt.MD5;
import com.yihu.jw.util.encrypt.MD5;
import com.yihu.jw.util.wechat.wxhttp.HttpUtil;
import com.yihu.jw.util.wechat.wxhttp.HttpUtil;
import com.yihu.jw.utils.RequestParamUtil;
import com.yihu.jw.wlyy.wlyyhttp.WlyyHttpService;
import com.yihu.jw.wlyy.wlyyhttp.WlyyHttpService;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.StringUtils;
@ -40,6 +41,7 @@ import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.*;
/**
/**
@ -773,6 +775,14 @@ public class WlyyBusinessService {
        return re;
        return re;
    }
    }
    //通用请求接口
    public JSONObject commonGet(HttpServletRequest request, String api) {
        String configId = "commonGet";
        String param = RequestParamUtil.getParam(request);
        JSONObject re = wlyyHttpService.sendWlyyMesGet(configId, api + param);
        return re;
    }
    //获取团队列表
    //获取团队列表
    public JSONObject getAdminTeamList(String teamName, String town, String teamId, String leadName, Integer page, Integer pageSize, String hospital, String doctorName, String mobile) {
    public JSONObject getAdminTeamList(String teamName, String town, String teamId, String leadName, Integer page, Integer pageSize, String hospital, String doctorName, String mobile) {
        String param = "?teamName=" + nullToTransfor(teamName) + "&leadName=" + nullToTransfor(leadName) + "&teamId=" + nullToTransfor(teamId)
        String param = "?teamName=" + nullToTransfor(teamName) + "&leadName=" + nullToTransfor(leadName) + "&teamId=" + nullToTransfor(teamId)
@ -871,7 +881,7 @@ public class WlyyBusinessService {
    //获取i健康医生信息
    //获取i健康医生信息
    public JSONObject getDoctorInfo_IJK(String idcard) {
    public JSONObject getDoctorInfo_IJK(String idcard) {
        String param = "?idcard=" + nullToTransfor(idcard);
        String param = "?idCard=" + nullToTransfor(idcard);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("getDoctorInfo_IJK", param);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("getDoctorInfo_IJK", param);
        return re;
        return re;
    }
    }
@ -884,10 +894,15 @@ public class WlyyBusinessService {
    }
    }
    public JSONObject getScreeList_IJK(
    public JSONObject getScreeList_IJK(
            String doctor, Integer type, int pageNo, int pageSize, String patientName,
            String doctor, String type, int pageNo, int pageSize, String patientName,
            String isDanger, String diseaseType, Integer filterType, String patientCode) {
            String isDanger, String diseaseType, Integer filterType, String patientCode) {
        String param = "?doctor=" + nullToTransfor(doctor) + "&type=" + nullToTransfor(String.valueOf(type)) + "&pageNo=" + nullToTransfor(String.valueOf(pageNo)) + "&pageSize=" + nullToTransfor(String.valueOf(pageSize)) + "&patientName=" + nullToTransfor(patientName) +
        String param = "?doctor=" + nullToTransfor(doctor);
        if (StringUtils.isNotBlank(type)) {
            param += "&type=" + nullToTransfor(type);
        }
        param += "&pageNo=" + nullToTransfor(String.valueOf(pageNo)) + "&pageSize=" + nullToTransfor(String.valueOf(pageSize)) + "&patientName=" + nullToTransfor(patientName) +
                "&isDanger=" + nullToTransfor(isDanger) + "&diseaseType=" + nullToTransfor(diseaseType) + "&filterType=" + nullToTransfor(String.valueOf(filterType)) + "&patientCode=" + nullToTransfor(patientCode);
                "&isDanger=" + nullToTransfor(isDanger) + "&diseaseType=" + nullToTransfor(diseaseType) + "&filterType=" + nullToTransfor(String.valueOf(filterType)) + "&patientCode=" + nullToTransfor(patientCode);
        System.out.println("param=>" + param);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("getScreeList_IJK", param);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("getScreeList_IJK", param);
        return re;
        return re;
    }
    }
@ -900,18 +915,21 @@ public class WlyyBusinessService {
    public JSONObject queryByConsultCode_IJK(String code, Integer type) {
    public JSONObject queryByConsultCode_IJK(String code, Integer type) {
        String param = "?code=" + nullToTransfor(code) + "&type=" + nullToTransfor(String.valueOf(type));
        String param = "?code=" + nullToTransfor(code) + "&type=" + nullToTransfor(String.valueOf(type));
        System.out.println("param=>" + param);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("queryByConsultCode_IJK", param);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("queryByConsultCode_IJK", param);
        return re;
        return re;
    }
    }
    public JSONObject getScreenResultDetail_IJK(String code) {
    public JSONObject getScreenResultDetail_IJK(String code) {
        String param = "?code=" + nullToTransfor(code);
        String param = "?code=" + nullToTransfor(code);
        System.out.println("param=>" + param);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("getScreenResultDetail_IJK", param);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("getScreenResultDetail_IJK", param);
        return re;
        return re;
    }
    }
    public JSONObject findPatientSignFamily_IJK(String patient) {
    public JSONObject findPatientSignFamily_IJK(String patient) {
        String param = "?patient=" + nullToTransfor(patient);
        String param = "?patient=" + nullToTransfor(patient);
        System.out.println("param=>" + param);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("findPatientSignFamily_IJK", param);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("findPatientSignFamily_IJK", param);
        return re;
        return re;
    }
    }
@ -924,18 +942,21 @@ public class WlyyBusinessService {
    public JSONObject last_IJK(String patient) {
    public JSONObject last_IJK(String patient) {
        String param = "?patient=" + nullToTransfor(patient);
        String param = "?patient=" + nullToTransfor(patient);
        System.out.println("param=>" + param);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("last_IJK", param);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("last_IJK", param);
        return re;
        return re;
    }
    }
    public JSONObject patient_IJK(String patient) {
    public JSONObject patient_IJK(String patient) {
        String param = "?patient=" + nullToTransfor(patient);
        String param = "?patient=" + nullToTransfor(patient);
        System.out.println("param=>" + param);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("patient_IJK", param);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("patient_IJK", param);
        return re;
        return re;
    }
    }
    public JSONObject getPatientSpecialAndFamilyDoctor_IJK(String patientCode) {
    public JSONObject getPatientSpecialAndFamilyDoctor_IJK(String patientCode) {
        String param = "?patientCode=" + nullToTransfor(patientCode);
        String param = "?patientCode=" + nullToTransfor(patientCode);
        System.out.println("param=>" + param);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("getPatientSpecialAndFamilyDoctor_IJK", param);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("getPatientSpecialAndFamilyDoctor_IJK", param);
        return re;
        return re;
@ -943,6 +964,7 @@ public class WlyyBusinessService {
    public JSONObject selectAllCompleteServiceItemsByPatient_IJK(String patient) {
    public JSONObject selectAllCompleteServiceItemsByPatient_IJK(String patient) {
        String param = "?patient=" + nullToTransfor(patient);
        String param = "?patient=" + nullToTransfor(patient);
        System.out.println("param=>" + param);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("selectAllCompleteServiceItemsByPatient_IJK", param);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("selectAllCompleteServiceItemsByPatient_IJK", param);
        return re;
        return re;
    }
    }
@ -954,17 +976,29 @@ public class WlyyBusinessService {
    }
    }
    public JSONObject calendarPlanDetailListBypatient_IJK(
    public JSONObject calendarPlanDetailListBypatient_IJK(
            String executeStartTime, String executeEndTime, String patient, Integer searchTask,
            String doctorCode, Integer status, String taskExecutor) {
        String param = "?executeStartTime=" + nullToTransfor(executeStartTime) + "&executeEndTime=" + nullToTransfor(executeEndTime) + "&patient=" + nullToTransfor(patient) + "&searchTask=" + nullToTransfor(String.valueOf(searchTask)) +
                "&doctorCode=" + nullToTransfor(doctorCode) + "&status=" + nullToTransfor(String.valueOf(status)) + "&taskExecutor=" + nullToTransfor(String.valueOf(taskExecutor));
            String executeStartTime, String executeEndTime, String patient, String searchTask,
            String doctorCode, String status, String taskExecutor) {
        String param = "?executeStartTime=" + nullToTransfor(executeStartTime) + "&executeEndTime=" + nullToTransfor(executeEndTime) + "&patient=" + nullToTransfor(patient);
        if (StringUtils.isNotBlank(searchTask)) {
            param += "&searchTask=" + nullToTransfor(searchTask);
        }
        if (StringUtils.isNotBlank(status)) {
            param += "&status=" + nullToTransfor(status);
        }
        param += "&doctorCode=" + nullToTransfor(doctorCode) + "&taskExecutor=" + nullToTransfor(taskExecutor);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("calendarPlanDetailListBypatient_IJK", param);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("calendarPlanDetailListBypatient_IJK", param);
        return re;
        return re;
    }
    }
    public JSONObject calendarPlanDetailItems_IJK(String executeStartTime, String executeEndTime, String planId, Integer searchTask, String doctorCode, Integer status) {
        String param = "?executeStartTime=" + nullToTransfor(executeStartTime) + "&executeEndTime=" + nullToTransfor(executeEndTime) + "&planId=" + nullToTransfor(planId) + "&searchTask=" + nullToTransfor(String.valueOf(searchTask)) +
                "&doctorCode=" + nullToTransfor(doctorCode) + "&status=" + nullToTransfor(String.valueOf(status));
    public JSONObject calendarPlanDetailItems_IJK(String executeStartTime, String executeEndTime, String planId, String searchTask, String doctorCode, String status) {
        String param = "?executeStartTime=" + nullToTransfor(executeStartTime) + "&executeEndTime=" + nullToTransfor(executeEndTime) + "&planId=" + nullToTransfor(planId);
        if (StringUtils.isNotBlank(searchTask)) {
            param += "&searchTask=" + nullToTransfor(searchTask);
        }
        param += "&doctorCode=" + nullToTransfor(doctorCode);
        if (StringUtils.isNotBlank(status)) {
            param += "&status=" + nullToTransfor(status);
        }
        JSONObject re = wlyyHttpService.sendWlyyMesGet("calendarPlanDetailItems_IJK", param);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("calendarPlanDetailItems_IJK", param);
        return re;
        return re;
    }
    }
@ -993,9 +1027,16 @@ public class WlyyBusinessService {
        return re;
        return re;
    }
    }
    public JSONObject calendarPlanDetailList_IJK(String executeStartTime, String executeEndTime, String planId, Integer searchTask, String doctorCode, Integer status, String taskExecutor) {
        String param = "?executeStartTime=" + nullToTransfor(executeStartTime) + "&executeEndTime=" + nullToTransfor(executeEndTime) + "&searchTask=" + nullToTransfor(String.valueOf(searchTask)) +
                "&doctorCode=" + nullToTransfor(doctorCode) + "&status=" + nullToTransfor(String.valueOf(status)) + "&taskExecutor=" + nullToTransfor(String.valueOf(taskExecutor));
    public JSONObject calendarPlanDetailList_IJK(String executeStartTime, String executeEndTime, String planId, String searchTask, String doctorCode, String status, String taskExecutor) {
        String param = "?executeStartTime=" + nullToTransfor(executeStartTime) + "&executeEndTime=" + nullToTransfor(executeEndTime) + "&planId=" + nullToTransfor(planId);
        if (StringUtils.isNotBlank(searchTask)) {
            param += "&searchTask=" + nullToTransfor(searchTask);
        }
        if (StringUtils.isNotBlank(status)) {
            param += "&status=" + nullToTransfor(status);
        }
        param += "&doctorCode=" + nullToTransfor(doctorCode) + "&taskExecutor=" + nullToTransfor(String.valueOf(taskExecutor));
        JSONObject re = wlyyHttpService.sendWlyyMesGet("calendarPlanDetailList_IJK", param);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("calendarPlanDetailList_IJK", param);
        return re;
        return re;
    }
    }
@ -1023,4 +1064,11 @@ public class WlyyBusinessService {
        JSONObject re = wlyyHttpService.sendWlyyMesGet("getPatientCount_IJK", param);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("getPatientCount_IJK", param);
        return re;
        return re;
    }
    }
    public JSONObject getSpecilalistDiseaseType_IJK(String doctor) {
        String param = "?doctor=" + nullToTransfor(doctor);
        JSONObject re = wlyyHttpService.sendWlyyMesGet("getSpecilalistDiseaseType_IJK", param);
        return re;
    }
}
}

+ 81 - 6
business/base-service/src/main/java/com/yihu/jw/wlyy/wlyyhttp/WlyyHttpService.java

@ -3,22 +3,31 @@ package com.yihu.jw.wlyy.wlyyhttp;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.entity.third.wlyyinfo.OauthWlyyConfigDO;
import com.yihu.jw.entity.third.wlyyinfo.OauthWlyyConfigDO;
import com.yihu.jw.exception.business.file_upload.FileWrongFormatException;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.util.http.HttpClientUtil;
import com.yihu.jw.util.http.HttpClientUtil;
import com.yihu.jw.wlyy.dao.OauthWlyyConfigDao;
import com.yihu.jw.wlyy.dao.OauthWlyyConfigDao;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.collections.map.HashedMap;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.NameValuePair;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.slf4j.Logger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.*;
/**
/**
 * Created by Trick on 2019/8/19.
 * Created by Trick on 2019/8/19.
@ -92,10 +101,77 @@ public class WlyyHttpService {
                return null;
                return null;
            }
            }
        }catch (Exception e){
        }catch (Exception e){
            e.printStackTrace();
            logger.error("sendWlyyMes error:"+e.toString());
            logger.error("sendWlyyMes error:"+e.toString());
        }
        }
        return null;
        return null;
    }
    }
    //上传图片
    public String request(MultipartFile file, String type,String configId) {
        CloseableHttpClient httpClient = HttpClientBuilder.create().build();
        String result = "";
        try {
            OauthWlyyConfigDO oauthWlyyConfigDO = oauthWlyyConfigDao.findById(configId).orElse(null);
            //token获取accesstoken
            List<NameValuePair> params = new ArrayList<>();
            params.add(new BasicNameValuePair("appid", oauthWlyyConfigDO.getAppId()));
            params.add(new BasicNameValuePair("appSecret", oauthWlyyConfigDO.getAppSecret()));
            String res = httpClientUtil.post(oauthWlyyConfigDO.getTokenUrl(), params, "UTF-8");
            String token = null;
            JSONObject rsjson = JSONObject.parseObject(res);
            logger.info("sendWlyyMes token :" + rsjson.toString());
            Integer status = rsjson.getInteger("status");
            if (status == 10000) {
                token = rsjson.getJSONObject("result").getString("accesstoken");
                String fileName = file.getOriginalFilename();
                HttpPost httpPost = new HttpPost(oauthWlyyConfigDO.getUrl());
                MultipartEntityBuilder builder = MultipartEntityBuilder.create();
                httpPost.setHeader("accesstoken",token);
                builder.addBinaryBody("file", file.getInputStream(), ContentType.MULTIPART_FORM_DATA, fileName);// 文件流
                builder.addTextBody("filename", fileName);// 类似浏览器表单提交,对应input的name和value
                if (!org.springframework.util.StringUtils.isEmpty(type)) {
                    builder.addTextBody("type", type); //发送类型
                }
                logger.info("type===="+type);
                if (!isFileFlag(type)){
                    throw new FileWrongFormatException("不符合文件上传格式");
                }
                HttpEntity entity = builder.build();
                httpPost.setEntity(entity);
                HttpResponse response = httpClient.execute(httpPost);// 执行提交
                HttpEntity responseEntity = response.getEntity();
                if (responseEntity != null) {
                    // 将响应内容转换为字符串
                    result = EntityUtils.toString(responseEntity, Charset.forName("UTF-8"));
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                httpClient.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return result;
    }
    public boolean isFileFlag(String type){
        type = type.toLowerCase();
        if (type.contains(".")){
            type = type.substring(type.lastIndexOf("."),type.length()-1);
        }
        logger.info(type);
        List img = new ArrayList(Arrays.asList("jpeg","bmp", "jpg", "png", "tif", "gif", "pcx", "tga", "exif", "fpx", "svg", "psd", "cdr", "pcd", "dxf", "ufo", "eps", "ai", "raw", "WMF", "webp","xls","xlsx","text/plain","mp3","mp4","m4v","avi","ogm","wmv","mpg","webm","ogv","mov","asx","mpeg","image/png","amr"));
        if (!img.contains(type)) {
            return false;
        }
        return true;
    }
    /**
    /**
     * @param configId 配置ID
     * @param configId 配置ID
     * @param param key为param,的参数
     * @param param key为param,的参数
@ -115,8 +191,6 @@ public class WlyyHttpService {
            Integer status = rsjson.getInteger("status");
            Integer status = rsjson.getInteger("status");
            if (status == 10000) {
            if (status == 10000) {
                //设置头部
                //设置头部
                token = rsjson.getJSONObject("result").getString("accesstoken");
                token = rsjson.getJSONObject("result").getString("accesstoken");
                Map<String,Object> headerMap = new HashedMap();
                Map<String,Object> headerMap = new HashedMap();
@ -139,6 +213,7 @@ public class WlyyHttpService {
                return null;
                return null;
            }
            }
        }catch (Exception e){
        }catch (Exception e){
            e.printStackTrace();
            logger.error("sendWlyyMes error:"+e.toString());
            logger.error("sendWlyyMes error:"+e.toString());
        }
        }
        return null;
        return null;

+ 56 - 0
business/es-service/src/main/java/com/yihu/jw/es/service/StatisticsEsService.java

@ -5682,6 +5682,62 @@ public class StatisticsEsService {
        }
        }
    }
    }
    /**
     * 医生圈app-文章统计头部
     *
     * @param flag      0自定义 1本月2近半年3本年
     * @param startDate 开始时间
     * @param endDate   结束时间
     * @param area      区域编码 如 level2 area传市编码
     * @param level     2 市  3区  4医院 5、科室 6医生
     * @return
     * @throws Exception
     */
    public JSONObject getArticleTotalApp(Integer flag, String startDate, String endDate, String area, int level,String slaveKey1) throws Exception {
        //发布量
        SaveModel saveModel = null;
        //收藏量
        SaveModel saveModel3 = null;
        //点赞量
        SaveModel saveModel2 = null;
        //评论量
        SaveModel saveModel1 = null;
        //浏览量
        SaveModel saveModel6 = null;
        if (flag == 1) {
            startDate = DateUtil.getFirstMonthDay() + " 00:00:00";
            endDate = DateUtil.getLastMonthDay() + " 23:59:59";
        } else if (flag == 2) {
            startDate = DateUtil.getMonthDate(new Date(), -6) + " 00:00:00";
            endDate = DateUtil.getStringDateShort() + " 23:59:59";
        } else if (flag == 3) {
            startDate = DateUtil.getCurrentYearStartTime() + " 00:00:00";
            endDate = DateUtil.getCurrentYearEndTime() + " 23:59:59";
        }
        JSONObject object = new JSONObject();
        //发布量统计
        saveModel = elasticsearchUtil.findOneDateQuotaLevel1(startDate, endDate, area, level, "75", SaveModel.timeLevel_ZL,slaveKey1);
        Integer publishTotal = saveModel != null ? saveModel.getResult1().intValue() : 0;
        object.put("publishTotal", publishTotal);//发布量
        //收藏量统计
        saveModel3 = elasticsearchUtil.findOneDateQuotaLevel2(startDate, endDate, area, level, "76", SaveModel.timeLevel_ZL, slaveKey1, "3");
        Integer collectTotal = saveModel3 != null ? saveModel3.getResult1().intValue() : 0;
        object.put("collectTotal", collectTotal);//收藏量
        //点赞量统计
        saveModel2 = elasticsearchUtil.findOneDateQuotaLevel2(startDate, endDate, area, level, "76", SaveModel.timeLevel_ZL, slaveKey1, "2");
        Integer goodTotal = saveModel2 != null ? saveModel2.getResult1().intValue() : 0;
        object.put("goodTotal", goodTotal);//点赞量
        //评论量统计
        saveModel1 = elasticsearchUtil.findOneDateQuotaLevel2(startDate, endDate, area, level, "76", SaveModel.timeLevel_ZL, slaveKey1, "1");
        Integer commentTotal = saveModel1 != null ? saveModel1.getResult1().intValue() : 0;
        object.put("commentTotal", commentTotal);//评论量
        //浏览量统计
        saveModel6 = elasticsearchUtil.findOneDateQuotaLevel1(startDate, endDate, area, level, "77", SaveModel.timeLevel_ZL,slaveKey1);
        Integer browseTotal = saveModel6 != null ? saveModel6.getResult1().intValue() : 0;
        object.put("browseTotal", browseTotal);//浏览量
        return object;
    }
    /**
    /**
     * 医生圈-文章统计头部
     * 医生圈-文章统计头部

+ 4 - 1
business/im-service/src/main/java/com/yihu/jw/im/service/ImService.java

@ -47,6 +47,7 @@ import com.yihu.jw.im.dao.ConsultTeamLogDao;
import com.yihu.jw.im.util.ImUtil;
import com.yihu.jw.im.util.ImUtil;
import com.yihu.jw.im.util.ImageCompress;
import com.yihu.jw.im.util.ImageCompress;
import com.yihu.jw.knowledge.dao.BaseSystemDialogSettingDao;
import com.yihu.jw.knowledge.dao.BaseSystemDialogSettingDao;
import com.yihu.jw.label.WlyyPatientLabelDao;
import com.yihu.jw.order.dao.BusinessOrderDao;
import com.yihu.jw.order.dao.BusinessOrderDao;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.rehabilitation.ServiceItemPlanDao;
import com.yihu.jw.rehabilitation.ServiceItemPlanDao;
@ -169,7 +170,8 @@ public class ImService {
    private WlyyConsultAdviceDao wlyyConsultAdviceDao;
    private WlyyConsultAdviceDao wlyyConsultAdviceDao;
    @Autowired
    @Autowired
    private XzzxEntranceService xzzxEntranceService;
    private XzzxEntranceService xzzxEntranceService;
    @Autowired
    private WlyyPatientLabelDao patientLabelDao;
    @Value("${wechat.id}")
    @Value("${wechat.id}")
    private String wxId;
    private String wxId;
    @Autowired
    @Autowired
@ -4928,6 +4930,7 @@ public class ImService {
                map.put("patientAge", age);
                map.put("patientAge", age);
                map.put("patientSex", sex);
                map.put("patientSex", sex);
            }
            }
            map.put("labelList", patientLabelDao.findByPatient(map.get("id").toString(),doctor,"4"));
        }
        }
        return list;
        return list;
    }
    }

+ 43 - 1
common/common-entity/src/db/2024.sql

@ -207,4 +207,46 @@ CREATE TABLE `wlyy_patient_scheme_list` (
  `doctorcode` varchar(50) DEFAULT NULL COMMENT '医生CODE',
  `doctorcode` varchar(50) DEFAULT NULL COMMENT '医生CODE',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`)
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 COMMENT='患者-监测方案关联关系表';
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 COMMENT='患者-监测方案关联关系表';
INSERT INTO `base`.`oauth_wlyy_config` (`id`, `app_id`, `app_secret`, `token_url`, `url`, `remark`) VALUES ('commonGet', '019bd04d-3cb2-433f-a530-03f0cdb083e5', '08cc3ec2-736b-4732-a8f0-f99eb6f9d311', 'https://www.xmtyw.cn/wlyytest/gc/accesstoken', 'https://www.xmtyw.cn/wlyytest/wlyygc/tongan/hospital/', '通用接口');
INSERT INTO `base`.`oauth_wlyy_config` (`id`, `app_id`, `app_secret`, `token_url`, `url`, `remark`) VALUES ('uploadImg', '019bd04d-3cb2-433f-a530-03f0cdb083e5', '08cc3ec2-736b-4732-a8f0-f99eb6f9d311', 'https://www.xmtyw.cn/wlyytest/gc/accesstoken', 'https://www.xmtyw.cn/wlyytest/wlyygc/upload/file', '图片上传');
CREATE TABLE `wlyy_sign` (
    `id` int NOT NULL AUTO_INCREMENT,
    `idcard` varchar(50) DEFAULT NULL,
    `admin_team_id` int DEFAULT NULL,
    `create_time` datetime DEFAULT NULL,
    PRIMARY KEY (`id`),
    KEY `index1` (`idcard`),
    KEY `index2` (`admin_team_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 ;
CREATE TABLE `wlyy_patient_aim_blood_pressure` (
      `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id主键,与业务逻辑无关',
      `code` varchar(50) NOT NULL COMMENT '业务主键UUID',
      `patientcode` varchar(50) DEFAULT NULL COMMENT '患者CODE',
      `sbp` varchar(10) DEFAULT NULL COMMENT '血压收缩压',
      `dbp` varchar(10) DEFAULT NULL COMMENT '血压舒张压',
      `sbp_min` varchar(10) DEFAULT NULL COMMENT '血压收缩压低限',
      `dbp_min` varchar(10) DEFAULT NULL COMMENT '血压舒张压低限',
      `unit` varchar(10) DEFAULT NULL COMMENT '单位',
      `create_time` datetime DEFAULT NULL COMMENT '创建时间',
      PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COMMENT='患者-血压目标';
CREATE TABLE `wlyy_patient_aim_blood_sugger` (
   `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id主键,与业务主键无关',
   `code` varchar(50) NOT NULL COMMENT '业务主键UUID',
   `patientcode` varchar(50) DEFAULT NULL COMMENT '患者CODE',
   `fbg` varchar(10) DEFAULT NULL COMMENT 'FBG(fasting blood-glucose)空腹血糖',
   `hpg` varchar(10) DEFAULT NULL COMMENT '餐后两小时血糖(2h Plasma Glucose,2Hpg)',
   `fbg_min` varchar(10) DEFAULT NULL COMMENT '空腹血糖低限',
   `hpg_min` varchar(255) DEFAULT NULL COMMENT '餐后血糖低限',
   `unit` varchar(10) DEFAULT NULL COMMENT '血糖单位',
   `create_time` datetime DEFAULT NULL COMMENT '创建时间',
   PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='患者-血糖目标';

+ 6 - 6
common/common-entity/src/main/java/com/yihu/jw/entity/base/device/PatientAimBloodPressure.java

@ -16,12 +16,12 @@ import java.util.Date;
@SequenceGenerator(name = "id_generated", sequenceName = "wlyy_patient_aim_blood_pressure")
@SequenceGenerator(name = "id_generated", sequenceName = "wlyy_patient_aim_blood_pressure")
public class PatientAimBloodPressure extends IdEntity {
public class PatientAimBloodPressure extends IdEntity {
    private String code;
    private String code;
    private String patientcode;
    private String sbp;
    private String dbp;
    private String sbpMin;
    private String dbpMin;
    private String unit;
    private String patientcode;//'患者CODE'
    private String sbp;//'血压收缩压'
    private String dbp;//'血压舒张压'
    private String sbpMin;//'血压收缩压低限'
    private String dbpMin;//'血压舒张压低限'
    private String unit;//'单位'
    private Date createTime;
    private Date createTime;
    @Basic
    @Basic

+ 6 - 6
common/common-entity/src/main/java/com/yihu/jw/entity/base/device/PatientAimBloodSugger.java

@ -19,12 +19,12 @@ import java.util.Date;
public class PatientAimBloodSugger extends IdEntity {
public class PatientAimBloodSugger extends IdEntity {
    private String code;
    private String code;
    private String patientcode;
    private String fbg;
    private String hpg;
    private String fbgMin;
    private String hpgMin;
    private String unit;
    private String patientcode;//患者CODE
    private String fbg;//空腹血糖
    private String hpg;//餐后两小时血糖
    private String fbgMin;//'空腹血糖低限'
    private String hpgMin;//'餐后血糖低限'
    private String unit;//'血糖单位'
    private Date createTime;
    private Date createTime;
    public String getCode() {
    public String getCode() {

+ 2 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/base/patient/BasePatientBusinessDO.java

@ -52,10 +52,11 @@ public class BasePatientBusinessDO extends UuidIdentityEntityWithOperator {
    private String relationName;
    private String relationName;
    /**
    /**
     * 业务类型1、文章2、问卷
     * 业务类型 1、文章 2、问卷  3、指导  4、im咨询
     */
     */
    private Integer relationType;
    private Integer relationType;
    /**
    /**
     * 是否收藏
     * 是否收藏
     */
     */

+ 37 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/door/WlyySign.java

@ -0,0 +1,37 @@
package com.yihu.jw.entity.door;
import com.yihu.jw.entity.IdEntityWithCreateTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * i健康同安签约居民
 * Created by yeshijie on 2024/7/16.
 */
@Entity
@Table(name = "wlyy_sign")
public class WlyySign extends IdEntityWithCreateTime {
    private String idcard;
    private String adminTeamId;
    @Column(name = "idcard")
    public String getIdcard() {
        return idcard;
    }
    public void setIdcard(String idcard) {
        this.idcard = idcard;
    }
    @Column(name = "admin_team_id")
    public String getAdminTeamId() {
        return adminTeamId;
    }
    public void setAdminTeamId(String adminTeamId) {
        this.adminTeamId = adminTeamId;
    }
}

+ 10 - 10
common/common-entity/src/main/java/com/yihu/jw/entity/scheme/DoctorSchemeBloodPressure.java

@ -22,16 +22,16 @@ public class DoctorSchemeBloodPressure extends IdEntity {
    private String code;
    private String code;
    private String doctorcode;          //医生CODE
    private String doctorcode;          //医生CODE
    private Short dayofweek;            //星期几
    private Short dayofweek;            //星期几
    private Short earlyMorning;
    private Time earlyMorningTime;
    private Short morning;
    private Time morningTime;
    private Short noon;
    private Time noonTime;
    private Short afterNoon;
    private Time afterNoonTime;
    private Short night;
    private Time nightTime;
    private Short earlyMorning;//清晨:0为否,1为是
    private Time earlyMorningTime;//清晨测量时间
    private Short morning;//上午:0为否,1为是
    private Time morningTime;//上午测量时间
    private Short noon;//中午:0为否,1为是
    private Time noonTime;//中午测量时间
    private Short afterNoon;//下午:0为否,1为是
    private Time afterNoonTime;//下午测量时间
    private Short night;//晚上:0为否,1为是
    private Time nightTime;//晚上测量时间
    private Timestamp createTime;      //创建时间
    private Timestamp createTime;      //创建时间
    private Short alertTag;            //是否提醒用户
    private Short alertTag;            //是否提醒用户
    private String content;            //方案说明
    private String content;            //方案说明

+ 16 - 16
common/common-entity/src/main/java/com/yihu/jw/entity/scheme/DoctorSchemeBloodSugger.java

@ -21,22 +21,22 @@ public class DoctorSchemeBloodSugger extends IdEntity {
    private String name;                    //方案名称
    private String name;                    //方案名称
    private String code;
    private String code;
    private String doctorcode;
    private String doctorcode;
    private Short dayofweek;                //星期几:1-7,1代表周日,7代表周六
    private Short beforeBreakfast;
    private Time beforeBreakfastTime;
    private Short afterBreakfast;
    private Time afterBreakfastTime;
    private Short beforeLunch;
    private Time beforeLunchTime;
    private Short afterLunch;
    private Time afterLunchTime;
    private Short beforeDinner;
    private Time beforeDinnerTime;
    private Short afterDinner;
    private Time afterDinnerTime;
    private Short beforeSleep;
    private Time beforeSleepTime;
    private Timestamp createTime;
    private Short dayofweek;//星期几:1-7,1代表周日,7代表周六
    private Short beforeBreakfast;//早餐前:0为否,1为是
    private Time beforeBreakfastTime;//'早餐前测量时间'
    private Short afterBreakfast;//早餐后:0为否,1为是
    private Time afterBreakfastTime;//'早餐后测量时间'
    private Short beforeLunch;//午餐前:0为否,1为是
    private Time beforeLunchTime;//'午餐前测量时间'
    private Short afterLunch;//午餐后:0为否,1为是
    private Time afterLunchTime;//'午餐后测量时间'
    private Short beforeDinner;//晚餐前:0为否,1为是
    private Time beforeDinnerTime;//晚餐前测量时间
    private Short afterDinner;//晚餐后:0为否,1为是
    private Time afterDinnerTime;//'晚餐后测量时间'
    private Short beforeSleep;//睡前:0为否,1为是
    private Time beforeSleepTime;//睡前测量时间'
    private Timestamp createTime;//创建时间
    private Short alertTag;                 //是否提醒用户
    private Short alertTag;                 //是否提醒用户
    private String content;                 //方案说明
    private String content;                 //方案说明
    private Integer del;          //0为正常,1为删除
    private Integer del;          //0为正常,1为删除

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

@ -27,355 +27,378 @@ import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.List;
/**
/**
 * 官网-文章
 * 官网-文章
 *
 * @author huangwenjie
 * @author huangwenjie
 */
 */
@RestController
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.PREFIX)
@RequestMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.PREFIX)
@Api(value = "官网-文章管理接口",  tags = {"官网-文章管理接口"})
@Api(value = "官网-文章管理接口", tags = {"官网-文章管理接口"})
public class ArticleEndpoint extends EnvelopRestEndpoint {
public class ArticleEndpoint extends EnvelopRestEndpoint {
	
	@Autowired
	private KnowledgeArticleDictService knowledgeArticleDictService;
	
	@Autowired
	private KnowledgeCategoryService knowledgeCategoryService;
	@Autowired
	private KnowledgeArticleDictDao knowledgeArticleDictDao;
	@Autowired
	private UserDao userdao;
	@Autowired
	private RoleDao roleDao;
	@Autowired
	private JdbcTemplate jdbcTemplate;
	
	@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 {
			String userId=getUID();
			UserDO userDO = userdao.findById(userId).orElse(null);
			boolean queryAll=false;
			if (userDO!=null){
				RoleDO roleDO= roleDao.findById(userDO.getRoleId()).orElse(null);
				if (roleDO!=null){
					if ("admin".equalsIgnoreCase(roleDO.getCode())
							||"hosAdmin".equalsIgnoreCase(roleDO.getCode())
							||"saasAdmin".equalsIgnoreCase(roleDO.getCode())){
						queryAll=true;
					}
				}
			}
			if (queryAll){
				if(StringUtils.isBlank(filters)){
					filters=filters+"del=1";
				}else{
					filters=filters+";del=1";
				}
			}else {
				if(StringUtils.isBlank(filters)){
					filters=filters+"del=1"+";createUser="+userId+"";
				}else{
					filters=filters+";del=1"+";createUser="+userId+"";
				}
			}
			filters += ";type=1";
			List<KnowledgeArticleDictDO> list  = knowledgeArticleDictService.search(fields,filters,sorts,page,pageSize);
			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 failedException(e);
		}
	}
	@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)throws Exception{
		try {
			return success(knowledgeArticleDictService.findArticleList(first,second,1,key,page,pageSize));
		}catch (Exception e){
			return failedException(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 {
			KnowledgeArticleDictDO articleDO = knowledgeArticleDictDao.findById(id).orElse(null);
			return success(articleDO);
		}catch (Exception e){
			return failedException(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 {
				knowledgeArticleDictService.delArticle(id);
				return success("操作成功");
			}catch (Exception e){
				return failedException(e);
			}
	}
	
	@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.saveArticle)
	@ApiOperation(value = "保存/更新文章")
	public Envelop saveArticle(
			@ApiParam(name = "jsonData", value = "Json数据", required = true)
			@RequestParam String jsonData)throws Exception {
		try {
			knowledgeArticleDictService.saveArticle(jsonData,1);
			return success("操作成功");
		}catch (Exception e){
			e.printStackTrace();
			return failedException(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 {
			knowledgeArticleDictService.reviewArticle(articleId,status,reason);
			return success("操作成功");
		}catch (Exception e){
			return failedException(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(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 failedException(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){
			return failedException(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(knowledgeArticleDictService.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(knowledgeArticleDictService.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(knowledgeArticleDictService.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(knowledgeArticleDictService.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(knowledgeArticleDictService.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 = "status", value = "1发布0未发布")
									  @RequestParam(value = "status",required = false)Integer status)throws Exception {
		try {
			return success(knowledgeArticleDictService.releaseArticle(id,status));
		}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.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(knowledgeArticleDictService.findPatientFavorite(patient,page,pageSize));
		}catch (Exception e){
			return failedException(e);
		}
	}
    @Autowired
    private KnowledgeArticleDictService knowledgeArticleDictService;
    @Autowired
    private KnowledgeCategoryService knowledgeCategoryService;
    @Autowired
    private KnowledgeArticleDictDao knowledgeArticleDictDao;
    @Autowired
    private UserDao userdao;
    @Autowired
    private RoleDao roleDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @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 {
            String userId = getUID();
            UserDO userDO = userdao.findById(userId).orElse(null);
            boolean queryAll = false;
            if (userDO != null) {
                RoleDO roleDO = roleDao.findById(userDO.getRoleId()).orElse(null);
                if (roleDO != null) {
                    if ("admin".equalsIgnoreCase(roleDO.getCode())
                            || "hosAdmin".equalsIgnoreCase(roleDO.getCode())
                            || "saasAdmin".equalsIgnoreCase(roleDO.getCode())) {
                        queryAll = true;
                    }
                }
            }
            if (queryAll) {
                if (StringUtils.isBlank(filters)) {
                    filters = filters + "del=1";
                } else {
                    filters = filters + ";del=1";
                }
            } else {
                if (StringUtils.isBlank(filters)) {
                    filters = filters + "del=1" + ";createUser=" + userId + "";
                } else {
                    filters = filters + ";del=1" + ";createUser=" + userId + "";
                }
            }
            filters += ";type=1";
            List<KnowledgeArticleDictDO> list = knowledgeArticleDictService.search(fields, filters, sorts, page, pageSize);
            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 failedException(e);
        }
    }
    @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) throws Exception {
        try {
            return success(knowledgeArticleDictService.findArticleList(first, second, 1, key, page, pageSize));
        } catch (Exception e) {
            return failedException(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 {
            KnowledgeArticleDictDO articleDO = knowledgeArticleDictDao.findById(id).orElse(null);
            return success(articleDO);
        } catch (Exception e) {
            return failedException(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 {
            knowledgeArticleDictService.delArticle(id);
            return success("操作成功");
        } catch (Exception e) {
            return failedException(e);
        }
    }
    @PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.saveArticle)
    @ApiOperation(value = "保存/更新文章")
    public Envelop saveArticle(
            @ApiParam(name = "jsonData", value = "Json数据", required = true) @RequestParam String jsonData
    ) throws Exception {
        try {
            knowledgeArticleDictService.saveArticle(jsonData, 1);
            return success("操作成功");
        } catch (Exception e) {
            e.printStackTrace();
            return failedException(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 {
            knowledgeArticleDictService.reviewArticle(articleId, status, reason);
            return success("操作成功");
        } catch (Exception e) {
            return failedException(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 (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 failedException(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) {
            return failedException(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(knowledgeArticleDictService.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(knowledgeArticleDictService.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(knowledgeArticleDictService.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(knowledgeArticleDictService.saveDeptArticle(dept, sdJsons));
        } catch (Exception e) {
            return failedObjEnvelopException(e);
        }
    }
    /**
     * 查询文章发送记录
     * BasePatientBusinessDO
     */
    @PostMapping(value = "/findSendPatientList")
    @ApiOperation(value = "查询文章发送记录-发送文章/问卷")
    public ObjEnvelop findSendPatientList(
            @ApiParam(name = "doctorCode", value = "医生") @RequestParam(value = "doctorCode", required = false) String doctorCode,
            @ApiParam(name = "patientCode", value = "居民code") @RequestParam(value = "patientCode", required = false) String patientCode,
            @ApiParam(name = "sendType", value = "发送类型") @RequestParam(value = "sendType", required = false) String sendType,
            @ApiParam(name = "page", value = "页码") @RequestParam(value = "page", required = false) int page,
            @ApiParam(name = "pageSize", value = "数量") @RequestParam(value = "pageSize", required = false) int pageSize
    ) {
        HashMap<String, Object> result = knowledgeArticleDictService.findSendPatientList(doctorCode,patientCode, sendType, page, pageSize);
        ObjEnvelop objEnvelop = new ObjEnvelop();
        objEnvelop.setObj(result);
        return objEnvelop;
    }
    @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(knowledgeArticleDictService.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 = "status", value = "1发布0未发布")
                                     @RequestParam(value = "status", required = false) Integer status) throws Exception {
        try {
            return success(knowledgeArticleDictService.releaseArticle(id, status));
        } 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.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(knowledgeArticleDictService.findPatientFavorite(patient, page, pageSize));
        } catch (Exception e) {
            return failedException(e);
        }
    }
}
}

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

@ -29,316 +29,306 @@ import java.util.List;
/**
/**
 * app文章
 * app文章
 *
 * @author yeshijie
 * @author yeshijie
 */
 */
@RestController
@RestController
@RequestMapping(value = "articleDict")
@RequestMapping(value = "articleDict")
@Api(value = "app文章管理接口",  tags = {"app文章管理接口"})
@Api(value = "app文章管理接口", tags = {"app文章管理接口"})
public class ArticleDictEndpoint extends EnvelopRestEndpoint {
public class ArticleDictEndpoint extends EnvelopRestEndpoint {
	
	@Autowired
	private KnowledgeArticleDictService knowledgeArticleDictService;
	@Autowired
	private KnowledgeArticleDictDao knowledgeArticleDictDao;
	@Autowired
	private BaseDoctorDao doctorDao;
	@Autowired
	private BaseDoctorRoleDao doctorRoleDao;
	@Autowired
	private JdbcTemplate jdbcTemplate;
	@Autowired
	private BaseMenuManageService menuManageService;
	
	@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 {
			String userId=getUID();
			BaseDoctorRoleDO roleDO = doctorRoleDao.findByDoctorCodeAndRoleCode(userId, CommonContant.DR_ARTICLEREVIEWER);
			boolean queryAll=false;
			if (roleDO!=null){
				queryAll=true;
			}
			if (queryAll){
				if(StringUtils.isBlank(filters)){
					filters=filters+"del=1";
				}else{
					filters=filters+";del=1";
				}
			}else {
				if(StringUtils.isBlank(filters)){
					filters=filters+"del=1"+";createUser="+userId+"";
				}else{
					filters=filters+";del=1"+";createUser="+userId+"";
				}
			}
			filters += ";type=2";
			List<KnowledgeArticleDictDO> list  = knowledgeArticleDictService.search(fields,filters,sorts,page,pageSize);
			for (KnowledgeArticleDictDO articleDictDO:list){
				JSONObject object = menuManageService.findArticleStaticsByArticleId(articleDictDO.getId());
				if (object!=null){
					articleDictDO.setCollection(Integer.parseInt(object.getString("collectTotal")));
					articleDictDO.setComment(Integer.parseInt(object.getString("commentTotal")));
					articleDictDO.setFabulous(Integer.parseInt(object.getString("eulogyTotal")));
				}
			}
			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.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){
		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(
			@ApiParam(name = "id", value = "id", required = true)
			@RequestParam(value = "id", required = true)String id){
		try {
			KnowledgeArticleDictDO articleDO = knowledgeArticleDictService.findById(id);
			if(articleDO!=null){
				BaseDoctorDO doctorDO = doctorDao.findById(articleDO.getCreateUser()).orElse(null);
				if(doctorDO!=null){
					articleDO.setDoctorImage(doctorDO.getPhoto());
				}
			}
			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){
			try {
				knowledgeArticleDictService.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) {
		try {
			knowledgeArticleDictService.saveArticle(jsonData,2);
			return success("操作成功");
		}catch (Exception e){
			e.printStackTrace();
			return failedException2(e);
		}
	}
	@GetMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.findArticleStaticsByDoctorId)
	@ApiOperation(value = "获取doctorId获取医生发布的文章统计数据")
	public Envelop findArticleStaticsByDoctorId(
			@ApiParam(name = "doctorId", value = "医生id", required = true)
			@RequestParam String doctorId) {
		try {
			return success("查询成功",knowledgeArticleDictService.findArticleStaticsByDoctorId(doctorId));
		}catch (Exception e){
			e.printStackTrace();
			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
	){
		try {
			knowledgeArticleDictService.reviewArticle(articleId,status,reason);
			return success("操作成功");
		}catch (Exception e){
			return failedException2(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 = "status", value = "1发布0未发布")
									  @RequestParam(value = "status",required = false)Integer status){
		try {
			return success(knowledgeArticleDictService.releaseArticle(id,status));
		}catch (Exception e){
			return failedObjEnvelopException2(e);
		}
	}
	//居民免登录
	@GetMapping(value = "open/searchKnowledgePageList")
	@ApiOperation(value = "获取文章列表")
	public Envelop searchKnowledgePageListOpen(
			@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 {
			String now = DateUtil.getStringDate();
			if(StringUtils.isBlank(filters)){
				filters=filters+"del=1;type=2;status=1;releaseTime<="+now;
			}else{
				filters=filters+";del=1;type=2;status=1;releaseTime<="+now;
			}
			List<KnowledgeArticleDictDO> list  = knowledgeArticleDictService.search(fields,filters,sorts,page,pageSize);
			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 = "open/queryById")
	@ApiOperation(value = "根据id查询文章")
	public Envelop queryByCodeOpen(
			@ApiParam(name = "id", value = "id", required = true)
			@RequestParam(value = "id", required = true)String id){
		try {
			KnowledgeArticleDictDO articleDO = knowledgeArticleDictService.findById(id);
			return success(articleDO);
		}catch (Exception e){
			return failedException2(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(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);
		}
	}
    @Autowired
    private KnowledgeArticleDictService knowledgeArticleDictService;
    @Autowired
    private KnowledgeArticleDictDao knowledgeArticleDictDao;
    @Autowired
    private BaseDoctorDao doctorDao;
    @Autowired
    private BaseDoctorRoleDao doctorRoleDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private BaseMenuManageService menuManageService;
    @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 {
            String userId = getUID();
            BaseDoctorRoleDO roleDO = doctorRoleDao.findByDoctorCodeAndRoleCode(userId, CommonContant.DR_ARTICLEREVIEWER);
            boolean queryAll = false;
            if (roleDO != null) {
                queryAll = true;
            }
            if (queryAll) {
                if (StringUtils.isBlank(filters)) {
                    filters = filters + "del=1";
                } else {
                    filters = filters + ";del=1";
                }
            } else {
                if (StringUtils.isBlank(filters)) {
                    filters = filters + "del=1" + ";createUser=" + userId + "";
                } else {
                    filters = filters + ";del=1" + ";createUser=" + userId + "";
                }
            }
            filters += ";type=2";
            List<KnowledgeArticleDictDO> list = knowledgeArticleDictService.search(fields, filters, sorts, page, pageSize);
            for (KnowledgeArticleDictDO articleDictDO : list) {
                JSONObject object = menuManageService.findArticleStaticsByArticleId(articleDictDO.getId());
                if (object != null) {
                    articleDictDO.setCollection(Integer.parseInt(object.getString("collectTotal")));
                    articleDictDO.setComment(Integer.parseInt(object.getString("commentTotal")));
                    articleDictDO.setFabulous(Integer.parseInt(object.getString("eulogyTotal")));
                }
            }
            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.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
    ) {
        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(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id", required = true) String id) {
        try {
            KnowledgeArticleDictDO articleDO = knowledgeArticleDictService.findById(id);
            if (articleDO != null) {
                BaseDoctorDO doctorDO = doctorDao.findById(articleDO.getCreateUser()).orElse(null);
                if (doctorDO != null) {
                    articleDO.setDoctorImage(doctorDO.getPhoto());
                }
            }
            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) {
        try {
            knowledgeArticleDictService.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
    ) {
        try {
            KnowledgeArticleDictDO article = knowledgeArticleDictService.saveArticle(jsonData, 2);
            return success("操作成功", article);
        } catch (Exception e) {
            e.printStackTrace();
            return failedException2(e);
        }
    }
    @GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.findArticleStaticsByDoctorId)
    @ApiOperation(value = "获取doctorId获取医生发布的文章统计数据")
    public Envelop findArticleStaticsByDoctorId(
            @ApiParam(name = "doctorId", value = "医生id", required = true)
            @RequestParam String doctorId) {
        try {
            return success("查询成功", knowledgeArticleDictService.findArticleStaticsByDoctorId(doctorId));
        } catch (Exception e) {
            e.printStackTrace();
            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
    ) {
        try {
            knowledgeArticleDictService.reviewArticle(articleId, status, reason);
            return success("操作成功");
        } catch (Exception e) {
            return failedException2(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 = "status", value = "1发布0未发布") @RequestParam(value = "status", required = false) Integer status
    ) {
        try {
            return success(knowledgeArticleDictService.releaseArticle(id, status));
        } catch (Exception e) {
            return failedObjEnvelopException2(e);
        }
    }
    //居民免登录
    @GetMapping(value = "open/searchKnowledgePageList")
    @ApiOperation(value = "获取文章列表")
    public Envelop searchKnowledgePageListOpen(
            @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 {
            String now = DateUtil.getStringDate();
            if (StringUtils.isBlank(filters)) {
                filters = filters + "del=1;type=2;status=1;releaseTime<=" + now;
            } else {
                filters = filters + ";del=1;type=2;status=1;releaseTime<=" + now;
            }
            List<KnowledgeArticleDictDO> list = knowledgeArticleDictService.search(fields, filters, sorts, page, pageSize);
            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 = "open/queryById")
    @ApiOperation(value = "根据id查询文章")
    public Envelop queryByCodeOpen(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id", required = true) String id) {
        try {
            KnowledgeArticleDictDO articleDO = knowledgeArticleDictService.findById(id);
            return success(articleDO);
        } catch (Exception e) {
            return failedException2(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(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);
        }
    }
}
}

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

@ -30,501 +30,484 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.List;
/**
/**
 * 健康文章
 * 健康文章
 *
 * @author huangwenjie
 * @author huangwenjie
 */
 */
@RestController
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.PREFIX)
@RequestMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.PREFIX)
@Api(value = "健康文章", description = "健康文章接口", tags = {"健康文章接口"})
@Api(value = "健康文章", description = "健康文章接口", tags = {"健康文章接口"})
public class ArticleEndpoint extends EnvelopRestEndpoint {
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);
		}
}
    @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);
        }
    }
    /**
     * 查询指定分类的信息
     */
    @GetMapping(value = "/findCategoryByIdOrName")
    @ApiOperation(value = "查询指定分类的信息")
    public MixEnvelop findCategoryByIdOrName(
            @ApiParam(name = "id", value = "id") @RequestParam(value = "id", required = false) String id,
            @ApiParam(name = "name", value = "name") @RequestParam(value = "name", required = false) String name
    ) {
        try {
            MixEnvelop envelop = knowledgeCategoryService.findCategoryByIdOrName(id,name);
            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 = "relationType", value = "类型 1、文章 2、问卷  3、指导  4、im咨询") @RequestParam(value = "relationType", required = false) String relationType,
            @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,relationType, page, pageSize));
        } catch (Exception e) {
            return failedException2(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);
		}
	}
}
}

+ 93 - 126
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/article/BaseMenuManageEndpoint.java

@ -29,20 +29,16 @@ public class BaseMenuManageEndpoint extends EnvelopRestEndpoint {
    @PostMapping(value = "setCollection")
    @PostMapping(value = "setCollection")
    @ApiOperation(value = "设置文章状态")
    @ApiOperation(value = "设置文章状态")
    public ObjEnvelop setCollection(@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(menuService.setCollectionById(id,flag,status,user,userType));
        }catch (Exception e){
    public ObjEnvelop setCollection(
            @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(menuService.setCollectionById(id, flag, status, user, userType));
        } catch (Exception e) {
            return failedObjEnvelopException(e);
            return failedObjEnvelopException(e);
        }
        }
    }
    }
@ -50,50 +46,46 @@ public class BaseMenuManageEndpoint extends EnvelopRestEndpoint {
    @PostMapping(value = BaseRequestMapping.MenuDict.deleteMenuDict)
    @PostMapping(value = BaseRequestMapping.MenuDict.deleteMenuDict)
    @ApiOperation(value = "删除菜单")
    @ApiOperation(value = "删除菜单")
    public Envelop deleteMenuDict(
    public Envelop deleteMenuDict(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id") String id) {
            @ApiParam(name = "id", value = "id", required = true) @RequestParam(value = "id") String id) {
        try {
        try {
            menuService.deletMenuDict(id);
            menuService.deletMenuDict(id);
            return success("删除成功");
            return success("删除成功");
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
    @PostMapping(value = BaseRequestMapping.MenuDict.createMenuDict)
    @PostMapping(value = BaseRequestMapping.MenuDict.createMenuDict)
    @ApiOperation(value = "新建或修改")
    @ApiOperation(value = "新建或修改")
    public Envelop create (
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestParam String jsonData) {
    public Envelop create(
            @ApiParam(name = "jsonData", value = "Json数据", required = true) @RequestParam String jsonData) {
        try {
        try {
            BaseMenuDictDO baseMenuDictDO = menuService.createOrUpdateMenu(jsonData,2);
            BaseMenuDictDO baseMenuDictDO = menuService.createOrUpdateMenu(jsonData, 2);
            return success(baseMenuDictDO);
            return success(baseMenuDictDO);
        } catch (Exception e) {
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
    @PostMapping(value = BaseRequestMapping.MenuDict.findOneMenuDict)
    @PostMapping(value = BaseRequestMapping.MenuDict.findOneMenuDict)
    @ApiOperation(value = "根据id查询链接单条")
    @ApiOperation(value = "根据id查询链接单条")
    public Envelop findOneMenuDict(
    public Envelop findOneMenuDict(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id") String id,
            @ApiParam(name = "patient", value = "居民id", required = false)
            @RequestParam(value = "patient", required = false) String patient) {
            @ApiParam(name = "id", value = "id", required = true) @RequestParam(value = "id") String id,
            @ApiParam(name = "patient", value = "居民id", required = false) @RequestParam(value = "patient", required = false) String patient) {
        try {
        try {
            return success(menuService.findOneMenuDict(id,patient));
        }catch (Exception e){
            return success(menuService.findOneMenuDict(id, patient));
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
    @PostMapping(value = BaseRequestMapping.MenuDict.MOVE_DOWN)
    @PostMapping(value = BaseRequestMapping.MenuDict.MOVE_DOWN)
    @ApiOperation(value = "下移")
    @ApiOperation(value = "下移")
    public Envelop moveDown(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id") String id) {
    public Envelop moveDown(@ApiParam(name = "id", value = "id", required = true) @RequestParam(value = "id") String id) {
        try {
        try {
            BaseMenuDictDO baseMenuDictDO = menuService.downMenu(id);
            BaseMenuDictDO baseMenuDictDO = menuService.downMenu(id);
            return success(baseMenuDictDO);
            return success(baseMenuDictDO);
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
@ -101,13 +93,11 @@ public class BaseMenuManageEndpoint extends EnvelopRestEndpoint {
    @PostMapping(value = BaseRequestMapping.MenuDict.MOVE_UP)
    @PostMapping(value = BaseRequestMapping.MenuDict.MOVE_UP)
    @ApiOperation(value = "上移")
    @ApiOperation(value = "上移")
    public Envelop moveUp(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id") String id) {
    public Envelop moveUp(@ApiParam(name = "id", value = "id", required = true) @RequestParam(value = "id") String id) {
        try {
        try {
            BaseMenuDictDO baseMenuDictDO = menuService.upMenu(id);
            BaseMenuDictDO baseMenuDictDO = menuService.upMenu(id);
            return success(baseMenuDictDO);
            return success(baseMenuDictDO);
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
@ -115,63 +105,54 @@ public class BaseMenuManageEndpoint extends EnvelopRestEndpoint {
    @PostMapping(value = BaseRequestMapping.MenuDict.STATUS)
    @PostMapping(value = BaseRequestMapping.MenuDict.STATUS)
    @ApiOperation(value = "生效/失效")
    @ApiOperation(value = "生效/失效")
    public Envelop status(
    public Envelop status(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id") String id,
            @ApiParam(name = "status", value = "1生效,0失效", required = true)
            @RequestParam(value = "status") Integer status) {
            @ApiParam(name = "id", value = "id", required = true) @RequestParam(value = "id") String id,
            @ApiParam(name = "status", value = "1生效,0失效", required = true) @RequestParam(value = "status") Integer status) {
        try {
        try {
            menuService.updateStatus(id, status);
            menuService.updateStatus(id, status);
            return success("修改成功");
            return success("修改成功");
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
    @GetMapping(value = BaseRequestMapping.MenuDict.LIST)
    @GetMapping(value = BaseRequestMapping.MenuDict.LIST)
    @ApiOperation(value = "查询菜单字典列表")
    @ApiOperation(value = "查询菜单字典列表")
    public Envelop findMenuDictByKey(
    public Envelop findMenuDictByKey(
            @ApiParam(name = "parentId", value = "parentId", required = false)
            @RequestParam(value = "parentId",required = false) String parentId,
            @ApiParam(name = "name", value = "name", required = false)
            @RequestParam(value = "name",required = false) String name,
            @ApiParam(name = "status", value = "status", required = false)
            @RequestParam(value = "status",required = false) Integer status) {
            @ApiParam(name = "parentId", value = "parentId", required = false) @RequestParam(value = "parentId", required = false) String parentId,
            @ApiParam(name = "name", value = "name", required = false) @RequestParam(value = "name", required = false) String name,
            @ApiParam(name = "status", value = "status", required = false) @RequestParam(value = "status", required = false) Integer status
    ) {
        try {
        try {
            return success(menuService.findMenuDictByKey(parentId, name,status,2));
        }catch (Exception e){
            return success(menuService.findMenuDictByKey(parentId, name, status, 2));
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
    @PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.updateArticleUser)
    @PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.updateArticleUser)
    @ApiOperation(value = "患者更新文章状态")
    @ApiOperation(value = "患者更新文章状态")
    public Envelop updateArticleUser( @ApiParam(name = "flag", value = "1点赞2收藏3常用4分享5阅读")
                                      @RequestParam(value = "flag",required = false)Integer flag,
                                      @ApiParam(name = "articleId", value = "文章id")
                                      @RequestParam(value = "articleId",required = false)String articleId,
                                      @ApiParam(name = "userCode", value = "用户编码")
                                      @RequestParam(value = "userCode",required = false)String userCode,
                                      @ApiParam(name = "status", value = "对应的状态(0,1)")
                                      @RequestParam(value = "status",required = false)Integer status)throws Exception {
    public Envelop updateArticleUser(
            @ApiParam(name = "flag", value = "1点赞2收藏3常用4分享5阅读") @RequestParam(value = "flag", required = false) Integer flag,
            @ApiParam(name = "articleId", value = "文章id") @RequestParam(value = "articleId", required = false) String articleId,
            @ApiParam(name = "userCode", value = "用户编码") @RequestParam(value = "userCode", required = false) String userCode,
            @ApiParam(name = "status", value = "对应的状态(0,1)") @RequestParam(value = "status", required = false) Integer status) throws Exception {
        try {
        try {
            return success(menuService.updateArticleUser(flag,articleId,userCode,status));
        }catch (Exception e){
            return success(menuService.updateArticleUser(flag, articleId, userCode, status));
        } catch (Exception e) {
            return failedException2(e);
            return failedException2(e);
        }
        }
    }
    }
    @GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.selectMenuList)
    @GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.selectMenuList)
    @ApiOperation(value = "查询患者关注文章列表分类")
    @ApiOperation(value = "查询患者关注文章列表分类")
    public Envelop selectMenuList( @ApiParam(name = "flag", value = "1点赞2收藏3常用4分享5阅读")
                                      @RequestParam(value = "flag",required = false)Integer flag,
                                      @ApiParam(name = "userCode", value = "用户编码")
                                      @RequestParam(value = "userCode",required = false)String userCode,
                                      @ApiParam(name = "status", value = "对应的状态(0,1)")
                                      @RequestParam(value = "status",required = false)Integer status)throws Exception {
    public Envelop selectMenuList(
            @ApiParam(name = "flag", value = "1点赞2收藏3常用4分享5阅读") @RequestParam(value = "flag", required = false) Integer flag,
            @ApiParam(name = "userCode", value = "用户编码") @RequestParam(value = "userCode", required = false) String userCode,
            @ApiParam(name = "status", value = "对应的状态(0,1)") @RequestParam(value = "status", required = false) Integer status
    ) throws Exception {
        try {
        try {
            return success(menuService.selectMenuList(userCode,flag,status));
        }catch (Exception e){
            return success(menuService.selectMenuList(userCode, flag, status));
        } catch (Exception e) {
            return failedException2(e);
            return failedException2(e);
        }
        }
    }
    }
@ -179,38 +160,32 @@ public class BaseMenuManageEndpoint extends EnvelopRestEndpoint {
    @GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.selectArticleListByCategory)
    @GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.selectArticleListByCategory)
    @ApiOperation(value = "根据分类查找患者关注文章列表")
    @ApiOperation(value = "根据分类查找患者关注文章列表")
    public Envelop selectArticleListByCategory( @ApiParam(name = "categoryFirst", value = "一级分类")
                                       @RequestParam(value = "categoryFirst",required = false)String categoryFirst,
                                   @ApiParam(name = "categorySecond", value = "二级分类")
                                   @RequestParam(value = "categorySecond",required = false)String categorySecond,
                                   @ApiParam(name = "flag", value = "1点赞2收藏3常用4分享5阅读")
                                   @RequestParam(value = "flag",required = false)Integer flag,
                                   @ApiParam(name = "userCode", value = "用户编码")
                                   @RequestParam(value = "userCode",required = false)String userCode,
                                   @ApiParam(name = "status", value = "对应的状态(0,1)")
                                   @RequestParam(value = "status",required = false)Integer status,
                                   @ApiParam(name = "page", value = "页码")
                                       @RequestParam(value = "page",required = false)Integer page,
                                   @ApiParam(name = "size", value = "每一页大小")
                                       @RequestParam(value = "size",required = false)Integer size)throws Exception {
        try {
            return success(menuService.selectArticleListByCategory(categoryFirst,categorySecond,userCode,flag,status,page,size));
        }catch (Exception e){
    public Envelop selectArticleListByCategory(
            @ApiParam(name = "categoryFirst", value = "一级分类") @RequestParam(value = "categoryFirst", required = false) String categoryFirst,
            @ApiParam(name = "categorySecond", value = "二级分类") @RequestParam(value = "categorySecond", required = false) String categorySecond,
            @ApiParam(name = "flag", value = "1点赞2收藏3常用4分享5阅读") @RequestParam(value = "flag", required = false) Integer flag,
            @ApiParam(name = "userCode", value = "用户编码") @RequestParam(value = "userCode", required = false) String userCode,
            @ApiParam(name = "status", value = "对应的状态(0,1)") @RequestParam(value = "status", required = false) Integer status,
            @ApiParam(name = "page", value = "页码") @RequestParam(value = "page", required = false) Integer page,
            @ApiParam(name = "size", value = "每一页大小") @RequestParam(value = "size", required = false) Integer size
    ) throws Exception {
        try {
            return success(menuService.selectArticleListByCategory(categoryFirst, categorySecond, userCode, flag, status, page, size));
        } catch (Exception e) {
            return failedException2(e);
            return failedException2(e);
        }
        }
    }
    }
    @GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.findArticleUserById)
    @GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.findArticleUserById)
    @ApiOperation(value = "查询患者关联的文章")
    @ApiOperation(value = "查询患者关联的文章")
    public Envelop selectArticleListByCategory(@ApiParam(name = "userCode", value = "用户编码")
                                                @RequestParam(value = "userCode",required = false)String userCode,
                                                @ApiParam(name = "articleId", value = "文章id")
                                                @RequestParam(value = "articleId",required = false)String articleId)throws Exception {
    public Envelop selectArticleListByCategory(
            @ApiParam(name = "userCode", value = "用户编码") @RequestParam(value = "userCode", required = false) String userCode,
            @ApiParam(name = "articleId", value = "文章id") @RequestParam(value = "articleId", required = false) String articleId) throws Exception {
        try {
        try {
            return success(menuService.findArticleUserById(userCode,articleId));
        }catch (Exception e){
            return success(menuService.findArticleUserById(userCode, articleId));
        } catch (Exception e) {
            return failedException2(e);
            return failedException2(e);
        }
        }
    }
    }
@ -218,63 +193,55 @@ public class BaseMenuManageEndpoint extends EnvelopRestEndpoint {
    @PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.insertArticleOperate)
    @PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.insertArticleOperate)
    @ApiOperation(value = "新增医生文章/医生操作(评论、点赞、收藏)")
    @ApiOperation(value = "新增医生文章/医生操作(评论、点赞、收藏)")
    public Envelop insert(@ApiParam(name = "json", value = "json实体")
    public Envelop insert(@ApiParam(name = "json", value = "json实体")
                          @RequestParam(value = "json",required = false)String json)throws Exception {
                          @RequestParam(value = "json", required = false) String json) throws Exception {
        try {
        try {
            KnowledgeArticleDoctorDO knowledgeArticleDoctorDO = toEntity(json,KnowledgeArticleDoctorDO.class);
            KnowledgeArticleDoctorDO knowledgeArticleDoctorDO = toEntity(json, KnowledgeArticleDoctorDO.class);
            return success(menuService.insert(knowledgeArticleDoctorDO));
            return success(menuService.insert(knowledgeArticleDoctorDO));
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
    @PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.deleteArticleDoctorById)
    @PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.deleteArticleDoctorById)
    @ApiOperation(value = "取消点赞/收藏")
    @ApiOperation(value = "取消点赞/收藏")
    public Envelop deleteArticleDoctorById(@ApiParam(name = "baseArticleDoctorId", value = "评论id")
                                            @RequestParam(value = "baseArticleDoctorId",required = false)String baseArticleDoctorId,
                                           @ApiParam(name = "relationCode", value = "文章id/医生id")
                                           @RequestParam(value = "relationCode",required = false)String relationCode,
                                           @ApiParam(name = "type", value = "类型2点赞3收藏")
                                               @RequestParam(value = "type",required = false)Integer type,
                                           @ApiParam(name = "user", value = "用户编码")
                                               @RequestParam(value = "user",required = false)String user)throws Exception {
        try {
            menuService.deleteArticleDoctorById(baseArticleDoctorId,relationCode,type,user);
    public Envelop deleteArticleDoctorById(
            @ApiParam(name = "baseArticleDoctorId", value = "评论id") @RequestParam(value = "baseArticleDoctorId", required = false) String baseArticleDoctorId,
            @ApiParam(name = "relationCode", value = "文章id/医生id") @RequestParam(value = "relationCode", required = false) String relationCode,
            @ApiParam(name = "type", value = "类型2点赞3收藏") @RequestParam(value = "type", required = false) Integer type,
            @ApiParam(name = "user", value = "用户编码") @RequestParam(value = "user", required = false) String user
    ) throws Exception {
        try {
            menuService.deleteArticleDoctorById(baseArticleDoctorId, relationCode, type, user);
            return success();
            return success();
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
    @GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.selectArticleDoctorById)
    @GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.selectArticleDoctorById)
    @ApiOperation(value = "查询医生关联文章回复数据")
    @ApiOperation(value = "查询医生关联文章回复数据")
    public Envelop selectArticleDoctorById(@ApiParam(name = "user", value = "用户id")
                                               @RequestParam(value = "user",required = false)String user,
                                           @ApiParam(name = "id", value = "文章id")
                                           @RequestParam(value = "id",required = false)String id,
                                           @ApiParam(name = "page", value = "当前页")
                                           @RequestParam(value = "page",required = false)Integer page,
                                           @ApiParam(name = "size", value = "分页大小)")
                                           @RequestParam(value = "size",required = false)Integer size)throws Exception {
        try {
            return success(menuService.selectArticleDoctorById(user,id,1,page,size));
        }catch (Exception e){
    public Envelop selectArticleDoctorById(
            @ApiParam(name = "user", value = "用户id") @RequestParam(value = "user", required = false) String user,
            @ApiParam(name = "id", value = "文章id") @RequestParam(value = "id", required = false) String id,
            @ApiParam(name = "page", value = "当前页") @RequestParam(value = "page", required = false) Integer page,
            @ApiParam(name = "size", value = "分页大小)") @RequestParam(value = "size", required = false) Integer size
    ) throws Exception {
        try {
            return success(menuService.selectArticleDoctorById(user, id, 1, page, size));
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
    @GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.selectArticleDoctorByArticleIdAndUser)
    @GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.selectArticleDoctorByArticleIdAndUser)
    @ApiOperation(value = "判断该文章当前医生是否点赞或者收藏")
    @ApiOperation(value = "判断该文章当前医生是否点赞或者收藏")
    public Envelop selectArticleDoctorByArticleIdAndUser(@ApiParam(name = "id", value = "文章id/医生id")
                                                         @RequestParam(value = "id",required = false)String id,
                                                         @ApiParam(name = "user", value = "用户编码")
                                                         @RequestParam(value = "user",required = false)String user)throws Exception {
    public Envelop selectArticleDoctorByArticleIdAndUser(
            @ApiParam(name = "id", value = "文章id/医生id") @RequestParam(value = "id", required = false) String id,
            @ApiParam(name = "user", value = "用户编码") @RequestParam(value = "user", required = false) String user) throws Exception {
        try {
        try {
            return success(menuService.selectArticleDoctorByArticleIdAndUser(id,user));
        }catch (Exception e){
            return success(menuService.selectArticleDoctorByArticleIdAndUser(id, user));
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }

+ 13 - 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")
    @GetMapping(value = "searchKnowledgeDictPageList")
    @ApiOperation(value = "获取文章列表")
    @ApiOperation(value = "获取文章列表")
    public Envelop searchKnowledgeDictPageList(
    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 {
        try {
            if(org.apache.commons.lang.StringUtils.isBlank(filters)){
            if(org.apache.commons.lang.StringUtils.isBlank(filters)){
@ -1931,16 +1927,12 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
    @GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchKnowledgePageList)
    @GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchKnowledgePageList)
    @ApiOperation(value = "获取文章列表")
    @ApiOperation(value = "获取文章列表")
    public Envelop searchKnowledgePageList(
    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 {
        try {
            if(org.apache.commons.lang.StringUtils.isBlank(filters)){
            if(org.apache.commons.lang.StringUtils.isBlank(filters)){
@ -2033,6 +2025,7 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
            return failedListEnvelopException2(e);
            return failedListEnvelopException2(e);
        }
        }
    }
    }
    // /open/noLogin/getArticleGroup
    @GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.getArticleGroup)
    @GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.getArticleGroup)
    @ApiOperation(value = "查询分类")
    @ApiOperation(value = "查询分类")
    public MixEnvelop getGroup(){
    public MixEnvelop getGroup(){

+ 83 - 85
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/specialist/BaseDiseaseHospitalController.java

@ -2,11 +2,8 @@ package com.yihu.jw.hospital.endpoint.specialist;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.entity.care.device.DevicePatientHealthIndex;
import com.yihu.jw.entity.specialist.BaseDiseaseHospitalDO;
import com.yihu.jw.entity.specialist.BaseDiseaseHospitalDO;
import com.yihu.jw.entity.specialist.rehabilitation.PatientMedicalRecordsDO;
import com.yihu.jw.hospital.disease.service.BaseDiseaseHospitalService;
import com.yihu.jw.hospital.disease.service.BaseDiseaseHospitalService;
import com.yihu.jw.restmodel.specialist.SurveyScreenResultVo;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.Envelop;
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;
@ -14,14 +11,9 @@ import com.yihu.jw.wlyy.service.WlyyBusinessService;
import io.swagger.annotations.Api;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONArray;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
@RestController
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.BaseDiseaseHospital.PREFIX)
@RequestMapping(value = BaseHospitalRequestMapping.BaseDiseaseHospital.PREFIX)
@ -153,6 +145,7 @@ public class BaseDiseaseHospitalController extends EnvelopRestEndpoint {
    public Envelop getDoctorInfo_IJK(
    public Envelop getDoctorInfo_IJK(
            @ApiParam(name = "idCard", value = "身份证", required = false) @RequestParam(value = "idCard", required = false) String idCard) {
            @ApiParam(name = "idCard", value = "身份证", required = false) @RequestParam(value = "idCard", required = false) String idCard) {
        try {
        try {
            System.out.println("参数==>idCard=>" + idCard);
            return success(wlyyBusinessService.getDoctorInfo_IJK(idCard));
            return success(wlyyBusinessService.getDoctorInfo_IJK(idCard));
        } catch (Exception e) {
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
@ -176,23 +169,23 @@ public class BaseDiseaseHospitalController extends EnvelopRestEndpoint {
    }
    }
    @RequestMapping(value = "/getScreeList_IJK",method = RequestMethod.GET)
    @RequestMapping(value = "/getScreeList_IJK", method = RequestMethod.GET)
    @ApiOperation(value = "专科医生获取筛查记录列表")
    @ApiOperation(value = "专科医生获取筛查记录列表")
    public Envelop getScreeList_IJK(
    public Envelop getScreeList_IJK(
            @ApiParam(name = "doctor", value = "专科医生ID")@RequestParam(value = "doctor",required = false)String doctor,
            @ApiParam(value = "处理方式(1已预约 2已跟踪 3已接诊 4待处理),多个用逗号隔开")@RequestParam(value = "type",required = false) Integer type,
            @ApiParam(name = "doctor", value = "专科医生ID") @RequestParam(value = "doctor", required = false) String doctor,
            @ApiParam(value = "处理方式(1已预约 2已跟踪 3已接诊 4待处理),多个用逗号隔开") @RequestParam(value = "type", required = false) String type,
            @ApiParam(value = "搜索居民的姓名或身份证") @RequestParam(value = "patientName", required = false) String patientName,
            @ApiParam(value = "搜索居民的姓名或身份证") @RequestParam(value = "patientName", required = false) String patientName,
            @ApiParam(value = "是否高危预警(0否 1是)") @RequestParam(value = "isDanger", required = false) String isDanger,
            @ApiParam(value = "是否高危预警(0否 1是)") @RequestParam(value = "isDanger", required = false) String isDanger,
            @ApiParam(value = "疾病类型,多个用逗号隔开") @RequestParam(value = "diseaseType", required = false) String diseaseType,
            @ApiParam(value = "疾病类型,多个用逗号隔开") @RequestParam(value = "diseaseType", required = false) String diseaseType,
            @ApiParam(value = "传1则根据类型查一条数据")@RequestParam(value = "filterType",required = false,defaultValue = "0")Integer filterType,
            @ApiParam(value = "居民code")@RequestParam(value = "patientCode",required = false)String patientCode,
            @ApiParam(value = "当前页")@RequestParam(value = "pageNo") int pageNo,
            @ApiParam(value = "显示记录数")@RequestParam(value = "pageSize") int pageSize
    ){
            @ApiParam(value = "传1则根据类型查一条数据") @RequestParam(value = "filterType", required = false, defaultValue = "0") Integer filterType,
            @ApiParam(value = "居民code") @RequestParam(value = "patientCode", required = false) String patientCode,
            @ApiParam(value = "当前页") @RequestParam(value = "pageNo") int pageNo,
            @ApiParam(value = "显示记录数") @RequestParam(value = "pageSize") int pageSize
    ) {
        try {
        try {
            JSONObject result = wlyyBusinessService.getScreeList_IJK(doctor,type,pageNo,pageSize,patientName, isDanger, diseaseType,filterType,patientCode);
            JSONObject result = wlyyBusinessService.getScreeList_IJK(doctor, type, pageNo, pageSize, patientName, isDanger, diseaseType, filterType, patientCode);
            return success(result);
            return success(result);
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
@ -210,40 +203,39 @@ public class BaseDiseaseHospitalController extends EnvelopRestEndpoint {
    }
    }
    @RequestMapping(value = "queryByConsultCode_IJK",method = RequestMethod.GET)
    @RequestMapping(value = "queryByConsultCode_IJK", method = RequestMethod.GET)
    @ApiOperation("根据咨询code查询关联业务项详情")
    @ApiOperation("根据咨询code查询关联业务项详情")
    public Envelop queryByConsultCode_IJK(
    public Envelop queryByConsultCode_IJK(
            @ApiParam(name = "code", value = "咨询code") @RequestParam(value = "code", required = true) String code,
            @ApiParam(name = "code", value = "咨询code") @RequestParam(value = "code", required = true) String code,
            @ApiParam(name = "type", value = "咨询类型") @RequestParam(value = "type", required = true) Integer type){
        try{
            JSONObject result = wlyyBusinessService.queryByConsultCode_IJK(code,type);
            @ApiParam(name = "type", value = "咨询类型") @RequestParam(value = "type", required = true) Integer type) {
        try {
            JSONObject result = wlyyBusinessService.queryByConsultCode_IJK(code, type);
            return success(result);
            return success(result);
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
    @RequestMapping(value = "getScreenResultDetail_IJK",method = RequestMethod.GET)
    @RequestMapping(value = "getScreenResultDetail_IJK", method = RequestMethod.GET)
    @ApiOperation(value = "查看筛查结果记录详情")
    @ApiOperation(value = "查看筛查结果记录详情")
    public Envelop getScreenResultDetail_IJK(@ApiParam(value = "筛查结果唯一code")@RequestParam(value = "code") String code) {
        try{
    public Envelop getScreenResultDetail_IJK(@ApiParam(value = "筛查结果唯一code") @RequestParam(value = "code") String code) {
        try {
            JSONObject result = wlyyBusinessService.getScreenResultDetail_IJK(code);
            JSONObject result = wlyyBusinessService.getScreenResultDetail_IJK(code);
            return success(result);
            return success(result);
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
    @RequestMapping(value = "/findPatientSignFamily_IJK", method = RequestMethod.GET)
    @RequestMapping(value = "/findPatientSignFamily_IJK", method = RequestMethod.GET)
    @ApiOperation(value = "获取居民所有专科医生签约信息")
    @ApiOperation(value = "获取居民所有专科医生签约信息")
    public Envelop findPatientSignFamily_IJK(@ApiParam(name = "patient", value = "居民code") @RequestParam(required = true)String patient)  {
        try{
    public Envelop findPatientSignFamily_IJK(@ApiParam(name = "patient", value = "居民code") @RequestParam(required = true) String patient) {
        try {
            JSONObject result = wlyyBusinessService.findPatientSignFamily_IJK(patient);
            JSONObject result = wlyyBusinessService.findPatientSignFamily_IJK(patient);
            return success(result);
            return success(result);
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
@ -251,23 +243,23 @@ public class BaseDiseaseHospitalController extends EnvelopRestEndpoint {
    @RequestMapping(value = "getSpecialDisease_IJK", method = RequestMethod.GET)
    @RequestMapping(value = "getSpecialDisease_IJK", method = RequestMethod.GET)
    @ApiOperation(value = "获取专科疾病类型")
    @ApiOperation(value = "获取专科疾病类型")
    public Envelop getSpecialDisease_IJK() {
    public Envelop getSpecialDisease_IJK() {
        try{
        try {
            JSONObject result = wlyyBusinessService.getSpecialDisease_IJK();
            JSONObject result = wlyyBusinessService.getSpecialDisease_IJK();
            return success(result);
            return success(result);
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
    @RequestMapping(value = "last_IJK",method = RequestMethod.GET)
    @RequestMapping(value = "last_IJK", method = RequestMethod.GET)
    @ApiOperation("患者最新健康指标信息")
    @ApiOperation("患者最新健康指标信息")
    public Envelop last_IJK(
    public Envelop last_IJK(
            @ApiParam(name="patient",value="患者代码",defaultValue = "") @RequestParam(value="patient",required = true) String patient) {
        try{
            @ApiParam(name = "patient", value = "患者代码", defaultValue = "") @RequestParam(value = "patient", required = true) String patient) {
        try {
            JSONObject result = wlyyBusinessService.last_IJK(patient);
            JSONObject result = wlyyBusinessService.last_IJK(patient);
            return success(result);
            return success(result);
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
@ -278,11 +270,11 @@ public class BaseDiseaseHospitalController extends EnvelopRestEndpoint {
     */
     */
    @RequestMapping(value = "/patient_IJK")
    @RequestMapping(value = "/patient_IJK")
    @ApiOperation("查询居民信息")
    @ApiOperation("查询居民信息")
    public Envelop patient_IJK(@ApiParam(name="patient",value="患者代码",defaultValue = "") @RequestParam(value="patient",required = true) String patient) {
        try{
    public Envelop patient_IJK(@ApiParam(name = "patient", value = "患者代码", defaultValue = "") @RequestParam(value = "patient", required = true) String patient) {
        try {
            JSONObject result = wlyyBusinessService.patient_IJK(patient);
            JSONObject result = wlyyBusinessService.patient_IJK(patient);
            return success(result);
            return success(result);
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
@ -290,10 +282,10 @@ public class BaseDiseaseHospitalController extends EnvelopRestEndpoint {
    @RequestMapping(value = "getPatientSpecialAndFamilyDoctor_IJK", method = RequestMethod.GET)
    @RequestMapping(value = "getPatientSpecialAndFamilyDoctor_IJK", method = RequestMethod.GET)
    @ApiOperation("获取为某患者创建康复计划的医生专科列表、家庭医生")
    @ApiOperation("获取为某患者创建康复计划的医生专科列表、家庭医生")
    public Envelop getPatientSpecialAndFamilyDoctor_IJK(@RequestParam("patientCode") String patientCode) {
    public Envelop getPatientSpecialAndFamilyDoctor_IJK(@RequestParam("patientCode") String patientCode) {
        try{
        try {
            JSONObject result = wlyyBusinessService.getPatientSpecialAndFamilyDoctor_IJK(patientCode);
            JSONObject result = wlyyBusinessService.getPatientSpecialAndFamilyDoctor_IJK(patientCode);
            return success(result);
            return success(result);
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
@ -303,10 +295,10 @@ public class BaseDiseaseHospitalController extends EnvelopRestEndpoint {
    @ApiOperation("康复计划主页动态")
    @ApiOperation("康复计划主页动态")
    public Envelop selectAllCompleteServiceItemsByPatient(
    public Envelop selectAllCompleteServiceItemsByPatient(
            @ApiParam(name = "patient", value = "居民Code", required = true) @RequestParam(value = "patient", required = true) String patient) {
            @ApiParam(name = "patient", value = "居民Code", required = true) @RequestParam(value = "patient", required = true) String patient) {
        try{
        try {
            JSONObject result = wlyyBusinessService.selectAllCompleteServiceItemsByPatient_IJK(patient);
            JSONObject result = wlyyBusinessService.selectAllCompleteServiceItemsByPatient_IJK(patient);
            return success(result);
            return success(result);
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
@ -317,10 +309,10 @@ public class BaseDiseaseHospitalController extends EnvelopRestEndpoint {
            @ApiParam(name = "patient", value = "居民Code", required = true) @RequestParam(value = "patient", required = true) String patient,
            @ApiParam(name = "patient", value = "居民Code", required = true) @RequestParam(value = "patient", required = true) String patient,
            @ApiParam(name = "eventType", value = "1门诊 2住院", required = false) @RequestParam(value = "eventType", required = false) String eventType
            @ApiParam(name = "eventType", value = "1门诊 2住院", required = false) @RequestParam(value = "eventType", required = false) String eventType
    ) {
    ) {
        try{
            JSONObject result = wlyyBusinessService.selectAllPlaneByPatient_IJK(patient,eventType);
        try {
            JSONObject result = wlyyBusinessService.selectAllPlaneByPatient_IJK(patient, eventType);
            return success(result);
            return success(result);
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
@ -331,15 +323,15 @@ public class BaseDiseaseHospitalController extends EnvelopRestEndpoint {
            @ApiParam(name = "executeStartTime", value = "日历开始时间(格式:yyyy-MM-dd HH:mm:ss)", required = false) @RequestParam(value = "executeStartTime", required = false) String executeStartTime,
            @ApiParam(name = "executeStartTime", value = "日历开始时间(格式:yyyy-MM-dd HH:mm:ss)", required = false) @RequestParam(value = "executeStartTime", required = false) String executeStartTime,
            @ApiParam(name = "executeEndTime", value = "日历结束时间(格式:yyyy-MM-dd HH:mm:ss)", required = false) @RequestParam(value = "executeEndTime", required = false) String executeEndTime,
            @ApiParam(name = "executeEndTime", value = "日历结束时间(格式:yyyy-MM-dd HH:mm:ss)", required = false) @RequestParam(value = "executeEndTime", required = false) String executeEndTime,
            @ApiParam(name = "patient", value = "患者code", required = true) @RequestParam(value = "patient", required = true) String patient,
            @ApiParam(name = "patient", value = "患者code", required = true) @RequestParam(value = "patient", required = true) String patient,
            @ApiParam(name = "searchTask", value = "快速查找任务:(1电话/短信关怀,2康复咨询,3健康监测,4上门服务,5康复指导,6康复随访,7康复复诊)", required = false) @RequestParam(value = "searchTask", required = false) Integer searchTask,
            @ApiParam(name = "searchTask", value = "快速查找任务:(1电话/短信关怀,2康复咨询,3健康监测,4上门服务,5康复指导,6康复随访,7康复复诊)", required = false) @RequestParam(value = "searchTask", required = false) String searchTask,
            @ApiParam(name = "doctorCode", value = "医生code(专科医生、家庭医生)", required = false) @RequestParam(value = "doctorCode", required = false) String doctorCode,
            @ApiParam(name = "doctorCode", value = "医生code(专科医生、家庭医生)", required = false) @RequestParam(value = "doctorCode", required = false) String doctorCode,
            @ApiParam(name = "status", value = "任务状态(0未完成,1已完成,2已预约)", required = false) @RequestParam(value = "status", required = false) Integer status,
            @ApiParam(name = "status", value = "任务状态(0未完成,1已完成,2已预约)", required = false) @RequestParam(value = "status", required = false) String status,
            @ApiParam(name = "taskExecutor", value = "任务执行人:0全部;1我的任务:2他人任务", required = false) @RequestParam(value = "taskExecutor", required = false, defaultValue = "0") String taskExecutor
            @ApiParam(name = "taskExecutor", value = "任务执行人:0全部;1我的任务:2他人任务", required = false) @RequestParam(value = "taskExecutor", required = false, defaultValue = "0") String taskExecutor
    ) {
    ) {
        try{
            JSONObject result = wlyyBusinessService.calendarPlanDetailListBypatient_IJK(executeStartTime,executeEndTime,patient,searchTask,doctorCode,status,taskExecutor);
        try {
            JSONObject result = wlyyBusinessService.calendarPlanDetailListBypatient_IJK(executeStartTime, executeEndTime, patient, searchTask, doctorCode, status, taskExecutor);
            return success(result);
            return success(result);
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
@ -350,14 +342,14 @@ public class BaseDiseaseHospitalController extends EnvelopRestEndpoint {
            @ApiParam(name = "executeStartTime", value = "日历开始时间(格式:yyyy-MM-dd HH:mm:ss)", required = false) @RequestParam(value = "executeStartTime", required = false) String executeStartTime,
            @ApiParam(name = "executeStartTime", value = "日历开始时间(格式:yyyy-MM-dd HH:mm:ss)", required = false) @RequestParam(value = "executeStartTime", required = false) String executeStartTime,
            @ApiParam(name = "executeEndTime", value = "日历结束时间(格式:yyyy-MM-dd HH:mm:ss)", required = false) @RequestParam(value = "executeEndTime", required = false) String executeEndTime,
            @ApiParam(name = "executeEndTime", value = "日历结束时间(格式:yyyy-MM-dd HH:mm:ss)", required = false) @RequestParam(value = "executeEndTime", required = false) String executeEndTime,
            @ApiParam(name = "planId", value = "计划id", required = true) @RequestParam(value = "planId", required = true) String planId,
            @ApiParam(name = "planId", value = "计划id", required = true) @RequestParam(value = "planId", required = true) String planId,
            @ApiParam(name = "searchTask", value = "快速查找任务:(1、我的任务,2、健康教育,3、健康指导,4、随访,5、复诊)", required = false) @RequestParam(value = "searchTask", required = false) Integer searchTask,
            @ApiParam(name = "searchTask", value = "快速查找任务:(1、我的任务,2、健康教育,3、健康指导,4、随访,5、复诊)", required = false) @RequestParam(value = "searchTask", required = false) String searchTask,
            @ApiParam(name = "doctorCode", value = "医生code(专科医生、家庭医生)", required = false) @RequestParam(value = "doctorCode", required = false) String doctorCode,
            @ApiParam(name = "doctorCode", value = "医生code(专科医生、家庭医生)", required = false) @RequestParam(value = "doctorCode", required = false) String doctorCode,
            @ApiParam(name = "status", value = "任务状态(0未完成,1已完成,2已预约)", required = false) @RequestParam(value = "status", required = false) Integer status
            @ApiParam(name = "status", value = "任务状态(0未完成,1已完成,2已预约)", required = false) @RequestParam(value = "status", required = false) String status
    ) {
    ) {
        try{
            JSONObject result = wlyyBusinessService.calendarPlanDetailItems_IJK(executeStartTime,executeEndTime,planId,searchTask,doctorCode,status);
        try {
            JSONObject result = wlyyBusinessService.calendarPlanDetailItems_IJK(executeStartTime, executeEndTime, planId, searchTask, doctorCode, status);
            return success(result);
            return success(result);
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
@ -368,10 +360,10 @@ public class BaseDiseaseHospitalController extends EnvelopRestEndpoint {
    public Envelop planSchedule_IJK(
    public Envelop planSchedule_IJK(
            @ApiParam(name = "planId", value = "计划id", required = true) @RequestParam(value = "planId", required = true) String planId,
            @ApiParam(name = "planId", value = "计划id", required = true) @RequestParam(value = "planId", required = true) String planId,
            @ApiParam(name = "patientCode", value = "居民code", required = true) @RequestParam(value = "patientCode", required = true) String patientCode) {
            @ApiParam(name = "patientCode", value = "居民code", required = true) @RequestParam(value = "patientCode", required = true) String patientCode) {
        try{
            JSONObject result = wlyyBusinessService.planSchedule_IJK(planId,patientCode);
        try {
            JSONObject result = wlyyBusinessService.planSchedule_IJK(planId, patientCode);
            return success(result);
            return success(result);
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
@ -381,10 +373,10 @@ public class BaseDiseaseHospitalController extends EnvelopRestEndpoint {
    @ApiOperation("获取医院病历")
    @ApiOperation("获取医院病历")
    public Envelop selectByMedicalCode_IJK(
    public Envelop selectByMedicalCode_IJK(
            @ApiParam(name = "medical", value = "住院code", required = true) @RequestParam(value = "medical", required = true) String medical) {
            @ApiParam(name = "medical", value = "住院code", required = true) @RequestParam(value = "medical", required = true) String medical) {
        try{
        try {
            JSONObject result = wlyyBusinessService.selectByMedicalCode_IJK(medical);
            JSONObject result = wlyyBusinessService.selectByMedicalCode_IJK(medical);
            return success(result);
            return success(result);
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
@ -393,43 +385,42 @@ public class BaseDiseaseHospitalController extends EnvelopRestEndpoint {
    @RequestMapping(value = "selectPlanServerDoctor_IJK", method = RequestMethod.POST)
    @RequestMapping(value = "selectPlanServerDoctor_IJK", method = RequestMethod.POST)
    @ApiOperation("康复管理-康复计划的服务医生")
    @ApiOperation("康复管理-康复计划的服务医生")
    public Envelop selectPlanServerDoctor_IJK(@ApiParam(name = "planId", value = "康复计划ID") @RequestParam(value = "planId", required = true) String planId) {
    public Envelop selectPlanServerDoctor_IJK(@ApiParam(name = "planId", value = "康复计划ID") @RequestParam(value = "planId", required = true) String planId) {
        try{
        try {
            JSONObject result = wlyyBusinessService.selectPlanServerDoctor_IJK(planId);
            JSONObject result = wlyyBusinessService.selectPlanServerDoctor_IJK(planId);
            return success(result);
            return success(result);
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
    @RequestMapping(value = "getRehabilitationPlanLog_IJK",method = RequestMethod.GET)
    @RequestMapping(value = "getRehabilitationPlanLog_IJK", method = RequestMethod.GET)
    @ApiOperation(value = "获取康复计划修改记录")
    @ApiOperation(value = "获取康复计划修改记录")
    public Envelop getRehabilitationPlanLog_IJK(
    public Envelop getRehabilitationPlanLog_IJK(
            @ApiParam(name = "planId",value = "康复计划Id",required = true) @RequestParam(value = "planId",required = true) String planId){
        try{
            @ApiParam(name = "planId", value = "康复计划Id", required = true) @RequestParam(value = "planId", required = true) String planId) {
        try {
            JSONObject result = wlyyBusinessService.getRehabilitationPlanLog_IJK(planId);
            JSONObject result = wlyyBusinessService.getRehabilitationPlanLog_IJK(planId);
            return success(result);
            return success(result);
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
    @RequestMapping(value = "calendarPlanDetailList_IJK", method = RequestMethod.GET)
    @RequestMapping(value = "calendarPlanDetailList_IJK", method = RequestMethod.GET)
    @ApiOperation("康复管理-康复计划按列表展示-限定频次")
    @ApiOperation("康复管理-康复计划按列表展示-限定频次")
    public Envelop calendarPlanDetailList_IJK(
    public Envelop calendarPlanDetailList_IJK(
            @ApiParam(name = "executeStartTime", value = "日历开始时间(格式:yyyy-MM-dd HH:mm:ss)", required = true) @RequestParam(value = "executeStartTime", required = false) String executeStartTime,
            @ApiParam(name = "executeStartTime", value = "日历开始时间(格式:yyyy-MM-dd HH:mm:ss)", required = true) @RequestParam(value = "executeStartTime", required = false) String executeStartTime,
            @ApiParam(name = "executeEndTime", value = "日历结束时间(格式:yyyy-MM-dd HH:mm:ss)", required = true) @RequestParam(value = "executeEndTime", required = false) String executeEndTime,
            @ApiParam(name = "executeEndTime", value = "日历结束时间(格式:yyyy-MM-dd HH:mm:ss)", required = true) @RequestParam(value = "executeEndTime", required = false) String executeEndTime,
            @ApiParam(name = "planId", value = "计划id", required = true) @RequestParam(value = "planId", required = true) String planId,
            @ApiParam(name = "planId", value = "计划id", required = true) @RequestParam(value = "planId", required = true) String planId,
            @ApiParam(name = "searchTask", value = "快速查找任务:(1电话/短信关怀,2康复咨询,3健康监测,4上门服务,5康复指导,6康复随访,7康复复诊)", required = false) @RequestParam(value = "searchTask", required = false) Integer searchTask,
            @ApiParam(name = "searchTask", value = "快速查找任务:(1电话/短信关怀,2康复咨询,3健康监测,4上门服务,5康复指导,6康复随访,7康复复诊)", required = false) @RequestParam(value = "searchTask", required = false) String searchTask,
            @ApiParam(name = "doctorCode", value = "医生code(专科医生、家庭医生)", required = false) @RequestParam(value = "doctorCode", required = false) String doctorCode,
            @ApiParam(name = "doctorCode", value = "医生code(专科医生、家庭医生)", required = false) @RequestParam(value = "doctorCode", required = false) String doctorCode,
            @ApiParam(name = "status", value = "任务状态(0未完成,1已完成,2已预约)", required = false)@RequestParam(value = "status", required = false) Integer status,
            @ApiParam(name = "status", value = "任务状态(0未完成,1已完成,2已预约)", required = false) @RequestParam(value = "status", required = false) String status,
            @ApiParam(name = "taskExecutor", value = "任务执行人:0全部;1我的任务:2他人任务", required = false) @RequestParam(value = "taskExecutor", required = false, defaultValue = "0") String taskExecutor) {
            @ApiParam(name = "taskExecutor", value = "任务执行人:0全部;1我的任务:2他人任务", required = false) @RequestParam(value = "taskExecutor", required = false, defaultValue = "0") String taskExecutor) {
        try{
            JSONObject result = wlyyBusinessService.calendarPlanDetailList_IJK(executeStartTime,executeEndTime,planId,searchTask,doctorCode,status,taskExecutor );
        try {
            JSONObject result = wlyyBusinessService.calendarPlanDetailList_IJK(executeStartTime, executeEndTime, planId, searchTask, doctorCode, status, taskExecutor);
            return success(result);
            return success(result);
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
@ -438,11 +429,11 @@ public class BaseDiseaseHospitalController extends EnvelopRestEndpoint {
    @RequestMapping(value = "getPatientDrugList_IJK", method = RequestMethod.GET)
    @RequestMapping(value = "getPatientDrugList_IJK", method = RequestMethod.GET)
    @ApiOperation("获取居民出院带药列表")
    @ApiOperation("获取居民出院带药列表")
    public Envelop getPatientDrugList_IJK(@ApiParam(name = "patient", value = "居民Code", required = true)
    public Envelop getPatientDrugList_IJK(@ApiParam(name = "patient", value = "居民Code", required = true)
                                     @RequestParam(value = "patient", required = true) String patient) {
        try{
                                          @RequestParam(value = "patient", required = true) String patient) {
        try {
            JSONObject result = wlyyBusinessService.getPatientDrugList_IJK(patient);
            JSONObject result = wlyyBusinessService.getPatientDrugList_IJK(patient);
            return success(result);
            return success(result);
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
@ -476,10 +467,10 @@ public class BaseDiseaseHospitalController extends EnvelopRestEndpoint {
            @ApiParam(name = "turnDownState", value = "下转状态 0全部;1已下转;2已接受;3未下转", required = false) @RequestParam(value = "turnDownState", required = false, defaultValue = "0") String turnDownState,
            @ApiParam(name = "turnDownState", value = "下转状态 0全部;1已下转;2已接受;3未下转", required = false) @RequestParam(value = "turnDownState", required = false, defaultValue = "0") String turnDownState,
            @ApiParam(name = "eventType", value = "1为门诊  2或者空为住院", required = false) @RequestParam(value = "eventType", required = false) String eventType
            @ApiParam(name = "eventType", value = "1为门诊  2或者空为住院", required = false) @RequestParam(value = "eventType", required = false) String eventType
    ) {
    ) {
        try{
            JSONObject result = wlyyBusinessService.selectBySpecialistDoctor_IJK(doctorCode,doctorType,patientInfo,diseaseCode,level,area,page,pageSize,filterPlan,turnDownState,eventType);
        try {
            JSONObject result = wlyyBusinessService.selectBySpecialistDoctor_IJK(doctorCode, doctorType, patientInfo, diseaseCode, level, area, page, pageSize, filterPlan, turnDownState, eventType);
            return success(result);
            return success(result);
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
@ -490,17 +481,24 @@ public class BaseDiseaseHospitalController extends EnvelopRestEndpoint {
    public Envelop getPatientCount_IJK(
    public Envelop getPatientCount_IJK(
            @ApiParam(name = "doctor", value = "医生code", required = false) @RequestParam(value = "doctor", required = false) String doctor
            @ApiParam(name = "doctor", value = "医生code", required = false) @RequestParam(value = "doctor", required = false) String doctor
    ) {
    ) {
        try{
        try {
            JSONObject result = wlyyBusinessService.getPatientCount_IJK(doctor);
            JSONObject result = wlyyBusinessService.getPatientCount_IJK(doctor);
            return success(result);
            return success(result);
        }catch (Exception e){
        } catch (Exception e) {
            return failedException(e);
            return failedException(e);
        }
        }
    }
    }
    @RequestMapping(value = "/getSpecilalistDiseaseType_IJK", method = RequestMethod.GET)
    @ApiOperation(value = "获取专科医生的疾病类型")
    public Envelop getSpecilalistDiseaseType_IJK(@ApiParam(name = "doctor", value = "专科医生ID") @RequestParam(value = "doctor") String doctor) {
        try {
            JSONObject result = wlyyBusinessService.getSpecilalistDiseaseType_IJK(doctor);
            return success(result);
        } catch (Exception e) {
            return failedException(e);
        }
    }
}
}

+ 23 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/statistics/EsStatisticsEndpoint.java

@ -1026,6 +1026,29 @@ class EsStatisticsEndpoint extends EnvelopRestEndpoint {
        return success(result);
        return success(result);
    }
    }
    @GetMapping(value = "getArticleTotalApp")
    @ApiOperation(value = " app文章头部统计")
    public ObjEnvelop getArticleTotalApp(
            @ApiParam(name = "startDate", value = "开始时间", required = false)
            @RequestParam(value = "startDate", required = false) String startDate,
            @ApiParam(name = "endDate", value = "结束时间", required = false)
            @RequestParam(value = "endDate", required = false) String endDate,
            @ApiParam(name = "area", value = "区域编码 如 level2 area传市编码", required = true)
            @RequestParam(value = "area", required = true) String area,
            @ApiParam(name = "level", value = "2 市  3区  4医院 5、科室 6医生", required = true)
            @RequestParam(value = "level", required = true) int level,
            @ApiParam(name = "flag", value = "0自定义 1本月2近半年3本年", required = true)
            @RequestParam(value = "flag", required = true) Integer flag,
            @ApiParam(name = "slaveKey1", value = "slaveKey1", required = true)
            @RequestParam(value = "slaveKey1", required = false) String slaveKey1) {
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getArticleTotalApp(flag, startDate, endDate, area, level,slaveKey1);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.articleTotal)
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.articleTotal)
    @ApiOperation(value = " 文章头部统计")
    @ApiOperation(value = " 文章头部统计")

+ 102 - 4
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/team/DoctorTeamEndpoint.java

@ -1,14 +1,29 @@
package com.yihu.jw.hospital.endpoint.team;
package com.yihu.jw.hospital.endpoint.team;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.restmodel.iot.common.UploadVO;
import com.yihu.jw.restmodel.web.ListEnvelop;
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.util.common.IdCardUtil;
import com.yihu.jw.wlyy.service.WlyyBusinessService;
import com.yihu.jw.wlyy.service.WlyyBusinessService;
import com.yihu.jw.wlyy.wlyyhttp.WlyyHttpService;
import io.swagger.annotations.Api;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
/**
 * Created by yeshijie on 2023/4/24.
 * Created by yeshijie on 2023/4/24.
@ -20,8 +35,91 @@ public class DoctorTeamEndpoint extends EnvelopRestEndpoint {
    @Autowired
    @Autowired
    private WlyyBusinessService wlyyBusinessService;
    private WlyyBusinessService wlyyBusinessService;
    @Autowired
    private WlyyHttpService wlyyHttpService;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    private static final String TONGAN_TOWN = "350212";
    private static final String TONGAN_TOWN = "350212";
    @GetMapping(value = "signTeamPage")
    @ApiOperation(value = "三师共管患者")
    public ListEnvelop signTeamPage(@RequestParam(required = true) String doctor,
                                    @RequestParam(required = false) String name) {
        try {
            String sql = "SELECT DISTINCT p.id,p.`name`,p.idcard,p.mobile,p.photo,m.team_code teamCode,t.name teamName " +
                    "from base_team_member m,base_team_relation r,wlyy_sign s,base_patient p,base_team t " +
                    "WHERE m.doctor_code='"+doctor+"' and m.del='1' and m.team_code=r.team_id and r.admin_team_id=s.admin_team_id " +
                    "and p.idcard = s.idcard and m.team_code=t.id and t.del='1'" ;
            if(StringUtils.isNotBlank(name)){
                sql += " and p.name like '"+name+"' ";
            }
            List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
            for (Map<String, Object> map : list) {
                if (map.get("idcard") != null) {
                    String idcard = map.get("idcard").toString();
                    Integer age = IdCardUtil.getAgeForIdcard(idcard);
                    String sex = IdCardUtil.getSexForIdcard(idcard);
                    map.put("patientAge", age);
                    map.put("patientSex", sex);
                }
            }
            Map<String, List<Map<String, Object>>> map1 = list.stream().collect(Collectors.groupingBy(e -> e.get("teamCode").toString()));
            Map<String, String> map2 = list.stream().collect(Collectors.toMap(e -> e.get("teamCode").toString(), e -> e.get("teamName").toString(),(p1, p2) -> p1));
            List<Map<String,Object>> result = new ArrayList<>();
            for (Map.Entry<String, String> entry : map2.entrySet()) {
                String key = entry.getKey();
                String value = entry.getValue();
                Map<String,Object> map = new HashMap<>();
                map.put("teamCode",key);
                map.put("teamName",value);
                List<Map<String,Object>> tmp = map1.get(key);
                map.put("size",tmp.size());
                map.put("list",tmp);
                result.add(map);
            }
            return ListEnvelop.getSuccess("查询成功",result);
        } catch (Exception e) {
            e.printStackTrace();
            return ListEnvelop.getError("查询失败");
        }
    }
    @GetMapping(value = "commonGet")
    @ApiOperation(value = "通用请求接口")
    public String commonGet(HttpServletRequest request,String api) {
        try {
            JSONObject jsonObject = wlyyBusinessService.commonGet(request,api);
            if(jsonObject==null){
                return error(-1,"查询失败");
            }
            return jsonObject.toJSONString();
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1,"查询失败");
        }
    }
    @PostMapping(value = "uploadImg")
    @ApiOperation(value = "文件流上传图片", notes = "文件流上传图片")
    public ObjEnvelop<UploadVO> uploadImg(@ApiParam(value = "文件", required = true)
                                          @RequestParam(value = "file", required = true) MultipartFile file) throws Exception{
        try {
            UploadVO uploadVO = new UploadVO();
            String originalFilename = file.getOriginalFilename();
            String[] fs = originalFilename.split("\\.");
            String type = fs[1];
            //内网上传
            String rs = wlyyHttpService.request(file,type,"uploadImg");
            System.out.println("rs="+rs);
            JSONObject json = JSON.parseObject(rs);
            uploadVO = objectMapper.readValue(json.getJSONObject("result").toJSONString(),UploadVO.class);
            return success("上传成功", uploadVO);
        }catch (Exception e){
            e.printStackTrace();
            return ObjEnvelop.getError("上传失败");
        }
    }
    @GetMapping(value = "doctorInfo")
    @GetMapping(value = "doctorInfo")
    @ApiOperation(value = "获取社区医生信息")
    @ApiOperation(value = "获取社区医生信息")
    public String doctorInfo(@RequestParam(required = true) String code) {
    public String doctorInfo(@RequestParam(required = true) String code) {

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

@ -78,7 +78,6 @@ public class BasePatientBusinessService extends BaseJpaService<BasePatientBusine
					knowledgeArticleUserDO.setCreateUserName(doctorDO.getName());
					knowledgeArticleUserDO.setCreateUserName(doctorDO.getName());
				}
				}
			}
			}
			knowledgeArticleUserDO.setCreateTime(new Date());
			knowledgeArticleUserDO.setCreateTime(new Date());
			knowledgeArticleUserDO.setUpdateTime(new Date());
			knowledgeArticleUserDO.setUpdateTime(new Date());
			knowledgeArticleUserDO.setCreateUser(user);
			knowledgeArticleUserDO.setCreateUser(user);
@ -167,6 +166,8 @@ public class BasePatientBusinessService extends BaseJpaService<BasePatientBusine
		}
		}
		return knowledgeArticleDO;
		return knowledgeArticleDO;
	}
	}
	public void setUsed(String id,Integer used,String doctor){
	public void setUsed(String id,Integer used,String doctor){
		WlyySurveyTemplateDO wlyySurveyTemplateDO = surveyTemplateDao.findById(id).orElse(null);
		WlyySurveyTemplateDO wlyySurveyTemplateDO = surveyTemplateDao.findById(id).orElse(null);
		BaseDoctorDO doctorDO = doctorDao.findById(doctor).orElse(null);
		BaseDoctorDO doctorDO = doctorDao.findById(doctor).orElse(null);

+ 7 - 6
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.jdbc.core.BeanPropertyRowMapper;
import org.springframework.stereotype.Service;
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());
                        object.put("img", knowledgeArticleDO.getImage());
                    }
                    }
                    imUtil.sendImMsg(patientBusinessDO.getDoctor(), patientBusinessDO.getDoctorName(), patientBusinessDO.getSessionId(), "4", object.toJSONString(), "1", null);
                    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 {
                } else {
                    WlyySurveyUserDO wlyySurveyUserDO = new WlyySurveyUserDO();
                    WlyySurveyUserDO wlyySurveyUserDO = new WlyySurveyUserDO();
                    String doctor = patientBusinessDO.getDoctor();
                    String doctor = patientBusinessDO.getDoctor();
@ -425,7 +427,7 @@ public class KnowledgeArticleService extends BaseJpaService<KnowledgeArticleDO,
    }
    }
    //查询患者收藏的文章列表
    //查询患者收藏的文章列表
    public JSONObject findPatientFavorite(String patient, Integer page, Integer pageSize) {
    public JSONObject findPatientFavorite(String patient, String relationType,Integer page, Integer pageSize) {
        String sql = "select t.id as \"id\",t.user_code as \"user\",t.user_name as \"userName\"," +
        String sql = "select t.id as \"id\",t.user_code as \"user\",t.user_name as \"userName\"," +
                "t.relation_code as \"relationCode\"," +
                "t.relation_code as \"relationCode\"," +
                "t.relation_type as \"relationType\"," +
                "t.relation_type as \"relationType\"," +
@ -463,5 +465,4 @@ public class KnowledgeArticleService extends BaseJpaService<KnowledgeArticleDO,
        return result;
        return result;
    }
    }
}
}

+ 82 - 61
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/service/consult/KnowledgeCategoryService.java

@ -8,7 +8,9 @@ import com.yihu.jw.entity.hospital.article.KnowledgeCategoryDO;
import com.yihu.jw.mysql.query.BaseJpaService;
import com.yihu.jw.mysql.query.BaseJpaService;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.stereotype.Service;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import javax.transaction.Transactional;
@ -19,69 +21,88 @@ import java.util.Map;
/**
/**
 * 健康文章分类
 * 健康文章分类
 *
 * @author huangwenjie
 * @author huangwenjie
 */
 */
@Service
@Service
public class KnowledgeCategoryService extends BaseJpaService<KnowledgeCategoryDO, KnowledgeCategoryDao> {
public class KnowledgeCategoryService extends BaseJpaService<KnowledgeCategoryDO, KnowledgeCategoryDao> {
	@Autowired
	private KnowledgeCategoryDao knowledgeCategoryDao;
	@Autowired
	private KnowledgeArticleDao articleDao;
	
	@Autowired
	private ObjectMapper objectMapper;
	@Autowired
	private HibenateUtils hibenateUtils;
	public KnowledgeCategoryDO saveCategory(String jsonData) throws Exception {
		jsonData = URLDecoder.decode(jsonData,"utf-8");
		KnowledgeCategoryDO knowledgeCategoryDO = objectMapper.readValue(jsonData, KnowledgeCategoryDO.class);
		if (null == knowledgeCategoryDO.getPid()) {
			knowledgeCategoryDO.setPid("0");
		}
		if (null == knowledgeCategoryDO.getId()) {
			// 新增
			knowledgeCategoryDO.setCreateTime(new Date());
			knowledgeCategoryDO.setDel(1);
		} else {
			KnowledgeCategoryDO one = knowledgeCategoryDao.findById(knowledgeCategoryDO.getId()).orElse(null);
			knowledgeCategoryDO.setId(one.getId());
			knowledgeCategoryDO.setDel(one.getDel());
			knowledgeCategoryDO.setUpdateTime(new Date());
		}
		if(knowledgeCategoryDO.getIsCheck()==null){
			knowledgeCategoryDO.setIsCheck(1);
		}
		return knowledgeCategoryDao.save(knowledgeCategoryDO);
	}
	
	@Transactional
	public Boolean updateDel(String code) {
		try {
			List<KnowledgeArticleDO> byCategory = articleDao.findByCategory(code);
			if (null != byCategory && byCategory.size() > 0) {
				return false;
			}
			knowledgeCategoryDao.updateDel(code);
			return true;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return false;
	}
	public MixEnvelop findAllGroup(){
		String sqlPid = "select id as \"id\",name as \"name\",pid as \"pid\" from wlyy_knowledge_category  where pid = '0' and del = 1";
		List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sqlPid);
		String child = "select id as \"id\",name as \"name\",pid as \"pid\" from wlyy_knowledge_category  where del = 1";
		if (list.size()>0){
			for (Map<String,Object> map:list){
				String pid = map.get("id").toString();
				child+=" and pid = '"+pid+"'";
				List<Map<String,Object>> childList = hibenateUtils.createSQLQuery(child);
				map.put("childList",childList);
			}
		}
		MixEnvelop envelop = new MixEnvelop();
		envelop.setDetailModelList(list);
		return envelop;
	}
    @Autowired
    private KnowledgeCategoryDao knowledgeCategoryDao;
    @Autowired
    private KnowledgeArticleDao articleDao;
    @Autowired
    private ObjectMapper objectMapper;
    @Autowired
    private HibenateUtils hibenateUtils;
    public KnowledgeCategoryDO saveCategory(String jsonData) throws Exception {
        jsonData = URLDecoder.decode(jsonData, "utf-8");
        KnowledgeCategoryDO knowledgeCategoryDO = objectMapper.readValue(jsonData, KnowledgeCategoryDO.class);
        if (null == knowledgeCategoryDO.getPid()) {
            knowledgeCategoryDO.setPid("0");
        }
        if (null == knowledgeCategoryDO.getId()) {
            // 新增
            knowledgeCategoryDO.setCreateTime(new Date());
            knowledgeCategoryDO.setDel(1);
        } else {
            KnowledgeCategoryDO one = knowledgeCategoryDao.findById(knowledgeCategoryDO.getId()).orElse(null);
            knowledgeCategoryDO.setId(one.getId());
            knowledgeCategoryDO.setDel(one.getDel());
            knowledgeCategoryDO.setUpdateTime(new Date());
        }
        if (knowledgeCategoryDO.getIsCheck() == null) {
            knowledgeCategoryDO.setIsCheck(1);
        }
        return knowledgeCategoryDao.save(knowledgeCategoryDO);
    }
    @Transactional
    public Boolean updateDel(String code) {
        try {
            List<KnowledgeArticleDO> byCategory = articleDao.findByCategory(code);
            if (null != byCategory && byCategory.size() > 0) {
                return false;
            }
            knowledgeCategoryDao.updateDel(code);
            return true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }
    public MixEnvelop findAllGroup() {
        String sqlPid = "select id as \"id\",name as \"name\",pid as \"pid\" from wlyy_knowledge_category  where pid = '0' and del = 1";
        List<Map<String, Object>> list = hibenateUtils.createSQLQuery(sqlPid);
        String child = "select id as \"id\",name as \"name\",pid as \"pid\" from wlyy_knowledge_category  where del = 1";
        if (list.size() > 0) {
            for (Map<String, Object> map : list) {
                String pid = map.get("id").toString();
                child += " and pid = '" + pid + "'";
                List<Map<String, Object>> childList = hibenateUtils.createSQLQuery(child);
                map.put("childList", childList);
            }
        }
        MixEnvelop envelop = new MixEnvelop();
        envelop.setDetailModelList(list);
        return envelop;
    }
    public MixEnvelop findCategoryByIdOrName(String id, String name) {
        String sql = " select * from wlyy_knowledge_category where 1=1 ";
        if (StringUtils.isNotBlank(id)) {
            sql += " and id='" + id + "'";
        }
        if (StringUtils.isNotBlank(name)) {
            sql += " and name='" + name + "'";
        }
        List<KnowledgeCategoryDO> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(KnowledgeCategoryDO.class));
        MixEnvelop envelop = new MixEnvelop();
        if (!list.isEmpty()) {
            envelop.setObj(list.get(0));
        }
        return envelop;
    }
}
}

+ 48 - 2
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/common/LabelController.java

@ -61,10 +61,41 @@ public class LabelController extends EnvelopRestEndpoint {
        }
        }
    }
    }
    @GetMapping(value = "findLabelPatientGroupCount")
    @ApiOperation(value = "查询居民标签分组数量")
    public ListEnvelop findLabelPatientGroupCount(
            @ApiParam(name = "name", value = "姓名") @RequestParam(value = "name", required = false) String name,
            @ApiParam(name = "labelType", value = "1健康情况 2疾病类型 3专病类型 4自定义标签") @RequestParam(value = "labelType", required = false) String labelType
    ) {
        try {
            return ListEnvelop.getSuccess("查询成功", labelService.findLabelPatientGroupCount(name,labelType));
        } catch (Exception e) {
            e.printStackTrace();
            return ListEnvelop.getError("查询失败");
        }
    }
    @GetMapping(value = "findLabelPatientList")
    @ApiOperation(value = "查询居民标签分组数据")
    public ListEnvelop findLabelPatientList(
            @ApiParam(name = "name", value = "姓名") @RequestParam(value = "name", required = false) String name,
            @ApiParam(name = "labelType", value = "1健康情况 2疾病类型 3专病类型 4自定义标签") @RequestParam(value = "labelType", required = false) String labelType,
            @ApiParam(name = "labelCode", value = "类型") @RequestParam(value = "labelCode", required = false) String labelCode
    ) {
        try {
            return ListEnvelop.getSuccess("查询成功", labelService.findLabelPatientList(name,labelType,labelCode));
        } catch (Exception e) {
            e.printStackTrace();
            return ListEnvelop.getError("查询失败");
        }
    }
    @GetMapping(value = "findPatientLabel")
    @GetMapping(value = "findPatientLabel")
    @ApiOperation(value = "查询居民标签列表")
    @ApiOperation(value = "查询居民标签列表")
    public ListEnvelop findPatientLabel(@ApiParam(name = "patient", value = "居民id")
                                        @RequestParam(value = "patient", required = true) String patient) {
    public ListEnvelop findPatientLabel(
            @ApiParam(name = "patient", value = "居民id") @RequestParam(value = "patient", required = true) String patient
    ) {
        try {
        try {
            return ListEnvelop.getSuccess("查询成功", labelService.findByPatient(patient));
            return ListEnvelop.getSuccess("查询成功", labelService.findByPatient(patient));
        } catch (Exception e) {
        } catch (Exception e) {
@ -105,4 +136,19 @@ public class LabelController extends EnvelopRestEndpoint {
            return failedObjEnvelopException(e);
            return failedObjEnvelopException(e);
        }
        }
    }
    }
    @PostMapping(value = "delLableDict")
    @ApiOperation(value = "删除自定义标签字典", notes = "删除自定义标签字典")
    public Envelop delLableDict(@ApiParam(name = "labelName", value = "标签名称")
                                @RequestParam(value = "labelName", required = true) String labelName) {
        try {
            labelService.delLableDict(labelName);
            return success("删除成功");
        }catch (ServiceException se){
            return Envelop.getError(se.getMessage());
        }catch (Exception e) {
            e.printStackTrace();
            return Envelop.getError("删除失败");
        }
    }
}
}

+ 39 - 0
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/common/StatisticsController.java

@ -32,6 +32,45 @@ public class StatisticsController extends EnvelopRestEndpoint {
    @Autowired
    @Autowired
    private ExportUtl exportUtl;
    private ExportUtl exportUtl;
    @GetMapping(value = "uploadAnalysis")
    @ApiOperation(value = "设备上传次数趋势")
    public ObjEnvelop uploadAnalysis(@RequestParam(required = false) String startDate,
                                     @RequestParam(required = false) String endDate) {
        try {
            JSONObject json = statisticsService.uploadAnalysis(startDate,endDate);
            return ObjEnvelop.getSuccess("查询成功",json);
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError("查询失败");
        }
    }
    @GetMapping(value = "bindAnalysis")
    @ApiOperation(value = "绑定次数占比")
    public ObjEnvelop bindAnalysis(@RequestParam(required = false) String startDate,
                                     @RequestParam(required = false) String endDate) {
        try {
            JSONObject json = statisticsService.bindAnalysis(startDate,endDate);
            return ObjEnvelop.getSuccess("查询成功",json);
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError("查询失败");
        }
    }
    @GetMapping(value = "deviceAnalysisTop")
    @ApiOperation(value = "设备分析头部统计")
    public ObjEnvelop deviceAnalysisTop(@RequestParam(required = false) String startDate,
                                     @RequestParam(required = false) String endDate) {
        try {
            JSONObject json = statisticsService.deviceAnalysisTop(startDate,endDate);
            return ObjEnvelop.getSuccess("查询成功",json);
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError("查询失败");
        }
    }
    /**
    /**
     * 智能设备分析
     * 智能设备分析
     * strJson={"startDate":"2024-01-01","endDate":"2024-05-27","area":"350200","level":2}
     * strJson={"startDate":"2024-01-01","endDate":"2024-05-27","area":"350200","level":2}

+ 86 - 31
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/common/service/LabelService.java

@ -36,21 +36,21 @@ public class LabelService {
    @Autowired
    @Autowired
    private JdbcTemplate jdbcTemplate;
    private JdbcTemplate jdbcTemplate;
    public List<WlyyPatientLabelDO> findByPatient(String patient){
    public List<WlyyPatientLabelDO> findByPatient(String patient) {
        return patientLabelDao.findByPatient(patient);
        return patientLabelDao.findByPatient(patient);
    }
    }
    //查询专病的康复管理未执行完成数量
    //查询专病的康复管理未执行完成数量
    public int existDisease(String patient,String disease){
    public int existDisease(String patient, String disease) {
        String sql = "SELECT COUNT(id) from wlyy_patient_rehabilitation_plan " +
        String sql = "SELECT COUNT(id) from wlyy_patient_rehabilitation_plan " +
                " WHERE patient='"+patient+"' and disease ='"+disease+"' and `status` in (1,3)";
        return jdbcTemplate.queryForObject(sql,Integer.class);
                " WHERE patient='" + patient + "' and disease ='" + disease + "' and `status` in (1,3)";
        return jdbcTemplate.queryForObject(sql, Integer.class);
    }
    }
    //添加专病标签
    //添加专病标签
    public void addDiseaseLable(String patient,String disease,String diseaseName){
    public void addDiseaseLable(String patient, String disease, String diseaseName) {
        try {
        try {
            if(patientLabelDao.findByPatient(patient,disease,"3").size()==0){
            if (patientLabelDao.findByPatient(patient, disease, "3").size() == 0) {
                WlyyPatientLabelDO label = new WlyyPatientLabelDO();
                WlyyPatientLabelDO label = new WlyyPatientLabelDO();
                label.setCzrq(new Date());
                label.setCzrq(new Date());
                label.setIsSystem(0);
                label.setIsSystem(0);
@ -60,52 +60,52 @@ public class LabelService {
                label.setLabelType("3");
                label.setLabelType("3");
                patientLabelDao.save(label);
                patientLabelDao.save(label);
            }
            }
        }catch (Exception e){
        } catch (Exception e) {
            e.printStackTrace();
            e.printStackTrace();
        }
        }
    }
    }
    //查询标签新增日志
    //查询标签新增日志
    public PageEnvelop patientLabelLogPage(String patient, String doctor, String labelType, int page, int size){
    public PageEnvelop patientLabelLogPage(String patient, String doctor, String labelType, int page, int size) {
        String sql = "select * ";
        String sql = "select * ";
        String countSql = "select count(*) ";
        String countSql = "select count(*) ";
        String filter = " from wlyy_patient_label_log where 1=1 ";
        String filter = " from wlyy_patient_label_log where 1=1 ";
        String orderBy = " order by create_time desc limit "+(page-1)*size+","+size;
        if(StringUtils.isNotBlank(patient)){
            filter += " and patient = '"+patient+"' ";
        String orderBy = " order by create_time desc limit " + (page - 1) * size + "," + size;
        if (StringUtils.isNotBlank(patient)) {
            filter += " and patient = '" + patient + "' ";
        }
        }
        if(StringUtils.isNotBlank(doctor)){
            filter += " and doctor = '"+doctor+"' ";
        if (StringUtils.isNotBlank(doctor)) {
            filter += " and doctor = '" + doctor + "' ";
        }
        }
        if(StringUtils.isNotBlank(labelType)){
            filter += " and label_type = '"+labelType+"' ";
        if (StringUtils.isNotBlank(labelType)) {
            filter += " and label_type = '" + labelType + "' ";
        }
        }
        List<WlyyPatientLabelLogDO> logDOS = jdbcTemplate.query(sql+filter+orderBy,new BeanPropertyRowMapper<>(WlyyPatientLabelLogDO.class));
        Long count = jdbcTemplate.queryForObject(countSql+filter,Long.class);
        return PageEnvelop.getSuccessListWithPage("查询成功",logDOS,page,size,count);
        List<WlyyPatientLabelLogDO> logDOS = jdbcTemplate.query(sql + filter + orderBy, new BeanPropertyRowMapper<>(WlyyPatientLabelLogDO.class));
        Long count = jdbcTemplate.queryForObject(countSql + filter, Long.class);
        return PageEnvelop.getSuccessListWithPage("查询成功", logDOS, page, size, count);
    }
    }
    //保存居民标签
    //保存居民标签
    @Transactional
    @Transactional
    public void savePatientLabel(List<WlyyPatientLabelDO> labelDOS, String patient,String doctor) throws Exception{
    public void savePatientLabel(List<WlyyPatientLabelDO> labelDOS, String patient, String doctor) throws Exception {
        List<WlyyPatientLabelDO> patientLabelDOS = patientLabelDao.findByPatient(patient);
        List<WlyyPatientLabelDO> patientLabelDOS = patientLabelDao.findByPatient(patient);
        Map<String,String> map = new HashMap<>();
        for (WlyyPatientLabelDO label:patientLabelDOS){
        Map<String, String> map = new HashMap<>();
        for (WlyyPatientLabelDO label : patientLabelDOS) {
            String labelCode = label.getLabelCode();
            String labelCode = label.getLabelCode();
            String labelType = label.getLabelType();
            String labelType = label.getLabelType();
            map.put(labelType+"_"+labelCode,label.getLabelName());
            map.put(labelType + "_" + labelCode, label.getLabelName());
        }
        }
        patientLabelDao.deleteByPatient(patient);
        patientLabelDao.deleteByPatient(patient);
        List<WlyyPatientLabelLogDO> labelLogDOS = new ArrayList<>();
        List<WlyyPatientLabelLogDO> labelLogDOS = new ArrayList<>();
        Date now = new Date();
        Date now = new Date();
        BaseDoctorDO doctorDO = doctorDao.findByIdAndDel(doctor);
        BaseDoctorDO doctorDO = doctorDao.findByIdAndDel(doctor);
        if(labelDOS!=null&&labelDOS.size()>0){
            for (WlyyPatientLabelDO label:labelDOS){
        if (labelDOS != null && labelDOS.size() > 0) {
            for (WlyyPatientLabelDO label : labelDOS) {
                label.setPatient(patient);
                label.setPatient(patient);
                label.setCzrq(new Date());
                label.setCzrq(new Date());
                label.setIsSystem(0);
                label.setIsSystem(0);
                String key = label.getLabelType()+"_"+label.getLabelCode();
                if(!map.containsKey(key)){
                String key = label.getLabelType() + "_" + label.getLabelCode();
                if (!map.containsKey(key)) {
                    WlyyPatientLabelLogDO logDO = new WlyyPatientLabelLogDO();
                    WlyyPatientLabelLogDO logDO = new WlyyPatientLabelLogDO();
                    logDO.setCreateTime(now);
                    logDO.setCreateTime(now);
                    logDO.setPatient(patient);
                    logDO.setPatient(patient);
@ -119,20 +119,20 @@ public class LabelService {
                }
                }
            }
            }
            patientLabelDao.saveAll(labelDOS);
            patientLabelDao.saveAll(labelDOS);
            if(labelLogDOS.size()>0){
            if (labelLogDOS.size() > 0) {
                logDao.saveAll(labelLogDOS);
                logDao.saveAll(labelLogDOS);
            }
            }
        }
        }
    }
    }
    //添加自定义标签字典
    //添加自定义标签字典
    public WlyyHospitalSysDictDO addLabelDict(String labelName) throws Exception{
        if(StringUtils.isBlank(labelName)){
    public WlyyHospitalSysDictDO addLabelDict(String labelName) throws Exception {
        if (StringUtils.isBlank(labelName)) {
            throw new ServiceException("请填写分组名称");
            throw new ServiceException("请填写分组名称");
        }
        }
        labelName = labelName.trim();
        labelName = labelName.trim();
        List<WlyyHospitalSysDictDO> dictDOList = wlyyHospitalSysDictDao.findByDictNameAndDictCode("patient_lable_custom",labelName);
        if(dictDOList.size()>0){
        List<WlyyHospitalSysDictDO> dictDOList = wlyyHospitalSysDictDao.findByDictNameAndDictCode("patient_lable_custom", labelName);
        if (dictDOList.size() > 0) {
            throw new ServiceException("该分组已存在");
            throw new ServiceException("该分组已存在");
        }
        }
        WlyyHospitalSysDictDO dictDO = new WlyyHospitalSysDictDO();
        WlyyHospitalSysDictDO dictDO = new WlyyHospitalSysDictDO();
@ -142,4 +142,59 @@ public class LabelService {
        dictDO = wlyyHospitalSysDictDao.save(dictDO);
        dictDO = wlyyHospitalSysDictDao.save(dictDO);
        return dictDO;
        return dictDO;
    }
    }
    /**
     * //三院 labelType 1健康情况 2疾病类型 3专病类型 4自定义标签
     */
    public List<Map<String, Object>> findLabelPatientGroupCount(String name, String labelType) {
        String sql = "SELECT\n" +
                "	a.label_code,a.label_name,count(1) 'labelCount'\n" +
                "FROM\n" +
                "	wlyy_patient_label a\n" +
                "	INNER JOIN base_patient b ON a.patient=b.id\n" +
                "WHERE\n" +
                "	1 = 1 \n" +
                "  AND a.label_type='" + labelType + "'";
        if (StringUtils.isNotBlank(name)) {
            sql += " AND b.`name` LIKE '%" + name + "%'\n";
        }
        sql += "GROUP BY a.label_code";
        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
        return list;
    }
    public List findLabelPatientList(String name, String labelType, String labelCode) {
        String sql = "SELECT\n" +
                "	 a.label_code 'labelCode',a.label_name 'labelName',b.* \n" +
                "FROM\n" +
                "	wlyy_patient_label a\n" +
                "	INNER JOIN base_patient b ON a.patient=b.id\n" +
                "WHERE\n" +
                "	1 = 1 \n" +
                "  AND a.label_type='" + labelType + "'";
        if (StringUtils.isNotBlank(name)) {
            sql += " AND b.`name` LIKE '%" + name + "%'\n";
        }
        if (StringUtils.isNotBlank(labelCode)) {
            sql += "  AND a.label_code='" + labelCode + "'";
        }
        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
        return list;
    }
    //删除
    public void delLableDict(String labelName) throws Exception{
        List<WlyyHospitalSysDictDO> dictDOList = wlyyHospitalSysDictDao.findByDictNameAndDictCode("patient_lable_custom",labelName);
        if(dictDOList.size()>0){
            List<WlyyPatientLabelDO> list = patientLabelDao.findByPatientLablelName(labelName);
            if(list.size()>0){
                throw new ServiceException("该标签还存在已标记的患者,请先取消标记后删除");
            }
            wlyyHospitalSysDictDao.deleteAll(dictDOList);
        }
    }
}
}

+ 137 - 0
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/common/service/StatisticsService.java

@ -18,6 +18,143 @@ public class StatisticsService {
    @Autowired
    @Autowired
    private JdbcTemplate jdbcTemplate;
    private JdbcTemplate jdbcTemplate;
    /**
     * 设备上传次数趋势
     */
    public JSONObject uploadAnalysis(String startDate,String endDate) throws Exception{
        JSONObject json = new JSONObject();
        String useSql = "SELECT COUNT(if(type=1,1,null)) xtBindNum,COUNT(if(type=2,1,null)) xyBindNum,DATE_FORMAT(czrq,'%Y-%m-%d') date" +
                " from wlyy_patient_health_index where del=1 ";
        if(StringUtils.isNotBlank(startDate)){
            useSql += " and czrq>='"+startDate+"' ";
        }
        if(StringUtils.isNotBlank(endDate)){
            useSql += " and czrq<='"+endDate+" 23:59:59' ";
        }
        useSql += " GROUP BY date ORDER BY date ";
        List<Map<String,Object>> useList = jdbcTemplate.queryForList(useSql);
        json.put("useList",useList);
        return  json;
    }
    /**
     * 绑定次数占比
     */
    public JSONObject bindAnalysis(String startDate,String endDate) throws Exception{
        JSONObject json = new JSONObject();
        String sql = "SELECT COUNT(if(category_code=1,1,null)) xtBindNum,COUNT(if(category_code=2,1,null)) xyBindNum" +
                " from wlyy_patient_device where 1=1 ";
        if(StringUtils.isNotBlank(startDate)){
            sql += " and czrq>='"+startDate+"' ";
        }
        if(StringUtils.isNotBlank(endDate)){
            sql += " and czrq<='"+endDate+" 23:59:59' ";
        }
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        Map<String,Object> map = list.get(0);
        int xtBindNum = Integer.parseInt(map.get("xtBindNum")+"");
        int xyBindNum = Integer.parseInt(map.get("xyBindNum")+"");
        int total = xtBindNum + xyBindNum;
        json.put("xtBindNum",xtBindNum);//血糖绑定次数
        json.put("xyBindNum",xyBindNum);//血压绑定次数
        json.put("total",total);//总绑定次数
        json.put("xtRate",getRange(xtBindNum,total));//血糖占比
        json.put("xyRate",getRange(xyBindNum,total));//血压占比
        return json;
    }
    /**
     * 设备分析头部统计
     * 1、【设备总数】:展示添加时间为查询时间内的设备总数;
     * 2、【血压计数量】:展示添加时间为查询时间内的设备总数;
     * 3、【血糖仪数量】:展示添加时间为查询时间内的设备总数;
     * 4、【投放科室】:展示添加时间为查询时间内的设备分配给科室的科室数量,需去重;
     * 5、【使用科室】:展示查询时间内有数据上传的科室的数量,需要去重;
     * 6、【绑定次数】:展示查询时间内,所有设备被绑定的次数;
     * 7、【上传次数】:展示查询时间段内所有设备的上传次数,
     * 8、【血糖仪上传】:展示查询时间段内所有血糖仪设备的数据上传次数;
     * 9、【血压计上传】:展示查询时间段内所有血压计设备的数据上传次数;
     */
    public JSONObject deviceAnalysisTop(String startDate,String endDate) throws Exception{
        JSONObject json = new JSONObject();
        String filterDevice = "";
        String filterUpload = "";
        String filterDept = "";
        String filterDeptUse = "";
        if(StringUtils.isNotBlank(startDate)){
            filterDevice += " and d.apply_date>='"+startDate+"' ";
            filterDept += " and apply_date>='"+startDate+"' ";
            filterDeptUse += " and d.apply_date>='"+startDate+"' and i.czrq>='"+startDate+"' ";
            filterUpload += " and czrq>='"+startDate+"' ";
        }
        if(StringUtils.isNotBlank(endDate)){
            filterDevice += " and d.apply_date<='"+endDate+" 23:59:59' ";
            filterDept += " and apply_date<='"+endDate+" 23:59:59' ";
            filterDeptUse += " and d.apply_date<='"+endDate+" 23:59:59' and i.czrq<='"+endDate+" 23:59:59' ";
            filterUpload += " and czrq<='"+endDate+" 23:59:59' ";
        }
        //智能设备总数
        int devcieTotal = 0;
        int devcieXt = 0;//血糖仪数
        int devcieXy = 0;//血压计数
        String deviceSql = "SELECT dm.category_code type,COUNT(d.id) num FROM " +
                "wlyy_devices d INNER JOIN dm_device dm ON d.category_code = dm.id " +
                "where 1=1  " + filterDevice +
                "GROUP BY dm.category_code";
        List<Map<String,Object>> deviceList = jdbcTemplate.queryForList(deviceSql);
        for (Map<String,Object> map:deviceList){
            String type = map.get("type")+"";
            if("1".equals(type)){
                devcieXt = Integer.parseInt(map.get("num")+"");
            }
            if("2".equals(type)){
                devcieXy = Integer.parseInt(map.get("num")+"");
            }
        }
        devcieTotal = devcieXt+devcieXy;
        json.put("devcieTotal",devcieTotal);
        json.put("devcieXt",devcieXt);
        json.put("devcieXy",devcieXy);
        //设备上传次数
        int uploadTotal = 0;
        int uploadXt = 0;//
        int uploadXy = 0;//
        String uploadSql = "select type,count(id) num from wlyy_patient_health_index where 1=1 "+filterUpload+" group by type";
        List<Map<String,Object>> uploadList = jdbcTemplate.queryForList(uploadSql);
        for (Map<String,Object> map:uploadList){
            String type = map.get("type")+"";
            if("1".equals(type)){
                uploadXt = Integer.parseInt(map.get("num")+"");
            }
            if("2".equals(type)){
                uploadXy = Integer.parseInt(map.get("num")+"");
            }
        }
        uploadTotal = uploadXt+uploadXy;
        json.put("uploadTotal",uploadTotal);
        json.put("uploadXt",uploadXt);
        json.put("uploadXy",uploadXy);
        //投放科室数量
        String deptSql = "select count(DISTINCT dept) from wlyy_devices where dept is not null "+filterDept;
        String deptUseSql = "SELECT count(DISTINCT d.dept) from wlyy_devices d,wlyy_patient_health_index i " +
                "WHERE d.dept is not null and d.device_code=i.device_sn and i.del=1 "+filterDeptUse;
        int deptTotal = jdbcTemplate.queryForObject(deptSql,Integer.class);
        int deptUse = jdbcTemplate.queryForObject(deptUseSql,Integer.class);
        if(deptUse>deptTotal){
            deptUse = deptTotal;
        }
        //绑定次数
        String bindSql = "SELECT COUNT(*) num from wlyy_patient_device " +
                " where 1=1 "+filterUpload;
        int bindNum = jdbcTemplate.queryForObject(bindSql,Integer.class);
        json.put("deptTotal",deptTotal);
        json.put("deptUse",deptUse);
        json.put("bindNum",bindNum);//绑定次数
        return json;
    }
    /**
    /**
     * 智能设备分析
     * 智能设备分析

+ 7 - 5
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/followup/controller/DoctorFollowUpController.java

@ -99,16 +99,18 @@ public class DoctorFollowUpController extends BaseController {
     */
     */
    @RequestMapping(value = "/list_by", method = {RequestMethod.GET,RequestMethod.POST})
    @RequestMapping(value = "/list_by", method = {RequestMethod.GET,RequestMethod.POST})
    @ApiOperation(value = "查询居民随访列表")
    @ApiOperation(value = "查询居民随访列表")
    public String getListByPatient(@RequestParam @ApiParam(value = "居民Code") String patient,
                                          @RequestParam @ApiParam(value = "第几页") int page,
                                          @RequestParam @ApiParam(value = "页大小") int pagesize,
                                          @RequestParam(value = "type",required = false) @ApiParam(value = "类型:放空为全部,1计划,2记录",defaultValue = "0") String type) {
    public String getListByPatient(
            @RequestParam @ApiParam(value = "居民Code") String patient,
            @RequestParam @ApiParam(value = "医生Code") String doctorCode,
            @RequestParam @ApiParam(value = "第几页") int page,
            @RequestParam @ApiParam(value = "页大小") int pagesize,
            @RequestParam(value = "type",required = false) @ApiParam(value = "类型:放空为全部,1计划,2记录",defaultValue = "0") String type) {
        try {
        try {
            if (StringUtils.isEmpty(patient)) {
            if (StringUtils.isEmpty(patient)) {
                return error(-1, "请输入需查询的居民");
                return error(-1, "请输入需查询的居民");
            }
            }
            page = page > 0 ? page - 1 : 0;
            page = page > 0 ? page - 1 : 0;
            JSONArray result = followUpService.getListByPatient(patient, page, pagesize,type);
            JSONArray result = followUpService.getListByPatient(patient, page, pagesize,type,doctorCode);
            return write(200, "查询成功", "data", result);
            return write(200, "查询成功", "data", result);
        } catch (Exception e) {
        } catch (Exception e) {
            return errorResult(e);
            return errorResult(e);

+ 6 - 12
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/followup/dao/FollowUpDao.java

@ -82,27 +82,21 @@ public interface FollowUpDao extends PagingAndSortingRepository<Followup, Long>,
    /**
    /**
     * 查找所有的随访数据
     * 查找所有的随访数据
     * @param patient
     * @param pageable
     * @return
     */
     */
    @Query("select d.id,d.name,d.photo,a.followupType,a.followupClass,a.status,a.createTime,a.updateTime,a.followupManagerStatus," +
    @Query("select d.id,d.name,d.photo,a.followupType,a.followupClass,a.status,a.createTime,a.updateTime,a.followupManagerStatus," +
            "c.id,c.name,c.photo" + ",a.followupDate,a.followupPlanDate,a.followupNextDate,a.id,a.followupNo,a.prescriptionCode " +
            "c.id,c.name,c.photo" + ",a.followupDate,a.followupPlanDate,a.followupNextDate,a.id,a.followupNo,a.prescriptionCode " +
            "from Followup a, BaseDoctorDO d, BaseDoctorDO c " +
            "from Followup a, BaseDoctorDO d, BaseDoctorDO c " +
            "where a.doctorCode = d.id and a.creater = c.id and a.patientCode = ?1  and a.status > '0'")
    Page<Object> findByPatient(String patient, PageRequest pageable);
            "where a.doctorCode = d.id and a.creater = c.id and a.patientCode = ?1 and a.doctorCode=?2  and a.status > '0'")
    Page<Object> findByPatient(String patient,String doctor, PageRequest pageable);
    /**
    /**
     * 查找所有的随访计划(未开始的归类为计划)
     * 查找所有的随访计划(未开始的归类为计划)
     * @param patient
     * @param pageable
     * @return
     */
     */
    @Query("select d.id,d.name,d.photo,a.followupType,a.followupClass,a.status,a.createTime,a.updateTime,a.followupManagerStatus," +
    @Query("select d.id,d.name,d.photo,a.followupType,a.followupClass,a.status,a.createTime,a.updateTime,a.followupManagerStatus," +
            "c.id,c.name,c.photo" + ",a.followupDate,a.followupPlanDate,a.followupNextDate,a.id,a.followupNo,a.prescriptionCode " +
            "c.id,c.name,c.photo" + ",a.followupDate,a.followupPlanDate,a.followupNextDate,a.id,a.followupNo,a.prescriptionCode " +
            "from Followup a, BaseDoctorDO d, BaseDoctorDO c " +
            "from Followup a, BaseDoctorDO d, BaseDoctorDO c " +
            "where a.doctorCode = d.id and a.creater = c.id and a.patientCode = ?1 and a.status = '2'")
    Page<Object> findPlanByPatient(String patient, PageRequest pageable);
            "where a.doctorCode = d.id and a.creater = c.id and a.patientCode = ?1  and a.doctorCode=?2 and a.status = '2' ")
    Page<Object> findPlanByPatient(String patient,String doctor, PageRequest pageable);
    /**
    /**
     * 查找所有的随访记录(进行中的,已完整的的归类为计划)
     * 查找所有的随访记录(进行中的,已完整的的归类为计划)
@ -113,8 +107,8 @@ public interface FollowUpDao extends PagingAndSortingRepository<Followup, Long>,
    @Query("select d.id,d.name,d.photo,a.followupType,a.followupClass,a.status,a.createTime,a.updateTime,a.followupManagerStatus," +
    @Query("select d.id,d.name,d.photo,a.followupType,a.followupClass,a.status,a.createTime,a.updateTime,a.followupManagerStatus," +
            "c.id,c.name,c.photo" + ",a.followupDate,a.followupPlanDate,a.followupNextDate,a.id,a.followupNo,a.prescriptionCode " +
            "c.id,c.name,c.photo" + ",a.followupDate,a.followupPlanDate,a.followupNextDate,a.id,a.followupNo,a.prescriptionCode " +
            "from Followup a, BaseDoctorDO d, BaseDoctorDO c" +
            "from Followup a, BaseDoctorDO d, BaseDoctorDO c" +
            " where a.doctorCode = d.id and a.creater = c.id and a.patientCode = ?1 and (a.status = '1' or a.status = '3')")
    Page<Object> findRecordByPatient(String patient, PageRequest pageable);
            " where a.doctorCode = d.id and a.creater = c.id and a.patientCode = ?1 and a.doctorCode=?2  and (a.status = '1' or a.status = '3')")
    Page<Object> findRecordByPatient(String patient, String doctor,PageRequest pageable);
    /**
    /**
     * 查找所有的随访计划(未开始的归类为计划)
     * 查找所有的随访计划(未开始的归类为计划)

+ 6 - 4
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/followup/service/FollowUpService.java

@ -360,21 +360,23 @@ public class FollowUpService {
     * @param type     类型:0全部,1计划,2记录
     * @param type     类型:0全部,1计划,2记录
     * @return
     * @return
     */
     */
    public JSONArray getListByPatient(String patient, int page, int pageSize, String type) {
    public JSONArray getListByPatient(
            String patient, int page, int pageSize, String type,String doctorCode) {
//        Sort sort = new Sort(Sort.Direction.DESC, "createTime");
//        Sort sort = new Sort(Sort.Direction.DESC, "createTime");
        PageRequest pageRequest = PageRequest.of(page, pageSize);
        PageRequest pageRequest = PageRequest.of(page, pageSize);
        Page<Object> result = null;
        Page<Object> result = null;
        if (StringUtils.isBlank(type)) {
        if (StringUtils.isBlank(type)) {
            result = followupDao.findByPatient(patient, pageRequest);
            result = followupDao.findByPatient(patient,doctorCode, pageRequest);
        } else if ("1".equals(type)) {
        } else if ("1".equals(type)) {
            //已经开始的就是记录
            //已经开始的就是记录
            result = followupDao.findPlanByPatient(patient, pageRequest);
            result = followupDao.findPlanByPatient(patient,doctorCode, pageRequest);
        } else if ("2".equals(type)) {
        } else if ("2".equals(type)) {
            //未开始的就是计划
            //未开始的就是计划
            result = followupDao.findRecordByPatient(patient, pageRequest);
            result = followupDao.findRecordByPatient(patient,doctorCode, pageRequest);
        } else {
        } else {
            result = followupDao.findByPatient(patient,doctorCode, pageRequest);
        }
        }

+ 8 - 0
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/health/controller/ChronicDiseaseController.java

@ -274,6 +274,7 @@ public class ChronicDiseaseController extends EnvelopRestEndpoint {
            }
            }
            return write(200, "查询成功", "data", doctorSchemeService.getTrackPatientServerCount(null, doctorId, startDate, endDate));
            return write(200, "查询成功", "data", doctorSchemeService.getTrackPatientServerCount(null, doctorId, startDate, endDate));
        } catch (Exception e) {
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1, e.getMessage());
            return error(-1, e.getMessage());
        }
        }
    }
    }
@ -291,6 +292,7 @@ public class ChronicDiseaseController extends EnvelopRestEndpoint {
            }
            }
            return write(200, "查询成功", "data", doctorSchemeService.getPatientHealthIndexNew(startDate, endDate, type, doctorId));
            return write(200, "查询成功", "data", doctorSchemeService.getPatientHealthIndexNew(startDate, endDate, type, doctorId));
        } catch (Exception e) {
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1, e.getMessage());
            return error(-1, e.getMessage());
        }
        }
    }
    }
@ -308,6 +310,7 @@ public class ChronicDiseaseController extends EnvelopRestEndpoint {
            }
            }
            return write(200, "查询成功", "data", doctorSchemeService.getTrackPatientAimByteam(doctorId,startDate, endDate));
            return write(200, "查询成功", "data", doctorSchemeService.getTrackPatientAimByteam(doctorId,startDate, endDate));
        } catch (Exception e) {
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1, e.getMessage());
            return error(-1, e.getMessage());
        }
        }
    }
    }
@ -322,6 +325,7 @@ public class ChronicDiseaseController extends EnvelopRestEndpoint {
            }
            }
            return write(200, "查询成功", "data", doctorSchemeService.getDeviceStateByTeam(doctorId));
            return write(200, "查询成功", "data", doctorSchemeService.getDeviceStateByTeam(doctorId));
        } catch (Exception e) {
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1, e.getMessage());
            return error(-1, e.getMessage());
        }
        }
    }
    }
@ -335,6 +339,7 @@ public class ChronicDiseaseController extends EnvelopRestEndpoint {
        try {
        try {
            return write(200, "操作成功", "data", doctorSchemeService.setPatientAim(patient, suggerJson, pressureJson, sportJson));
            return write(200, "操作成功", "data", doctorSchemeService.setPatientAim(patient, suggerJson, pressureJson, sportJson));
        } catch (Exception e) {
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1, e.getMessage());
            return error(-1, e.getMessage());
        }
        }
    }
    }
@ -348,6 +353,7 @@ public class ChronicDiseaseController extends EnvelopRestEndpoint {
        try {
        try {
            return write(200, "操作成功", "data", doctorSchemeService.setSinglePatientAim(patient, suggerJson, pressureJson, sportJson));
            return write(200, "操作成功", "data", doctorSchemeService.setSinglePatientAim(patient, suggerJson, pressureJson, sportJson));
        } catch (Exception e) {
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1, e.getMessage());
            return error(-1, e.getMessage());
        }
        }
    }
    }
@ -364,6 +370,7 @@ public class ChronicDiseaseController extends EnvelopRestEndpoint {
        try {
        try {
            return write(200, "查询成功", "data", doctorSchemeService.getTrackPatientIndexCountList(getUID(), teamCode, type, startDate, endDate, keyword, page, size));
            return write(200, "查询成功", "data", doctorSchemeService.getTrackPatientIndexCountList(getUID(), teamCode, type, startDate, endDate, keyword, page, size));
        } catch (Exception e) {
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1, e.getMessage());
            return error(-1, e.getMessage());
        }
        }
    }
    }
@ -406,6 +413,7 @@ public class ChronicDiseaseController extends EnvelopRestEndpoint {
            List<Map<String, Object>> result = doctorSchemeService.getLabelDetail(doctorId, labelType, searchContent, page, pageSize);
            List<Map<String, Object>> result = doctorSchemeService.getLabelDetail(doctorId, labelType, searchContent, page, pageSize);
            return write(200, "查询成功", "data", result);
            return write(200, "查询成功", "data", result);
        } catch (Exception e) {
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1, e.getMessage());
            return error(-1, e.getMessage());
        }
        }
    }
    }

+ 49 - 49
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/health/service/scheme/DoctorSchemeService.java

@ -565,7 +565,7 @@ public class DoctorSchemeService {
                " SELECT " +
                " SELECT " +
                " COUNT(1) AS befHighCount " +
                " COUNT(1) AS befHighCount " +
                " FROM " +
                " FROM " +
                " device.wlyy_patient_health_index i " +
                " wlyy_patient_health_index i " +
                " WHERE " +
                " WHERE " +
                " i.type = '1' " +
                " i.type = '1' " +
                " AND i.del = '1' " +
                " AND i.del = '1' " +
@ -579,7 +579,7 @@ public class DoctorSchemeService {
                " SELECT " +
                " SELECT " +
                " COUNT(1) AS aftHighCount " +
                " COUNT(1) AS aftHighCount " +
                " FROM " +
                " FROM " +
                " device.wlyy_patient_health_index i " +
                " wlyy_patient_health_index i " +
                " WHERE " +
                " WHERE " +
                " i.type = '1' " +
                " i.type = '1' " +
                " AND i.del = '1' " +
                " AND i.del = '1' " +
@ -596,7 +596,7 @@ public class DoctorSchemeService {
                " SELECT " +
                " SELECT " +
                " COUNT(1) AS befHighCount " +
                " COUNT(1) AS befHighCount " +
                " FROM " +
                " FROM " +
                " device.wlyy_patient_health_index i " +
                " wlyy_patient_health_index i " +
                " WHERE " +
                " WHERE " +
                " i.type = '1' " +
                " i.type = '1' " +
                " AND i.del = '1' " +
                " AND i.del = '1' " +
@ -611,7 +611,7 @@ public class DoctorSchemeService {
                " SELECT " +
                " SELECT " +
                " COUNT(1) AS aftHighCount " +
                " COUNT(1) AS aftHighCount " +
                " FROM " +
                " FROM " +
                " device.wlyy_patient_health_index i " +
                " wlyy_patient_health_index i " +
                " WHERE " +
                " WHERE " +
                " i.type = '1' " +
                " i.type = '1' " +
                " AND i.del = '1' " +
                " AND i.del = '1' " +
@ -629,7 +629,7 @@ public class DoctorSchemeService {
                " SELECT " +
                " SELECT " +
                " COUNT(1) AS befHighCount " +
                " COUNT(1) AS befHighCount " +
                " FROM " +
                " FROM " +
                " device.wlyy_patient_health_index i " +
                " wlyy_patient_health_index i " +
                " WHERE " +
                " WHERE " +
                " i.type = '1' " +
                " i.type = '1' " +
                " AND i.del = '1' " +
                " AND i.del = '1' " +
@ -643,7 +643,7 @@ public class DoctorSchemeService {
                " SELECT " +
                " SELECT " +
                " COUNT(1) AS aftHighCount " +
                " COUNT(1) AS aftHighCount " +
                " FROM " +
                " FROM " +
                " device.wlyy_patient_health_index i " +
                " wlyy_patient_health_index i " +
                " WHERE " +
                " WHERE " +
                " i.type = '1' " +
                " i.type = '1' " +
                " AND i.del = '1' " +
                " AND i.del = '1' " +
@ -657,7 +657,7 @@ public class DoctorSchemeService {
        String pHighSql = "SELECT " +
        String pHighSql = "SELECT " +
                " count(1) AS highCount " +
                " count(1) AS highCount " +
                " FROM " +
                " FROM " +
                " device.wlyy_patient_health_index i " +
                " wlyy_patient_health_index i " +
                " WHERE " +
                " WHERE " +
                " i.del = '1' " +
                " i.del = '1' " +
                " AND i.type = '2' " +
                " AND i.type = '2' " +
@ -668,7 +668,7 @@ public class DoctorSchemeService {
        String pStdSql = "SELECT " +
        String pStdSql = "SELECT " +
                " count(1) AS stdCount " +
                " count(1) AS stdCount " +
                " FROM " +
                " FROM " +
                " device.wlyy_patient_health_index i " +
                " wlyy_patient_health_index i " +
                " WHERE " +
                " WHERE " +
                " i.del = '1' " +
                " i.del = '1' " +
                " AND i.type = '2' " +
                " AND i.type = '2' " +
@ -680,7 +680,7 @@ public class DoctorSchemeService {
        String pLowSql = "SELECT " +
        String pLowSql = "SELECT " +
                " count(1) AS lowCount " +
                " count(1) AS lowCount " +
                " FROM " +
                " FROM " +
                " device.wlyy_patient_health_index i " +
                " wlyy_patient_health_index i " +
                " WHERE " +
                " WHERE " +
                " i.del = '1' " +
                " i.del = '1' " +
                " AND i.type = '2' " +
                " AND i.type = '2' " +
@ -746,7 +746,7 @@ public class DoctorSchemeService {
                " SELECT " +
                " SELECT " +
                " COUNT(1) AS befHighCount " +
                " COUNT(1) AS befHighCount " +
                " FROM " +
                " FROM " +
                " device.wlyy_patient_health_index i " +
                " wlyy_patient_health_index i " +
                " WHERE " +
                " WHERE " +
                " i.type = '1' " +
                " i.type = '1' " +
                " AND i.del = '1' " +
                " AND i.del = '1' " +
@ -755,13 +755,13 @@ public class DoctorSchemeService {
                " AND i.record_date >='" + startDate + "'" +
                " AND i.record_date >='" + startDate + "'" +
                " AND i.record_date <='" + endDate + "'" +
                " AND i.record_date <='" + endDate + "'" +
                " AND i.user IN (" +
                " AND i.user IN (" +
                "SELECT t.patient_code FROM wlyy.wlyy_track_patient t WHERE t.del='1' AND t.doctor_code ='" + doctor + "' )" +
                "SELECT t.patient_code FROM wlyy_track_patient t WHERE t.del='1' AND t.doctor_code ='" + doctor + "' )" +
                " ) bf, " +
                " ) bf, " +
                " (  " +
                " (  " +
                " SELECT " +
                " SELECT " +
                " COUNT(1) AS aftHighCount " +
                " COUNT(1) AS aftHighCount " +
                " FROM " +
                " FROM " +
                " device.wlyy_patient_health_index i " +
                " wlyy_patient_health_index i " +
                " WHERE " +
                " WHERE " +
                " i.type = '1' " +
                " i.type = '1' " +
                " AND i.del = '1' " +
                " AND i.del = '1' " +
@ -769,7 +769,7 @@ public class DoctorSchemeService {
                " AND i.value1 > 11.1 " +
                " AND i.value1 > 11.1 " +
                " AND i.record_date >='" + startDate + "'" +
                " AND i.record_date >='" + startDate + "'" +
                " AND i.record_date <='" + endDate + "'" +
                " AND i.record_date <='" + endDate + "'" +
                " AND i.user IN (SELECT t.patient_code FROM wlyy.wlyy_track_patient t WHERE t.del='1' AND t.doctor_code ='" + doctor + "' )" +
                " AND i.user IN (SELECT t.patient_code FROM wlyy_track_patient t WHERE t.del='1' AND t.doctor_code ='" + doctor + "' )" +
                " ) aft";
                " ) aft";
        String stdSql = "SELECT  " +
        String stdSql = "SELECT  " +
                " (bf.befHighCount + aft.aftHighCount) AS stdCount " +
                " (bf.befHighCount + aft.aftHighCount) AS stdCount " +
@ -778,7 +778,7 @@ public class DoctorSchemeService {
                " SELECT " +
                " SELECT " +
                " COUNT(1) AS befHighCount " +
                " COUNT(1) AS befHighCount " +
                " FROM " +
                " FROM " +
                " device.wlyy_patient_health_index i " +
                " wlyy_patient_health_index i " +
                " WHERE " +
                " WHERE " +
                " i.type = '1' " +
                " i.type = '1' " +
                " AND i.del = '1' " +
                " AND i.del = '1' " +
@ -787,13 +787,13 @@ public class DoctorSchemeService {
                " AND i.value1 >= 4 " +
                " AND i.value1 >= 4 " +
                " AND i.record_date >='" + startDate + "'" +
                " AND i.record_date >='" + startDate + "'" +
                " AND i.record_date <='" + endDate + "'" +
                " AND i.record_date <='" + endDate + "'" +
                " AND i.user IN (SELECT t.patient_code FROM wlyy.wlyy_track_patient t WHERE t.del='1' AND t.doctor_code ='" + doctor + "' )" +
                " AND i.user IN (SELECT t.patient_code FROM wlyy_track_patient t WHERE t.del='1' AND t.doctor_code ='" + doctor + "' )" +
                " ) bf, " +
                " ) bf, " +
                " (  " +
                " (  " +
                " SELECT " +
                " SELECT " +
                " COUNT(1) AS aftHighCount " +
                " COUNT(1) AS aftHighCount " +
                " FROM " +
                " FROM " +
                " device.wlyy_patient_health_index i " +
                " wlyy_patient_health_index i " +
                " WHERE " +
                " WHERE " +
                " i.type = '1' " +
                " i.type = '1' " +
                " AND i.del = '1' " +
                " AND i.del = '1' " +
@ -802,7 +802,7 @@ public class DoctorSchemeService {
                " AND i.value1 >= 4 " +
                " AND i.value1 >= 4 " +
                " AND i.record_date >='" + startDate + "'" +
                " AND i.record_date >='" + startDate + "'" +
                " AND i.record_date <='" + endDate + "'" +
                " AND i.record_date <='" + endDate + "'" +
                " AND i.user IN (SELECT t.patient_code FROM wlyy.wlyy_track_patient t WHERE t.del='1' AND t.doctor_code ='" + doctor + "' )" +
                " AND i.user IN (SELECT t.patient_code FROM wlyy_track_patient t WHERE t.del='1' AND t.doctor_code ='" + doctor + "' )" +
                " ) aft";
                " ) aft";
        String lowSql = "SELECT  " +
        String lowSql = "SELECT  " +
                " (bf.befHighCount + aft.aftHighCount) AS lowCount " +
                " (bf.befHighCount + aft.aftHighCount) AS lowCount " +
@ -811,7 +811,7 @@ public class DoctorSchemeService {
                " SELECT " +
                " SELECT " +
                " COUNT(1) AS befHighCount " +
                " COUNT(1) AS befHighCount " +
                " FROM " +
                " FROM " +
                " device.wlyy_patient_health_index i " +
                " wlyy_patient_health_index i " +
                " WHERE " +
                " WHERE " +
                " i.type = '1' " +
                " i.type = '1' " +
                " AND i.del = '1' " +
                " AND i.del = '1' " +
@ -819,13 +819,13 @@ public class DoctorSchemeService {
                " AND i.value1 < 4 " +
                " AND i.value1 < 4 " +
                " AND i.record_date >='" + startDate + "'" +
                " AND i.record_date >='" + startDate + "'" +
                " AND i.record_date <='" + endDate + "'" +
                " AND i.record_date <='" + endDate + "'" +
                " AND i.user IN (SELECT t.patient_code FROM wlyy.wlyy_track_patient t WHERE t.del='1' AND t.doctor_code ='" + doctor + "' )" +
                " AND i.user IN (SELECT t.patient_code FROM wlyy_track_patient t WHERE t.del='1' AND t.doctor_code ='" + doctor + "' )" +
                " ) bf, " +
                " ) bf, " +
                " (  " +
                " (  " +
                " SELECT " +
                " SELECT " +
                " COUNT(1) AS aftHighCount " +
                " COUNT(1) AS aftHighCount " +
                " FROM " +
                " FROM " +
                " device.wlyy_patient_health_index i " +
                " wlyy_patient_health_index i " +
                " WHERE " +
                " WHERE " +
                " i.type = '1' " +
                " i.type = '1' " +
                " AND i.del = '1' " +
                " AND i.del = '1' " +
@ -833,24 +833,24 @@ public class DoctorSchemeService {
                " AND i.value1 < 4 " +
                " AND i.value1 < 4 " +
                " AND i.record_date >='" + startDate + "'" +
                " AND i.record_date >='" + startDate + "'" +
                " AND i.record_date <='" + endDate + "'" +
                " AND i.record_date <='" + endDate + "'" +
                " AND i.user IN (SELECT t.patient_code FROM wlyy.wlyy_track_patient t WHERE t.del='1' AND t.doctor_code ='" + doctor + "' )" +
                " AND i.user IN (SELECT t.patient_code FROM wlyy_track_patient t WHERE t.del='1' AND t.doctor_code ='" + doctor + "' )" +
                " ) aft";
                " ) aft";
        String pHighSql = "SELECT " +
        String pHighSql = "SELECT " +
                " count(1) AS highCount " +
                " count(1) AS highCount " +
                " FROM " +
                " FROM " +
                " device.wlyy_patient_health_index i " +
                " wlyy_patient_health_index i " +
                " WHERE " +
                " WHERE " +
                " i.del = '1' " +
                " i.del = '1' " +
                " AND i.type = '2' " +
                " AND i.type = '2' " +
                " AND i.value1 > 139 " +
                " AND i.value1 > 139 " +
                " AND i.record_date >='" + startDate + "'" +
                " AND i.record_date >='" + startDate + "'" +
                " AND i.record_date <='" + endDate + "'" +
                " AND i.record_date <='" + endDate + "'" +
                " AND i.user IN (SELECT t.patient_code FROM wlyy.wlyy_track_patient t WHERE t.del='1' AND t.doctor_code ='" + doctor + "' )";
                " AND i.user IN (SELECT t.patient_code FROM wlyy_track_patient t WHERE t.del='1' AND t.doctor_code ='" + doctor + "' )";
        String pStdSql = "SELECT " +
        String pStdSql = "SELECT " +
                " count(1) AS stdCount " +
                " count(1) AS stdCount " +
                " FROM " +
                " FROM " +
                " device.wlyy_patient_health_index i " +
                " wlyy_patient_health_index i " +
                " WHERE " +
                " WHERE " +
                " i.del = '1' " +
                " i.del = '1' " +
                " AND i.type = '2' " +
                " AND i.type = '2' " +
@ -858,18 +858,18 @@ public class DoctorSchemeService {
                " AND i.value1 >= 90 " +
                " AND i.value1 >= 90 " +
                " AND i.record_date >='" + startDate + "'" +
                " AND i.record_date >='" + startDate + "'" +
                " AND i.record_date <='" + endDate + "'" +
                " AND i.record_date <='" + endDate + "'" +
                " AND i.user IN (SELECT t.patient_code FROM wlyy.wlyy_track_patient t WHERE t.del='1' AND t.doctor_code ='" + doctor + "' )";
                " AND i.user IN (SELECT t.patient_code FROM wlyy_track_patient t WHERE t.del='1' AND t.doctor_code ='" + doctor + "' )";
        String pLowSql = "SELECT " +
        String pLowSql = "SELECT " +
                " count(1) AS lowCount " +
                " count(1) AS lowCount " +
                " FROM " +
                " FROM " +
                " device.wlyy_patient_health_index i " +
                " wlyy_patient_health_index i " +
                " WHERE " +
                " WHERE " +
                " i.del = '1' " +
                " i.del = '1' " +
                " AND i.type = '2' " +
                " AND i.type = '2' " +
                " AND i.value1 < 90 " +
                " AND i.value1 < 90 " +
                " AND i.record_date >='" + startDate + "'" +
                " AND i.record_date >='" + startDate + "'" +
                " AND i.record_date <='" + endDate + "'" +
                " AND i.record_date <='" + endDate + "'" +
                " AND i.user IN (SELECT t.patient_code FROM wlyy.wlyy_track_patient t WHERE t.del='1' AND t.doctor_code ='" + doctor + "')";
                " AND i.user IN (SELECT t.patient_code FROM wlyy_track_patient t WHERE t.del='1' AND t.doctor_code ='" + doctor + "')";
        Map<String, Object> rs = new HashedMap();
        Map<String, Object> rs = new HashedMap();
        //0血檀
        //0血檀
@ -927,7 +927,7 @@ public class DoctorSchemeService {
                " i.value2 AS height, " +
                " i.value2 AS height, " +
                " i.value3 AS BMI " +
                " i.value3 AS BMI " +
                " FROM " +
                " FROM " +
                " device.wlyy_patient_health_index i " +
                " wlyy_patient_health_index i " +
                " WHERE " +
                " WHERE " +
                " i.del = '1' " +
                " i.del = '1' " +
                " AND i.type = '3'  " +
                " AND i.type = '3'  " +
@ -997,7 +997,7 @@ public class DoctorSchemeService {
                " i.value2 AS height, " +
                " i.value2 AS height, " +
                " i.value3 AS BMI " +
                " i.value3 AS BMI " +
                " FROM " +
                " FROM " +
                " device.wlyy_patient_health_index i " +
                " wlyy_patient_health_index i " +
                " WHERE " +
                " WHERE " +
                " i.del = '1' " +
                " i.del = '1' " +
                " AND i.type = 3 " +
                " AND i.type = 3 " +
@ -1219,7 +1219,7 @@ public class DoctorSchemeService {
                "   i.`user`, " +
                "   i.`user`, " +
                "   COUNT(1) AS total " +
                "   COUNT(1) AS total " +
                "  FROM " +
                "  FROM " +
                "   device.wlyy_patient_health_index i " +
                "   wlyy_patient_health_index i " +
                "    WHERE  " +
                "    WHERE  " +
                "   i.`user` in  " +
                "   i.`user` in  " +
                "    ( " +
                "    ( " +
@ -1237,7 +1237,7 @@ public class DoctorSchemeService {
                "  i.`user`, " +
                "  i.`user`, " +
                "  COUNT(1) AS dbtotal " +
                "  COUNT(1) AS dbtotal " +
                " FROM " +
                " FROM " +
                "  device.wlyy_patient_health_index i " +
                "  wlyy_patient_health_index i " +
                " JOIN wlyy_patient_aim_blood_pressure p ON p.patientcode = i.`user` " +
                " JOIN wlyy_patient_aim_blood_pressure p ON p.patientcode = i.`user` " +
                " WHERE " +
                " WHERE " +
                "  i.`user` in  " +
                "  i.`user` in  " +
@ -1302,7 +1302,7 @@ public class DoctorSchemeService {
                "   i.`user`, " +
                "   i.`user`, " +
                "   COUNT(1) AS total " +
                "   COUNT(1) AS total " +
                "  FROM " +
                "  FROM " +
                "   device.wlyy_patient_health_index i " +
                "   wlyy_patient_health_index i " +
                "    WHERE  " +
                "    WHERE  " +
                "   i.`user` in  " +
                "   i.`user` in  " +
                "    ( " +
                "    ( " +
@ -1322,7 +1322,7 @@ public class DoctorSchemeService {
                "  i.`user`, " +
                "  i.`user`, " +
                "  COUNT(1) AS dbtotal " +
                "  COUNT(1) AS dbtotal " +
                " FROM " +
                " FROM " +
                "  device.wlyy_patient_health_index i " +
                "  wlyy_patient_health_index i " +
                " JOIN wlyy_patient_aim_blood_sugger p ON p.patientcode = i.`user` " +
                " JOIN wlyy_patient_aim_blood_sugger p ON p.patientcode = i.`user` " +
                " WHERE " +
                " WHERE " +
                "  i.`user` in  " +
                "  i.`user` in  " +
@ -1354,7 +1354,7 @@ public class DoctorSchemeService {
                "   i.`user`, " +
                "   i.`user`, " +
                "   COUNT(1) AS total " +
                "   COUNT(1) AS total " +
                "  FROM " +
                "  FROM " +
                "   device.wlyy_patient_health_index i " +
                "   wlyy_patient_health_index i " +
                "  WHERE " +
                "  WHERE " +
                "   i.`user` IN ( " +
                "   i.`user` IN ( " +
                "    SELECT " +
                "    SELECT " +
@ -1378,7 +1378,7 @@ public class DoctorSchemeService {
                "  i.`user`, " +
                "  i.`user`, " +
                "  COUNT(1) AS dbtotal " +
                "  COUNT(1) AS dbtotal " +
                " FROM " +
                " FROM " +
                "  device.wlyy_patient_health_index i " +
                "  wlyy_patient_health_index i " +
                " JOIN wlyy_patient_aim_blood_sugger p ON p.patientcode = i.`user` " +
                " JOIN wlyy_patient_aim_blood_sugger p ON p.patientcode = i.`user` " +
                " WHERE " +
                " WHERE " +
                "  i.`user` IN ( " +
                "  i.`user` IN ( " +
@ -1406,7 +1406,7 @@ public class DoctorSchemeService {
                "  i.`user`, " +
                "  i.`user`, " +
                "  COUNT(1) AS dbtotal " +
                "  COUNT(1) AS dbtotal " +
                " FROM " +
                " FROM " +
                "  device.wlyy_patient_health_index i " +
                "  wlyy_patient_health_index i " +
                " JOIN wlyy_patient_aim_blood_sugger p ON p.patientcode = i.`user` " +
                " JOIN wlyy_patient_aim_blood_sugger p ON p.patientcode = i.`user` " +
                " WHERE " +
                " WHERE " +
                "  i.`user` IN ( " +
                "  i.`user` IN ( " +
@ -1641,7 +1641,7 @@ public class DoctorSchemeService {
                "    i. USER, " +
                "    i. USER, " +
                "    COUNT(1) AS total " +
                "    COUNT(1) AS total " +
                "   FROM " +
                "   FROM " +
                "    device.wlyy_patient_health_index i " +
                "    wlyy_patient_health_index i " +
                "   WHERE " +
                "   WHERE " +
                "    i.del = '1' " +
                "    i.del = '1' " +
                "   AND i.type = 1 " +
                "   AND i.type = 1 " +
@ -1676,7 +1676,7 @@ public class DoctorSchemeService {
                "   i. USER, " +
                "   i. USER, " +
                "   COUNT(1) AS total " +
                "   COUNT(1) AS total " +
                "  FROM " +
                "  FROM " +
                "   device.wlyy_patient_health_index i " +
                "   wlyy_patient_health_index i " +
                "  WHERE " +
                "  WHERE " +
                "   i.del = '1' " +
                "   i.del = '1' " +
                "  AND i.type = 1 " +
                "  AND i.type = 1 " +
@ -1718,7 +1718,7 @@ public class DoctorSchemeService {
                "    i. USER, " +
                "    i. USER, " +
                "    COUNT(1) AS total " +
                "    COUNT(1) AS total " +
                "   FROM " +
                "   FROM " +
                "    device.wlyy_patient_health_index i " +
                "    wlyy_patient_health_index i " +
                "   WHERE " +
                "   WHERE " +
                "    i.del = '1' " +
                "    i.del = '1' " +
                "   AND i.type = 1 " +
                "   AND i.type = 1 " +
@ -1753,7 +1753,7 @@ public class DoctorSchemeService {
                "   i. USER, " +
                "   i. USER, " +
                "   COUNT(1) AS total " +
                "   COUNT(1) AS total " +
                "  FROM " +
                "  FROM " +
                "   device.wlyy_patient_health_index i " +
                "   wlyy_patient_health_index i " +
                "  WHERE " +
                "  WHERE " +
                "   i.del = '1' " +
                "   i.del = '1' " +
                "  AND i.type = 1 " +
                "  AND i.type = 1 " +
@ -1796,7 +1796,7 @@ public class DoctorSchemeService {
                "    i. USER, " +
                "    i. USER, " +
                "    COUNT(1) AS total " +
                "    COUNT(1) AS total " +
                "   FROM " +
                "   FROM " +
                "    device.wlyy_patient_health_index i " +
                "    wlyy_patient_health_index i " +
                "   WHERE " +
                "   WHERE " +
                "    i.del = '1' " +
                "    i.del = '1' " +
                "   AND i.type = 1 " +
                "   AND i.type = 1 " +
@ -1832,7 +1832,7 @@ public class DoctorSchemeService {
                "   i. USER, " +
                "   i. USER, " +
                "   COUNT(1) AS total " +
                "   COUNT(1) AS total " +
                "  FROM " +
                "  FROM " +
                "   device.wlyy_patient_health_index i " +
                "   wlyy_patient_health_index i " +
                "  WHERE " +
                "  WHERE " +
                "   i.del = '1' " +
                "   i.del = '1' " +
                "  AND i.type = 1 " +
                "  AND i.type = 1 " +
@ -1893,7 +1893,7 @@ public class DoctorSchemeService {
                "    i. USER, " +
                "    i. USER, " +
                "    COUNT(1) AS total " +
                "    COUNT(1) AS total " +
                "   FROM " +
                "   FROM " +
                "    device.wlyy_patient_health_index i " +
                "    wlyy_patient_health_index i " +
                "   WHERE " +
                "   WHERE " +
                "    i.del = '1' " +
                "    i.del = '1' " +
                "   AND i.type = 2 " +
                "   AND i.type = 2 " +
@ -1925,7 +1925,7 @@ public class DoctorSchemeService {
                "    i. USER, " +
                "    i. USER, " +
                "    COUNT(1) AS total " +
                "    COUNT(1) AS total " +
                "   FROM " +
                "   FROM " +
                "    device.wlyy_patient_health_index i " +
                "    wlyy_patient_health_index i " +
                "   WHERE " +
                "   WHERE " +
                "    i.del = '1' " +
                "    i.del = '1' " +
                "   AND i.type = 2 " +
                "   AND i.type = 2 " +
@ -1959,7 +1959,7 @@ public class DoctorSchemeService {
                "    i. USER, " +
                "    i. USER, " +
                "    COUNT(1) AS total " +
                "    COUNT(1) AS total " +
                "   FROM " +
                "   FROM " +
                "    device.wlyy_patient_health_index i " +
                "    wlyy_patient_health_index i " +
                "   WHERE " +
                "   WHERE " +
                "    i.del = '1' " +
                "    i.del = '1' " +
                "   AND i.type = 2 " +
                "   AND i.type = 2 " +
@ -2191,9 +2191,9 @@ public class DoctorSchemeService {
        HashMap<String, Object> map = new HashMap<>();
        HashMap<String, Object> map = new HashMap<>();
        map.put("gxy_yj", count1);// 高血压预警
        map.put("gxy_yj", count1);// 高血压预警
        map.put("gxy", count2);// 高血压预警
        map.put("tnb_yj", count3);// 高血压预警
        map.put("tnb", count4);// 高血压预警
        map.put("gxy", count2);// 高血压
        map.put("tnb_yj", count3);// 糖尿病预警
        map.put("tnb", count4);// 糖尿病
        return map;
        return map;
    }
    }
@ -2201,7 +2201,7 @@ public class DoctorSchemeService {
     * labelType 1高血压 2糖尿病
     * labelType 1高血压 2糖尿病
     */
     */
    public List<Map<String, Object>> getLabelDetail(String doctorId, String labelType, String searchContent, int page, int pageSize) {
    public List<Map<String, Object>> getLabelDetail(String doctorId, String labelType, String searchContent, int page, int pageSize) {
        String sql = "SELECTDISTINCT a.id,a.`name`,a.idcard,a.mobile,a.ssc, TIMESTAMPDIFF(YEAR, a.birthday, CURDATE()) AS age ,a.sex \n" +
        String sql = "SELECT DISTINCT a.id,a.`name`,a.idcard,a.mobile,a.ssc, TIMESTAMPDIFF(YEAR, a.birthday, CURDATE()) AS age ,a.sex \n" +
                "FROM base_patient a \n" +
                "FROM base_patient a \n" +
                "INNER JOIN base_patient_doctor_relation b ON a.id=b.patient_id\n" +
                "INNER JOIN base_patient_doctor_relation b ON a.id=b.patient_id\n" +
                "WHERE 1=1\n" +
                "WHERE 1=1\n" +

+ 53 - 51
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)
    @RequestMapping(value = "/add", method = RequestMethod.POST)
    @ApiOperation(value = "添加指导模板")
    @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 {
        try {
            if (StringUtils.isEmpty(content)) {
            if (StringUtils.isEmpty(content)) {
                return error(-1, "内容不能为空");
                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) {
            if (templates != null && templates.size() != 0) {
                return error(-1, "模板名称与现有模板重复,请修改");
                return error(-1, "模板名称与现有模板重复,请修改");
            }
            }
            DoctorGuidanceTemp temp = guidanceTempService.add(getUID(), content, modelName, imagesUrl);
            DoctorGuidanceTemp temp = guidanceTempService.add(doctorCode, content, modelName, imagesUrl,articleCode);
            if (temp != null) {
            if (temp != null) {
                return write(200, "添加成功","modelCode",temp.getCode());
                return write(200, "添加成功", "modelCode", temp.getCode());
            } else {
            } else {
                return write(-1, "添加失败");
                return write(-1, "添加失败");
            }
            }
@ -94,11 +101,12 @@ public class DoctorGuidanceTempController extends BaseController {
     */
     */
    @RequestMapping(value = "/modify", method = RequestMethod.POST)
    @RequestMapping(value = "/modify", method = RequestMethod.POST)
    @ApiOperation(value = "修改指导模板")
    @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 {
        try {
            if (StringUtils.isEmpty(code)) {
            if (StringUtils.isEmpty(code)) {
@ -109,11 +117,14 @@ public class DoctorGuidanceTempController extends BaseController {
                return error(-1, "内容不能为空");
                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) {
            for (DoctorGuidanceTemp teamplate : templates) {
                if (!code.equals(teamplate.getCode())) {
                if (!code.equals(teamplate.getCode())) {
@ -143,13 +154,11 @@ public class DoctorGuidanceTempController extends BaseController {
     */
     */
    @RequestMapping(value = "/delete", method = RequestMethod.POST)
    @RequestMapping(value = "/delete", method = RequestMethod.POST)
    @ApiOperation(value = "删除指导模板")
    @ApiOperation(value = "删除指导模板")
   
    public String delete(@RequestParam @ApiParam(value = "指导编码") String code) {
    public String delete(@RequestParam @ApiParam(value = "指导编码") String code) {
        try {
        try {
            if (StringUtils.isEmpty(code)) {
            if (StringUtils.isEmpty(code)) {
                return error(-1, "请指定需删除的模板");
                return error(-1, "请指定需删除的模板");
            }
            }
            int result = guidanceTempService.delete(code);
            int result = guidanceTempService.delete(code);
            if (result == 1) {
            if (result == 1) {
@ -163,30 +172,22 @@ public class DoctorGuidanceTempController extends BaseController {
        }
        }
    }
    }
    /**
    /**
     * 查询指导模板
     * 查询指导模板
     *
     * @return
     */
     */
    @RequestMapping(value = "/list", method = RequestMethod.GET)
    @RequestMapping(value = "/list", method = RequestMethod.GET)
    @ApiOperation(value = "查询指导模板")
    @ApiOperation(value = "查询指导模板")
    public String list(
    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 {
        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, Integer.parseInt(pageSize), Integer.parseInt(pageNo));
            return write(200, "查询成功", "data", result);
        } catch (Exception e) {
        } catch (Exception e) {
            e.printStackTrace();
            e.printStackTrace();
            return error(-1, "查询失败");
            return error(-1, "查询失败");
@ -196,30 +197,31 @@ public class DoctorGuidanceTempController extends BaseController {
    /**
    /**
     * 根据模板类型、文章标题模糊搜索指导模板
     * 根据模板类型、文章标题模糊搜索指导模板
     * (自定义即个人模板)
     * (自定义即个人模板)
     * @param filter  搜索关键字
     * @param type  模板类型
     * @param type  teamId
     *
     * @param filter   搜索关键字
     * @param type     模板类型
     * @param type     teamId
     * @param pageSize 页展示数量
     * @param pageSize 页展示数量
     * @param pageNo  当前页码
     * @param pageNo   当前页码
     * @return
     * @return
     */
     */
    @RequestMapping(value = "/search", method = RequestMethod.GET)
    @RequestMapping(value = "/search", method = RequestMethod.GET)
    @ApiOperation(value = "模糊搜索指导模板")
    @ApiOperation(value = "模糊搜索指导模板")
    public String searchByTitle(
    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 {
        try {
            int pagesize = Integer.parseInt(pageSize);
            int pagesize = Integer.parseInt(pageSize);
            int pageno = Integer.parseInt(pageNo) - 1;
            int pageno = Integer.parseInt(pageNo) - 1;
            List<Map<String, Object>> temps = null;
            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, "模板类型不能为空!");
                return error(-1, "模板类型不能为空!");
            }
            }
            if (temps == null || temps.size() < 1) {
            if (temps == null || temps.size() < 1) {

+ 41 - 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;
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.DoctorGuidanceTemp;
import com.yihu.jw.entity.template.DoctorTeamGuidanceTemplate;
import com.yihu.jw.entity.template.DoctorTeamGuidanceTemplate;
import com.yihu.jw.hospital.module.template.dao.DoctorGuidanceTempDao;
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.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.PageRequest;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.annotation.Transactional;
@ -25,7 +27,7 @@ import java.util.*;
 */
 */
@Service
@Service
@Transactional
@Transactional
public class DoctorGuidanceTempService  {
public class DoctorGuidanceTempService {
    @Autowired
    @Autowired
    DoctorGuidanceTempDao guidanceTempDao;
    DoctorGuidanceTempDao guidanceTempDao;
@ -36,6 +38,7 @@ public class DoctorGuidanceTempService  {
    @Autowired
    @Autowired
    private CommonUtil CommonUtil;
    private CommonUtil CommonUtil;
    /**
    /**
     * 记录医生健康指导模板使用次数
     * 记录医生健康指导模板使用次数
     *
     *
@ -90,12 +93,17 @@ public class DoctorGuidanceTempService  {
     * @param content 指导内容
     * @param content 指导内容
     * @return
     * @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();
        DoctorGuidanceTemp guidanceTemp = new DoctorGuidanceTemp();
        String imageUrls = "";
        String imageUrls = "";
        String imageRow = "";
        String imageRow = "";
        guidanceTemp.setCode(getCode());
        if (StringUtils.isNotBlank(articleCode)) {
            guidanceTemp.setCode(getCode());
        } else {
            guidanceTemp.setCode(getCode());
        }
        guidanceTemp.setOwner(doctor);
        guidanceTemp.setOwner(doctor);
        guidanceTemp.setContent(content);
        guidanceTemp.setContent(content);
        guidanceTemp.setSendTimes(0);
        guidanceTemp.setSendTimes(0);
@ -182,66 +190,49 @@ public class DoctorGuidanceTempService  {
     * 查询指导模板
     * 查询指导模板
     *
     *
     * @param doctor 医生
     * @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.send_times ,b.* ";
        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";
        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 a.create_time desc  \n";
        }
        }
        return listMap;
        String limitSql = " limit "+(pageNo-1)*pageSize+","+pageSize ;
        detailSql += sql + limitSql;
        countSql += sql;
        List<Map<String, Object>> list = jdbcTemplate.queryForList(detailSql);
        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 pageSize
     * @param pageNo
     * @param pageNo
     * @return
     * @return
     * @throws Exception
     * @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);
        PageRequest pageRequest = PageRequest.of(pageNo, pageSize);
        List<Map<String, Object>> listMap = new ArrayList<>();
        List<Map<String, Object>> listMap = new ArrayList<>();
        if ("1".equals(type)) {
        if ("1".equals(type)) {
            Page<DoctorGuidanceTemp> temps = guidanceTempDao.listByTileSystem("%"+filter+"%", pageRequest);
            Page<DoctorGuidanceTemp> temps = guidanceTempDao.listByTileSystem("%" + filter + "%", pageRequest);
            List<DoctorGuidanceTemp> list = temps.getContent();
            List<DoctorGuidanceTemp> list = temps.getContent();
            for (int i = 0; i < list.size(); i++) {
            for (int i = 0; i < list.size(); i++) {
@ -255,7 +246,7 @@ public class DoctorGuidanceTempService  {
                listMap.add(tem);
                listMap.add(tem);
            }
            }
        } else if ("2".equals(type)) {
        } else if ("2".equals(type)) {
            Page<DoctorGuidanceTemp> temps = guidanceTempDao.listByTile("%"+filter+"%", pageRequest);
            Page<DoctorGuidanceTemp> temps = guidanceTempDao.listByTile("%" + filter + "%", pageRequest);
            List<DoctorGuidanceTemp> list = temps.getContent();
            List<DoctorGuidanceTemp> list = temps.getContent();
            for (int i = 0; i < list.size(); i++) {
            for (int i = 0; i < list.size(); i++) {
@ -268,8 +259,8 @@ public class DoctorGuidanceTempService  {
                tem.put("modelName", dgt.getModelName());
                tem.put("modelName", dgt.getModelName());
                listMap.add(tem);
                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();
            List<DoctorTeamGuidanceTemplate> list = temps.getContent();
            for (int i = 0; i < list.size(); i++) {
            for (int i = 0; i < list.size(); i++) {
@ -291,6 +282,7 @@ public class DoctorGuidanceTempService  {
    /**
    /**
     * 根据code获取详情
     * 根据code获取详情
     *
     * @param code
     * @param code
     * @return
     * @return
     */
     */