Browse Source

集美宣教代码提交

liuwenbin 7 years ago
parent
commit
97171d2036

+ 19 - 0
common/common-entity/src/main/java/com/yihu/es/entity/HealthEduArticlePatient.java

@ -56,6 +56,8 @@ public class HealthEduArticlePatient {
    private String operatorId;//文章作者Id
    private List<RoleVo> roleList;//发送者角色
    private String leaveWords;//医生留言
    private String currentUserRoleCode;//当前登录的角色code
    private String currentUserRoleLevel;//当前登录的角色级别
    public String getId() {
        return id;
@ -337,4 +339,21 @@ public class HealthEduArticlePatient {
    public void setLeaveWords(String leaveWords) {
        this.leaveWords = leaveWords;
    }
    public String getCurrentUserRoleCode() {
        return currentUserRoleCode;
    }
    public void setCurrentUserRoleCode(String currentUserRoleCode) {
        this.currentUserRoleCode = currentUserRoleCode;
    }
    public String getCurrentUserRoleLevel() {
        return currentUserRoleLevel;
    }
    public void setCurrentUserRoleLevel(String currentUserRoleLevel) {
        this.currentUserRoleLevel = currentUserRoleLevel;
    }
}

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/common/account/RoleService.java

@ -182,7 +182,7 @@ public class RoleService extends TokenService {
                return 3;
            }
        }else{
            return 3;
            return 4;
        }
    }
}

+ 196 - 119
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/jimeiJkEdu/JMJkEduArticleService.java

@ -76,7 +76,7 @@ public class JMJkEduArticleService extends BaseService {
     * @return
     * @throws Exception
     */
    public List<HealthEduArticlePatientModel> pushArticleList(int page, int pagesize, String sendCode,  String firstLevelCategoryId,Integer myArticle,Integer sendType) throws Exception {
    public List<HealthEduArticlePatientModel> pushArticleList(int page, int pagesize, String sendCode,  String firstLevelCategoryId,Integer myArticle,Integer sendType,String currentUserRole, String currentUserRoleLevel) throws Exception {
        pagesize = page * pagesize;
        page = (page - 1) * pagesize;
//        if(loginType==2){
@ -99,6 +99,9 @@ public class JMJkEduArticleService extends BaseService {
        if(myArticle==1){
            sql2.append("and operatorId="+sendCode);
        }
        sql2.append("and currentUserRole="+currentUserRole);
        sql2.append("and currentUserRoleLevel="+currentUserRoleLevel);
        sql2.append("  order by createTime limit " + page + "," + pagesize);
        List<com.yihu.es.entity.HealthEduArticlePatient> esList = elasticsearchUtil.excute(sql2.toString(), com.yihu.es.entity.HealthEduArticlePatient.class, esIndex, esType);
        Map<String, HealthEduArticlePatientModel> result = new HashMap<>();
@ -204,8 +207,120 @@ public class JMJkEduArticleService extends BaseService {
//        }
//    }
//    /**
//     * 保存发送信息
//     *
//     * @param patientSet  患者set集和
//     * @param sendCode    发送人code、
//     * @param sendMessage 发送人携带的信息
//     * @param teamId      发送人所属团队
//     * @param articleId   文章列表
//     */
//    @Transactional
//    public HealthEduArticlePatient saveArticle(Set<String> patientSet,
//                                                  String sendCode,
////                                                  String sendName,
//                                                  Integer sendType,
//                                                  String sendMessage,
//                                                  Long teamId,
//                                                  String articleId,
//                                                  String leaveWords) throws Exception {
//
//
//        String batchNo = UUID.randomUUID().toString();
//        List<Patient> patientList = new ArrayList<>();
//
//        for (String patient : patientSet) {
//            patientList.add(new Patient(patient));
//        }
//        HealthEduArticlePatient healthEduArticlePatient = new HealthEduArticlePatient();
//        //1、医生,2、卫计委(管理员)
//        //如果是卫计委得区别角色
//        Doctor doctor = doctorDao.findByCode(sendCode);
//        String sendName = doctor.getName();
//        //管理员
//        Map<String,Object> resultMap = labelService.fetchUserHighestAuthority(sendCode);
//        Integer level = (Integer)resultMap.get("level");
//        List<String> roleList = (List<String>)resultMap.get("roleList");
//        if(doctor.getLevel()==10&&sendType==2){
//            String resultSql ="";
//            String whereSql ="";
//            String temp = "";
//            for(String one :roleList){
//                temp+=",'"+one+"'";
//            }
//            if(!StringUtils.isEmpty(temp)){
//                temp=temp.substring(1);
//            }
//            switch (level){
//                case 1:{resultSql +=" DISTINCT (province_name) as name";
//                    whereSql+=" and province in ("+temp+")";break;}
//                case 2:{resultSql +=" DISTINCT (city_name) as name";
//                    whereSql+=" and city in ("+temp+")";break;}
//                case 3:{resultSql +=" DISTINCT (town_name) as name";
//                    whereSql+=" and town in ("+temp+")";break;}
//                case 4:{resultSql +=" DISTINCT (name) as name";
//                    whereSql+=" and code in ("+temp+")";break;}
//
//            }
//            String sql = "select "+resultSql+" from dm_hospital  where level=2 "+whereSql ;
//            List<Map<String, Object>> returnList = jdbcTemplate.queryForList(sql);
//            temp = "";
//            for(Map<String, Object> one :returnList){
//                temp +=","+one.get("name");
//            }
//            sendName = StringUtils.isEmpty(temp)?"":temp.substring(1);
//        }
//        List<RoleVo> roleVoLists= new ArrayList<>();
//        for(String one:roleList){
//            RoleVo roleVo = new RoleVo();
//            roleVo.setCode(one);
//            roleVoLists.add(roleVo);
//        }
//        healthEduArticlePatient.setRoleList(roleVoLists);
//        healthEduArticlePatient.setDoctorCode(sendCode);
//        healthEduArticlePatient.setSendName(sendName);
//        healthEduArticlePatient.setSendType(2);
//        healthEduArticlePatient.setAdminTeamCode(teamId);
//        healthEduArticlePatient.setLeaveWords(leaveWords);
//        if (doctor != null) {
//            healthEduArticlePatient.setDoctorName(doctor.getName());
//            healthEduArticlePatient.setHospital(doctor.getHospital());
//            healthEduArticlePatient.setHospitalName(doctor.getHospitalName());
//            healthEduArticlePatient.setTown(doctor.getTown());
//            healthEduArticlePatient.setTownName(doctor.getTownName());
//            healthEduArticlePatient.setSendLevel(doctor.getLevel() != null ? String.valueOf(doctor.getLevel()) : "");
//            healthEduArticlePatient.setSendPic(doctor.getPhoto());
//            healthEduArticlePatient.setSendSex(doctor.getSex() != null ? String.valueOf(doctor.getSex()) : "");
//        }
//        healthEduArticlePatient.setBatchNo(batchNo);
//        healthEduArticlePatient.setCreateTime(new Date());
//
//
//        //通过文章id 获取文章详情
//        JSONObject article = thirdJkEduArticleService.getArticalById(articleId,"");
//
//        healthEduArticlePatient.setArticleId(article.get("articleId") + "");
//        healthEduArticlePatient.setAttachedTitle(article.get("articleTitle") + "");
//        healthEduArticlePatient.setAttachedPic(article.get("articleCover") + "");
//        healthEduArticlePatient.setAttachedContent(article.get("articleContent") + "");
//        healthEduArticlePatient.setAttachedMessage(sendMessage);
//        healthEduArticlePatient.setArticleType(article.get("articleType") + "");
//        healthEduArticlePatient.setLevel(article.get("articlelevel") + "");
//        healthEduArticlePatient.setLevel1Type(article.get("firstLevelCategoryId") + "");
//        healthEduArticlePatient.setLevel2Type(article.get("secondLevelCategoryId") + "");
//        healthEduArticlePatient.setType("1");//文章
////        healthEduArticlePatient.setArticleUrl(articleBaseUrl+"JkEduWeb/web/jkEdu/articleDetail.html?behavior=4&articleId="+articleId+"&userId="+);
//        healthEduArticlePatient.setPatients(patientList);
//
//        //保存到ES中
//        elastricSearchSave.save(healthEduArticlePatient, esIndex, esType);
//        return healthEduArticlePatient;
//    }
    /**
     * 保存发送信息
     * 保存PC端发送信息
     *
     * @param patientSet  患者set集和
     * @param sendCode    发送人code、
@ -214,14 +329,16 @@ public class JMJkEduArticleService extends BaseService {
     * @param articleId   文章列表
     */
    @Transactional
    public HealthEduArticlePatient saveArticle(Set<String> patientSet,
                                                  String sendCode,
    public HealthEduArticlePatient savePCPushArticle(Set<String> patientSet,
                                                     String sendCode,
//                                                  String sendName,
                                                  Integer sendType,
                                                  String sendMessage,
                                                  Long teamId,
                                                  String articleId,
                                                  String leaveWords) throws Exception {
                                                     Integer sendType,
                                                     String sendMessage,
                                                     Long teamId,
                                                     String articleId,
                                                     String leaveWords,
                                                     String currentUserRoleCode,
                                                     String currentUserRoleLevel) throws Exception {
        String batchNo = UUID.randomUUID().toString();
@ -231,53 +348,45 @@ public class JMJkEduArticleService extends BaseService {
            patientList.add(new Patient(patient));
        }
        HealthEduArticlePatient healthEduArticlePatient = new HealthEduArticlePatient();
        //1、医生,2、卫计委(管理员)
        //如果是卫计委得区别角色
        Doctor doctor = doctorDao.findByCode(sendCode);
        String sendName = doctor.getName();
        //管理员
        Map<String,Object> resultMap = labelService.fetchUserHighestAuthority(sendCode);
        Integer level = (Integer)resultMap.get("level");
        List<String> roleList = (List<String>)resultMap.get("roleList");
        if(doctor.getLevel()==10&&sendType==2){
        //1、普通医生,2、管理员
        if(sendType==2){
            String resultSql ="";
            String whereSql ="";
            String temp = "";
            for(String one :roleList){
                temp+=",'"+one+"'";
            }
            if(!StringUtils.isEmpty(temp)){
                temp=temp.substring(1);
            }
            switch (level){
                case 1:{resultSql +=" DISTINCT (province_name) as name";
                    whereSql+=" and province in ("+temp+")";break;}
                case 2:{resultSql +=" DISTINCT (city_name) as name";
                    whereSql+=" and city in ("+temp+")";break;}
                case 3:{resultSql +=" DISTINCT (town_name) as name";
                    whereSql+=" and town in ("+temp+")";break;}
                case 4:{resultSql +=" DISTINCT (name) as name";
                    whereSql+=" and code in ("+temp+")";break;}
            switch (currentUserRoleLevel){
                case "1":{resultSql +=" DISTINCT (province_name) as name";
                    whereSql+=" and province ='"+currentUserRoleCode+"'";break;}
                case "2":{resultSql +=" DISTINCT (city_name) as name";
                    whereSql+=" and city ='"+currentUserRoleCode+"'";break;}
                case "3":{resultSql +=" DISTINCT (town_name) as name";
                    whereSql+=" and town ='"+currentUserRoleCode+"'";break;}
                case "4":{resultSql +=" DISTINCT (name) as name";
                    whereSql+=" and code ='"+currentUserRoleCode+"'";break;}
            }
            String sql = "select "+resultSql+" from dm_hospital  where level=2 "+whereSql ;
            List<Map<String, Object>> returnList = jdbcTemplate.queryForList(sql);
            temp = "";
            for(Map<String, Object> one :returnList){
                temp +=","+one.get("name");
            sendName = returnList.get(0).get("name")+"";
            Map<String,Object> resultMap = labelService.fetchUserHighestAuthority(sendCode);
            List<String> roleList = (List<String>)resultMap.get("roleList");
            List<RoleVo> roleVoLists= new ArrayList<>();
            for(String one:roleList){
                RoleVo roleVo = new RoleVo();
                roleVo.setCode(one);
                roleVoLists.add(roleVo);
            }
            sendName = StringUtils.isEmpty(temp)?"":temp.substring(1);
        }
        List<RoleVo> roleVoLists= new ArrayList<>();
        for(String one:roleList){
            RoleVo roleVo = new RoleVo();
            roleVo.setCode(one);
            roleVoLists.add(roleVo);
            healthEduArticlePatient.setRoleList(roleVoLists);
            healthEduArticlePatient.setCurrentUserRoleCode(currentUserRoleCode);
            healthEduArticlePatient.setCurrentUserRoleLevel(currentUserRoleLevel);
        }else{
            healthEduArticlePatient.setCurrentUserRoleCode(doctor.getHospital());
            healthEduArticlePatient.setCurrentUserRoleLevel("4");
        }
        healthEduArticlePatient.setRoleList(roleVoLists);
        healthEduArticlePatient.setSendType(sendType);
        healthEduArticlePatient.setDoctorCode(sendCode);
        healthEduArticlePatient.setSendName(sendName);
        healthEduArticlePatient.setSendType(2);
        healthEduArticlePatient.setAdminTeamCode(teamId);
        healthEduArticlePatient.setLeaveWords(leaveWords);
        if (doctor != null) {
@ -314,63 +423,10 @@ public class JMJkEduArticleService extends BaseService {
        elastricSearchSave.save(healthEduArticlePatient, esIndex, esType);
        return healthEduArticlePatient;
    }
//    public Map<String, Object> getUnitLabels(String userId) {
//        String sql2 = "select r.code as roleCode from wlyy_user_role u " +
//                "left join wlyy_role r on r.`code`=u.role where u.user='" + userId + "'";
//        List<Map<String, Object>> resultMap = jdbcTemplate.queryForList(sql2);
//        String whereSql = "";
//        String role = fetchUserHighestAuthority(resultMap);
//        String resultSql = "";
//        if(role.length()==6){
//
//            if("00".equals(role.substring(4))){
//                resultSql +=" DISTINCT (city_name) as name";
//                whereSql+=" and city = '"+role+"'";
//            }else{
//                resultSql +=" DISTINCT (town_name) as name";
//                whereSql+=" and town = '"+role+"'";
//            }
//        }else{
//            resultSql +=" DISTINCT (name) as name ";
//            whereSql+=" and code = '"+role+"'";
//        }
//
//        String sql = "select "+resultSql+" from dm_hospital  where level=2 "+whereSql ;
//        List<Map<String, Object>> returnList = jdbcTemplate.queryForList(sql);
//
//        return returnList.get(0);
//    }
//    /**
//     * 获取用户的最高角色权限
//     * @param resultMap
//     * @return
//     */
//    public String fetchUserHighestAuthority(List<Map<String, Object>> resultMap){
//        String result = "";
//        String role = "";
//        for(Map<String, Object> one:resultMap){
//            role = one.get("roleCode").toString();
//            if(role.length()==6){
//                if("00".equals(role.substring(4))){//市级
//                    return role;
//                }else {
//                    result = role;
//                }
//            }else{
//                if(StringUtils.isEmpty(result)||result.length()>6){
//                    result = role;
//                }
//            }
//        }
//        return result;
//    }
    public JSONObject pushArticleConfirm(String articleId, String labelUnit, String labelSex, String labelServe, String labelDisease, String labelHealth,String userCode) throws Exception {
    public JSONObject pushArticleConfirm(String articleId, String labelUnit, String labelSex, String labelServe, String labelDisease, String labelHealth,String userCode,String currentUserRole, String currentUserRoleLevel) throws Exception {
        JSONObject article = thirdJkEduArticleService.getArticalById(articleId,"");
        Set<String> patientSet = new HashSet<>();
        initPatient(patientSet, labelUnit, labelSex, labelServe, labelDisease, labelHealth,userCode);
        initPatient(patientSet, labelUnit, labelSex, labelServe, labelDisease, labelHealth,userCode,currentUserRole,currentUserRoleLevel);
        long num = patientSet.size();
        JSONObject result = new JSONObject();
        result.put("num", num);
@ -388,7 +444,7 @@ public class JMJkEduArticleService extends BaseService {
     * @param labelHealth
     * @param userCode
     */
    public void initPatient(Set<String> patientSet, String labelUnit, String labelSex, String labelServe, String labelDisease, String labelHealth,String userCode) {
    public void initPatient(Set<String> patientSet, String labelUnit, String labelSex, String labelServe, String labelDisease, String labelHealth,String userCode,String currentUserRole, String currentUserRoleLevel) {
        //全选的时候前端传0,后台要去数据库再查询一次
//        if ("0".equals(labelUnit)) {
//            //查找全部的下属单位
@ -427,21 +483,37 @@ public class JMJkEduArticleService extends BaseService {
        //通过登录的角色区域权限 限制所属患者条件
        Map<String,Object> resultLevel = labelService.fetchUserHighestAuthority(userCode);
        List<String> list =  (List<String>)resultLevel.get("roleList");
        Integer level = (Integer)resultLevel.get("level");
        StringBuilder role = new StringBuilder();
        for(String one :list){
            role.append(",'"+one+"'");
        }
        String roleSql = !StringUtils.isEmpty(role+"")?role.substring(1):"";
        if(StringUtils.isEmpty(roleSql)){
            switch (level){
                case 1:{whereSql+=" and h.province in ("+role+")" ;break;}
                case 2:{whereSql+=" and h.city in ("+role+")" ;break;}
                case 3:{whereSql+=" and h.town in ("+role+")" ;break;}
                case 4:{whereSql+=" and h.code in ("+role+")" ;break;}
//        Map<String,Object> resultLevel = labelService.fetchUserHighestAuthority(userCode);
//        List<String> list =  (List<String>)resultLevel.get("roleList");
//        Integer level = (Integer)resultLevel.get("level");
//        StringBuilder role = new StringBuilder();
//        for(String one :list){
//            role.append(",'"+one+"'");
//        }
//        String roleSql = !StringUtils.isEmpty(role+"")?role.substring(1):"";
//        if(StringUtils.isEmpty(roleSql)){
//
//            switch (level){
//                case 1:{whereSql+=" and h.province in ("+role+")" ;break;}
//                case 2:{whereSql+=" and h.city in ("+role+")" ;break;}
//                case 3:{whereSql+=" and h.town in ("+role+")" ;break;}
//                case 4:{whereSql+=" and h.code in ("+role+")" ;break;}
//            }
//
//        }
        if(!StringUtils.isEmpty(labelUnit)){
            switch (currentUserRoleLevel){
                case "1":{whereSql+=" and h.city in ("+labelUnit+")" ;break;}
                case "2":{whereSql+=" and h.town in ("+labelUnit+")" ;break;}
                case "3":{whereSql+=" and h.code in ("+labelUnit+")" ;break;}
            }
        }else{
            switch (currentUserRoleLevel){
                case "1":{whereSql+=" and h.province = '"+currentUserRole+"'" ;break;}
                case "2":{whereSql+=" and h.city = '"+currentUserRole+"'" ;break;}
                case "3":{whereSql+=" and h.town = '"+currentUserRole+"'" ;break;}
                case "4":return;
            }
        }
@ -846,7 +918,7 @@ public class JMJkEduArticleService extends BaseService {
     * @throws Exception
     */
    public JSONObject queryArticlePcList(String firstLevelCategoryId, String secondLevelCategoryId, String insertTimeStart, String insertTimeEnd, String articlelevel, String articleTitle,
                                          String userCode, String currentUserRole, String currentUserRoleLevel, String isAuthentication, Boolean isMyArticle, Integer page, Integer pageSize,Integer sEcho) throws Exception{
                                          String userCode, String currentUserRole, String currentUserRoleLevel, String isAuthentication, Boolean isMyArticle, Integer page, Integer pageSize,Integer sEcho,Integer roleType) throws Exception{
//        Doctor doctor = doctorDao.findByCode(userCode);
//        boolean isManage = false;
//        if(doctor.getLevel()==10){
@ -856,7 +928,7 @@ public class JMJkEduArticleService extends BaseService {
//            userCode = null;
//        }
        return thirdJkEduArticleService.queryArticlePcList(firstLevelCategoryId,secondLevelCategoryId,insertTimeStart,insertTimeEnd,articlelevel,isMyArticle,
                articleTitle,userCode,isAuthentication,currentUserRole,currentUserRoleLevel,page,pageSize,sEcho);
                articleTitle,userCode,isAuthentication,currentUserRole,currentUserRoleLevel,page,pageSize,sEcho,roleType);
    }
    /**
@ -893,7 +965,10 @@ public class JMJkEduArticleService extends BaseService {
     */
    public void saveOrUpdateArticleQR(String currentRoleLevel,String currentRoleCode,Integer position,String imgUrl,String userCode,Integer id) throws Exception{
//        thirdJkEduArticleService.getArticleQRCode(currentRoleLevel,currentRoleCode);
        imgUrl = commonUtil.copyTempImage(imgUrl);
//        if(StringUtils.isEmpty()){
//
//        }
//        imgUrl = commonUtil.copyTempImage(imgUrl);
        Doctor doctor = doctorDao.findByCode(userCode);
        String userName = doctor.getName();
        String orgId = doctor.getHospital();
@ -913,4 +988,6 @@ public class JMJkEduArticleService extends BaseService {
            thirdJkEduArticleService.authenticationArticle(one,isAuthentication,firstLevelCategoryId,firstLevelCategoryName,secondLevelCategoryId,secondLevelCategoryName);
        }
    }
}

+ 2 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/third/jkEduArticle/ThirdJkEduArticleService.java

@ -444,7 +444,7 @@ public class ThirdJkEduArticleService extends BaseService {
     * @throws Exception
     */
    public JSONObject queryArticlePcList(String firstLevelCategoryId,String secondLevelCategoryId,String insertTimeStart,String insertTimeEnd,String articlelevel,Boolean isMyArticle,
                                        String articleTitle,String userCode,String isAuthentication,String currentUserRole,String currentUserRoleLevel,Integer page,Integer pageSize,Integer sEcho) throws Exception {
                                        String articleTitle,String userCode,String isAuthentication,String currentUserRole,String currentUserRoleLevel,Integer page,Integer pageSize,Integer sEcho,Integer roleType) throws Exception {
        String response = "";
        JSONObject json = null;
@ -464,6 +464,7 @@ public class ThirdJkEduArticleService extends BaseService {
            param.put("pageSize", pageSize+"");
            param.put("sEcho", sEcho);
            param.put("isMyArticle", isMyArticle);
            param.put("roleType", roleType);
            response = httpClientUtil.httpPost(articleBaseUrl+"/WsPlatform/rest", getParamsMap(queryArticlePcList, param.toString(), "1"));
            json = JSON.parseObject(response);
        } catch (Exception e) {

+ 37 - 12
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/jimeiJkEdu/DoctorJMJkEduArticleController.java

@ -88,9 +88,17 @@ public class DoctorJMJkEduArticleController extends BaseController {
            @ApiParam(name = "myArticle", value = "我的文章 1选中0未选", required = false) @RequestParam(value = "myArticle", required = false,defaultValue = "0") Integer myArticle,
            @ApiParam(name = "sendType", value = "1医生 2卫计委(管理员)", required = true) @RequestParam(value = "sendType", required = true) Integer sendType,
            @ApiParam(name = "page", value = "当前页 起始1", required = true) @RequestParam(value = "page", required = true) Integer page,
            @ApiParam(name = "pagesize", value = "每页显示条数", required = true) @RequestParam(value = "pagesize", required = true) Integer pagesize) {
            @ApiParam(name = "pagesize", value = "每页显示条数", required = true) @RequestParam(value = "pagesize", required = true) Integer pagesize,
            @ApiParam(name = "currentRoleCode", value = "当前登录的角色code", required = false) @RequestParam(value = "currentRoleCode", required = false) String currentRoleCode,
            @ApiParam(name = "currentRoleLevel", value = "当前登录的角色级别", required = false) @RequestParam(value = "currentRoleLevel", required = false) String currentRoleLevel) {
        try {
            List<HealthEduArticlePatientModel> eduArticlePatients = jmJkEduArticleService.pushArticleList(page,pagesize,getUID(),firstLevelCategoryId,myArticle,sendType);
            if(!StringUtils.isNotEmpty(currentRoleCode)){
                currentRoleCode = getCurrentRoleCode();
            }
            if(!StringUtils.isNotEmpty(currentRoleLevel)){
                currentRoleLevel = getCurrentRoleLevel();
            }
            List<HealthEduArticlePatientModel> eduArticlePatients = jmJkEduArticleService.pushArticleList(page,pagesize,getUID(),firstLevelCategoryId,myArticle,sendType,currentRoleCode,currentRoleLevel);
//            Long count = jmJkEduArticleService.pushArticleListCount(getUID(),2);
            return new ResultPageListModel(
                    page,
@ -113,16 +121,24 @@ public class DoctorJMJkEduArticleController extends BaseController {
            @ApiParam(name = "labelDiseaseType", value = "标签类型  4:疾病类型,多个用逗号分隔", required = false) @RequestParam(value = "labelDiseaseType", required = false, defaultValue = "") String labelDiseaseType,
            @ApiParam(name = "labelHealthType", value = "标签类型  5:健康情况,多个用逗号分隔", required = false) @RequestParam(value = "labelHealthType", required = false, defaultValue = "") String labelHealthType,
            @ApiParam(name = "articleId", value = "文章ID", required = true) @RequestParam(value = "articleId", required = true) String articleId,
            @ApiParam(name = "leaveWords", value = "医生留言", required = false) @RequestParam(value = "leaveWords", required = false) String leaveWords
            @ApiParam(name = "leaveWords", value = "医生留言", required = false) @RequestParam(value = "leaveWords", required = false) String leaveWords,
            @ApiParam(name = "currentRoleCode", value = "当前登录的角色code", required = false) @RequestParam(value = "currentRoleCode", required = false) String currentRoleCode,
            @ApiParam(name = "currentRoleLevel", value = "当前登录的角色级别", required = false) @RequestParam(value = "currentRoleLevel", required = false) String currentRoleLevel
    ){
        try {
            Set<String> patientSet = new HashSet<>(); //放入set中可以去重复
            //得到需要发送的患者
            jmJkEduArticleService.initPatient(patientSet,labelUnitType,labelSexType,labelServeType,labelDiseaseType,labelHealthType,getUID());
            if(!StringUtils.isNotEmpty(currentRoleCode)){
                currentRoleCode = getCurrentRoleCode();
            }
            if(!StringUtils.isNotEmpty(currentRoleLevel)){
                currentRoleLevel = getCurrentRoleLevel();
            }
            jmJkEduArticleService.initPatient(patientSet,labelUnitType,labelSexType,labelServeType,labelDiseaseType,labelHealthType,getUID(),currentRoleCode,currentRoleLevel);
//            patientSet.add(patientService.findByCode("wjw00000001000e6badcfa163e424525"));
            //获取保存发送记录
            HealthEduArticlePatient healthEduArticlePatient = jmJkEduArticleService.saveArticle(patientSet, getUID(), 2,"", 0L, articleId,leaveWords);
            HealthEduArticlePatient healthEduArticlePatient = jmJkEduArticleService.savePCPushArticle(patientSet, getUID(), 2,"", 0L, articleId,leaveWords,getCurrentRoleCode(),getCurrentRoleLevel());
            //推送微信模板消息和发送im消息
            new Thread(() -> {
                //发送任务到redis
@ -144,10 +160,17 @@ public class DoctorJMJkEduArticleController extends BaseController {
                                     @ApiParam(name = "labelServeType", value = "标签类型  3:服务类型,多个用逗号分隔", required = false) @RequestParam(value = "labelServeType", required = false, defaultValue = "") String labelServeType,
                                     @ApiParam(name = "labelDiseaseType", value = "标签类型  4:疾病类型,多个用逗号分隔", required = false) @RequestParam(value = "labelDiseaseType", required = false, defaultValue = "") String labelDiseaseType,
                                     @ApiParam(name = "labelHealthType", value = "标签类型  5:健康情况,多个用逗号分隔", required = false) @RequestParam(value = "labelHealthType", required = false, defaultValue = "") String labelHealthType,
                                     @ApiParam(name = "articleId", value = "文章ID", required = true) @RequestParam(value = "articleId", required = true) String articleId){
                                     @ApiParam(name = "articleId", value = "文章ID", required = true) @RequestParam(value = "articleId", required = true) String articleId,
                                     @ApiParam(name = "currentRoleCode", value = "当前登录的角色code", required = false) @RequestParam(value = "currentRoleCode", required = false) String currentRoleCode,
                                     @ApiParam(name = "currentRoleLevel", value = "当前登录的角色级别", required = false) @RequestParam(value = "currentRoleLevel", required = false) String currentRoleLevel){
        try {
            com.alibaba.fastjson.JSONObject response = jmJkEduArticleService.pushArticleConfirm(articleId, labelUnitType,labelSexType,labelServeType,labelDiseaseType,labelHealthType,"wjw00000001000e6badcfa163e424525");
            if(!StringUtils.isNotEmpty(currentRoleCode)){
                currentRoleCode = getCurrentRoleCode();
            }
            if(!StringUtils.isNotEmpty(currentRoleLevel)){
                currentRoleLevel = getCurrentRoleLevel();
            }
            com.alibaba.fastjson.JSONObject response = jmJkEduArticleService.pushArticleConfirm(articleId, labelUnitType,labelSexType,labelServeType,labelDiseaseType,labelHealthType,getUID(),currentRoleCode,currentRoleLevel);
            return write(200,"查询成功!","data",response);
        }catch (Exception e){
            e.printStackTrace();
@ -267,7 +290,7 @@ public class DoctorJMJkEduArticleController extends BaseController {
            if (patientSet.size() == 0) {
                return new BaseResultModel("请至少选择一个患者!");
            }
            HealthEduArticlePatient healthEduArticlePatient = jmJkEduArticleService.saveArticle(patientSet, getUID(), 1,"", teamCode, articleId,leaveWords);
            HealthEduArticlePatient healthEduArticlePatient = jmJkEduArticleService.savePCPushArticle(patientSet, getUID(), 1,"", teamCode, articleId,leaveWords,getCurrentRoleCode(),getCurrentRoleLevel());
            //推送微信模板消息和发送im消息
            new Thread(() -> {
                //发送任务到redis
@ -291,7 +314,7 @@ public class DoctorJMJkEduArticleController extends BaseController {
            //得到需要发送的患者
            patientSet.add(patientCode);
//            jmJkEduArticleService.initPatients(patientSet,labelType,condition,groupType,teamId,getUID());
            HealthEduArticlePatient healthEduArticlePatient = jmJkEduArticleService.saveArticle(patientSet, getUID(), 1,"", 0L, articleId,leaveWords);
            HealthEduArticlePatient healthEduArticlePatient = jmJkEduArticleService.savePCPushArticle(patientSet, getUID(), 1,"", 0L, articleId,leaveWords,getCurrentRoleCode(),getCurrentRoleLevel());
            //推送微信模板消息和发送im消息
            new Thread(() -> {
                //发送任务到redis
@ -350,13 +373,15 @@ public class DoctorJMJkEduArticleController extends BaseController {
                                      @ApiParam(name = "page", value = "当前页")
                                      @RequestParam(value = "page", required = true) Integer page,
                                      @ApiParam(name = "pageSize", value = "分页数")
                                      @RequestParam(value = "pageSize", required = true) Integer pageSize){
                                      @RequestParam(value = "pageSize", required = true) Integer pageSize,
                                      @ApiParam(name = "roleType", value = "1、普通医生,2、管理员")
                                      @RequestParam(value = "roleType", required = false) Integer roleType){
        try {
            com.alibaba.fastjson.JSONObject response = jmJkEduArticleService.queryArticlePcList(firstLevelCategoryId, secondLevelCategoryId, insertTimeStart, insertTimeEnd, articlelevel, articleTitle,
                    "0de7295862dd11e69faffa163e8aee56", currentUserRole, currentUserRoleLevel, isAuthentication, isMyArticle, page, pageSize,null);
                    getUID(), currentUserRole, currentUserRoleLevel, isAuthentication, isMyArticle, page, pageSize,null,roleType);
            return write(200,"查询成功!","data",response);
        } catch (Exception e){

+ 4 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/jimeiJkEduPC/DoctorJMJkEduArticlePCController.java

@ -100,12 +100,14 @@ public class DoctorJMJkEduArticlePCController extends BaseController {
                                      @ApiParam(name = "iDisplayLength", value = "是否过滤我的文章")
                                      @RequestParam(value = "iDisplayLength", required = true) Integer pageSize,
                                      @ApiParam(name = "sEcho", value = "插件自带")
                                      @RequestParam(value = "sEcho", required = false) Integer sEcho){
                                      @RequestParam(value = "sEcho", required = false) Integer sEcho,
                                      @ApiParam(name = "roleType", value = "1、普通医生,2、管理员")
                                      @RequestParam(value = "roleType", required = false) Integer roleType){
        try {
            JSONObject response = jmJkEduArticleService.queryArticlePcList(firstLevelCategoryId,secondLevelCategoryId,insertTimeStart,insertTimeEnd,articlelevel,articleTitle,
                    getUID(),getCurrentRoleCode(),getCurrentRoleLevel(),isAuthentication,isMyArticle,page,pageSize,sEcho);
                    getUID(),getCurrentRoleCode(),getCurrentRoleLevel(),isAuthentication,isMyArticle,page,pageSize,sEcho,roleType);
            return write(200,"查询成功!","data",response);
        } catch (Exception e){

+ 10 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/gateway/controller/doctor/GcLableController.java

@ -14,6 +14,7 @@ import com.yihu.wlyy.web.third.gateway.vo.base.ResultPageListModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONArray;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
@ -125,9 +126,16 @@ public class GcLableController extends BaseController {
    }
    @RequestMapping(value = "/unitLabels", method = RequestMethod.GET)
    @ApiOperation("根据地区查找卫计委下属单位标签")
    public ResultListModel<List<PatientLabelModel>> unitLabels() {
    public ResultListModel<List<PatientLabelModel>> unitLabels(@ApiParam(name = "currentRoleCode", value = "当前登录的角色code", required = false) @RequestParam(value = "currentRoleCode", required = false) String currentRoleCode,
                                                               @ApiParam(name = "currentRoleLevel", value = "当前登录的角色级别", required = false) @RequestParam(value = "currentRoleLevel", required = false) String currentRoleLevel) {
        try {
            List<DictModel> dictModels = labelService.getUnitLabels("wjw00000001000e6badcfa163e424525");
            if(!StringUtils.isNotEmpty(currentRoleCode)){
                currentRoleCode = getCurrentRoleCode();
            }
            if(!StringUtils.isNotEmpty(currentRoleLevel)){
                currentRoleLevel = getCurrentRoleLevel();
            }
            List<DictModel> dictModels = labelService.getUnitLabels(currentRoleCode, currentRoleLevel);
            return new ResultListModel(dictModels);
        } catch (Exception e) {
            return new ResultListModel(BaseResultModel.statusEm.find_error.getCode(), BaseResultModel.statusEm.find_error.getMessage() + "," + e.getMessage());

+ 17 - 17
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/gateway/service/GcLabelService.java

@ -244,28 +244,28 @@ public class GcLabelService {
        return result;
    }
    public List<DictModel> getUnitLabels(String userCode) {
        Map<String,Object> resultLevel = fetchUserHighestAuthority(userCode);
        List<String> list =  (List<String>)resultLevel.get("roleList");
        Integer level = (Integer)resultLevel.get("level");
        StringBuilder role = new StringBuilder();
        for(String one :list){
            role.append(",'"+one+"'");
        }
        String roleSql = !StringUtils.isEmpty(role+"")?role.substring(1):"";
    public List<DictModel> getUnitLabels(String currentUserRole, String currentUserRoleLevel) {
//        Map<String,Object> resultLevel = fetchUserHighestAuthority(userCode);
//        List<String> list =  (List<String>)resultLevel.get("roleList");
//        Integer level = (Integer)resultLevel.get("level");
//        StringBuilder role = new StringBuilder();
//        for(String one :list){
//            role.append(",'"+one+"'");
//        }
//        String roleSql = !StringUtils.isEmpty(role+"")?role.substring(1):"";
        String whereSql = "";
        String resultSql="";
        if(StringUtils.isEmpty(roleSql)){
//        if(!StringUtils.isEmpty(roleSql)){
            switch (level){
                case 1:{whereSql+=" and province in ("+role+") group by city,city_name " ;resultSql=" DISTINCT(city) as code,DISTINCT(city_name) as name ";break;}
                case 2:{whereSql+=" and city in ("+role+") group by town,town_name " ;resultSql=" DISTINCT(town) as code,DISTINCT(town_name) as name ";break;}
                case 3:{whereSql+=" and town in ("+role+") group by code,name " ;resultSql=" DISTINCT(code) as code,DISTINCT(name) as name ";break;}
                case 4:return new ArrayList<>();
            switch (currentUserRoleLevel){
                case "1":{whereSql+=" and province = '"+currentUserRole+"' group by city,city_name " ;resultSql=" city as code,city_name as name ";break;}
                case "2":{whereSql+=" and city = '"+currentUserRole+"' group by town,town_name " ;resultSql=" town as code,town_name as name ";break;}
                case "3":{whereSql+=" and town = '"+currentUserRole+"' group by code,name " ;resultSql=" code ,name ";break;}
                case "4":return new ArrayList<>();
            }
        }
//        }
        String sql = "select "+resultSql+"  from dm_hospital  where level=2 "+whereSql ;
        List<DictModel> returnList = jdbcTemplate.query(sql, new BeanPropertyRowMapper(DictModel.class));

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/jkedu/controller/doctor/EduLableController.java

@ -129,7 +129,7 @@ public class EduLableController extends BaseController {
//            @ApiParam(name = "areas", value = "地区code,多个地区用逗号分隔", required = true) @RequestParam(value = "areas", required = true) String areas
    ) {
        try {
            List<DictModel> dictModels = labelService.getUnitLabels(getUID());
            List<DictModel> dictModels = labelService.getUnitLabels(getCurrentRoleCode(),getCurrentRoleLevel());
            return new ResultListModel(dictModels);
        } catch (Exception e) {
            return new ResultListModel(BaseResultModel.statusEm.find_error.getCode(), BaseResultModel.statusEm.find_error.getMessage() + "," + e.getMessage());