LAPTOP-KB9HII50\70708 1 anno fa
parent
commit
5ec0feeddd

+ 8 - 8
common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseDoctorDO.java

@ -308,7 +308,7 @@ public class BaseDoctorDO extends UuidIdentityEntityWithOperator {
    private String atddrNo;//国码
    private String identity;//身份1是总经理,0是员工
//    private String identity;//身份1是总经理,0是员工 日报系统用,达梦数据库不支持先注释
    private String functionSetting;//功能设置
@ -320,13 +320,13 @@ public class BaseDoctorDO extends UuidIdentityEntityWithOperator {
        this.functionSetting = functionSetting;
    }
    public String getIdentity() {
        return identity;
    }
    public void setIdentity(String identity) {
        this.identity = identity;
    }
//    public String getIdentity() {
//        return identity;
//    }
//
//    public void setIdentity(String identity) {
//        this.identity = identity;
//    }
    public String getAtddrNo() {
        return atddrNo;

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

@ -10,7 +10,6 @@ import com.yihu.jw.entity.base.patient.BasePatientBusinessDO;
import com.yihu.jw.entity.base.role.RoleDO;
import com.yihu.jw.entity.base.user.UserDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDictDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDoctorDO;
import com.yihu.jw.entity.hospital.article.KnowledgeCategoryDO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
@ -22,8 +21,10 @@ import com.yihu.jw.user.UserDao;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
@ -49,6 +50,8 @@ public class ArticleEndpoint extends EnvelopRestEndpoint {
	private UserDao userdao;
	@Autowired
	private RoleDao roleDao;
	@Autowired
	private JdbcTemplate jdbcTemplate;
	
	@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchKnowledgePageList)
	@ApiOperation(value = "获取文章列表")
@ -65,6 +68,10 @@ public class ArticleEndpoint extends EnvelopRestEndpoint {
			@RequestParam(value = "pageSize", required = true,defaultValue = "10")Integer pageSize)throws Exception{
		try {
			String sql = "select * ";
			String countSql = "select count(*) ";
			String filter = " from wlyy_knowledge_article_dict where type=1 and del=1 ";
			String userId=getUID();
			UserDO userDO = userdao.findById(userId).orElse(null);
			boolean queryAll=false;
@ -78,25 +85,30 @@ public class ArticleEndpoint extends EnvelopRestEndpoint {
					}
				}
			}
			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+"";
			if (!queryAll){
				filter += " and create_user='"+userId+"'";
			}
			//title?1111;categoryFirst=402803e879a2699d0179a27f3fa10001;categorySecond=402803e879a2699d0179a28c64d50007
			if(StringUtils.isNotBlank(filters)){
				String fil[] = fields.split(";");
				for (String fi:fil){
					if(fi.contains("title?")){
						filter += " and title like '%"+fi.split("?")[1]+"%'";
					}
					if(fi.contains("categoryFirst=")){
						filter += " and category_first='"+fi.split("=")[1]+"'";
					}
					if(fi.contains("categorySecond=")){
						filter += " and category_second='"+fi.split("=")[1]+"'";
					}
				}
			}
			filters += ";type=1";
			List<KnowledgeArticleDictDO> list  = knowledgeArticleDictService.search(fields,filters,sorts,page,pageSize);
			List<KnowledgeArticleDictDO> totals  = knowledgeArticleDictService.search(fields,filters,sorts);
			String orderBy = " order by create_time desc limit "+(page-1)*pageSize+","+pageSize;
			List<KnowledgeArticleDictDO> list  = jdbcTemplate.query(sql+filter+orderBy,new BeanPropertyRowMapper<>(KnowledgeArticleDictDO.class));
			long total  = jdbcTemplate.queryForObject(countSql+filter,Long.class);
			JSONObject result = new JSONObject();
			result.put("total",totals.size());
			result.put("total",total);
			result.put("detailModelList",list);
			return success(result);

+ 4 - 114
svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/BaseDoctorService.java

@ -214,49 +214,6 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
        String nameOrIdcardValue = null == nameOrIdcard ? "" : "%" + nameOrIdcard + "%";
        int start = 0 == page ? page++ : (page - 1) * size;
        int end = 0 == size ? 15 : page * size;
//        String sql = "select" +
//                "  tb.id as id," +
//                "  tb.name as name," +
//                "  tb.idcard as idcard,  " +
//                "  tb.sex as sex,  " +
//                "  tb.mobile as mobile,  " +
//                "  GROUP_CONCAT(tb.org SEPARATOR ',') as orgInfo,  " +
//                "  tb.job_title_name as jobTitleName,  " +
//                "  tb.status as status " +
//                "from  " +
//                "  (  " +
//                "    select  " +
//                "     doc.id,  " +
//                "     doc.name,  " +
//                "     doc.idcard,  " +
//                "     case doc.sex when 1 then '男' when 2 then '女' else '未知' end as sex,  " +
//                "     doc.mobile,  " +
//                "     concat(hos.org_name,'/',dept.name,'/',hos.doctor_duty_name) as org,  " +
//                "     doc.job_title_name,  " +
//                "     case doc.del when 0 then '已失效' when 1 then '生效中' end as status,  " +
//                "      doc.create_time  " +
//                "   from  " +
//                "     base_doctor doc,  " +
//                "     base_doctor_hospital hos,  " +
//                "     dict_hospital_dept dept  " +
//                "  where  " +
//                "    doc.id = hos.doctor_code  " +
//                "    and  " +
//                "    hos.org_code = dept.org_code " +
//                "    and " +
//                "    hos.dept_code = dept.code  " +
//                "    and  " +
//                "    ((doc.idcard like '{idcard}' or ''= '{idcard}' ) or (doc.name like '{name}'  or ''= '{name}' )  and (hos.org_code = '{orgCode}' or ''= '{orgCode}') and (doc.del = '{docStatus}' or ''= '{docStatus}'))  " +
//                "  ) tb  " +
//                "GROUP BY tb.id order by tb.create_time desc limit {start},{end} ";
//        String finalSql = sql
//                .replace("{idcard}",nameOrIdcardValue)
//                .replace("{name}",nameOrIdcardValue)
//                .replace("{orgCode}",orgCodeVale)
//                .replace("{docStatus}",del)
//                .replace("{start}",String.valueOf(start))
//                .replace("{end}",String.valueOf(end));
        String sql="SELECT\n" +
                "\ttb.id AS \"id\",\n" +
                "\ttb.idcard AS \"idcard\",\n" +
@ -274,7 +231,9 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
                sql+="  wm_concat (tb.org || ',') AS \"orgInfo\",";
            }
        }else {
        } else if("xm_qsyy_wx".equalsIgnoreCase(wechatId)){
            sql+=" listagg(tb.org,',') AS \"orgInfo\",";
        } else {
            sql+=" GROUP_CONCAT(tb.org SEPARATOR ',') AS orgInfo,";
        }
        sql+="tb.job_title_name AS \"jobTitleName\",\n" +
@ -312,13 +271,7 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
                " base_doctor doc LEFT join base_doctor_hospital hos on doc.id = hos.doctor_code " +
                " LEFT JOIN dict_hospital_dept dept on hos.org_code = dept.org_code" +
                " AND hos.dept_code = dept.code"+
                /*"\tbase_doctor doc,\n" +
                "\tbase_doctor_hospital hos,\n" +
                "\tdict_hospital_dept dept\n" +*/
                " WHERE 1=1";
                /*"\tdoc.id = hos.doctor_code\n" +
                "AND hos.org_code = dept.org_code\n" +
                "AND hos.dept_code = dept.code\n"*/
        if (!StringUtils.isEmpty(nameOrIdcard)){
            sql += " and (doc.idcard LIKE '%"+nameOrIdcard+"%' or doc.name LIKE '%"+nameOrIdcard+"%')";
        }if (!StringUtils.isEmpty(orgCode)){
@ -335,69 +288,12 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
                "\ttb.sex,\n" +
                "\ttb.mobile,\n" +
                "\ttb.job_title_name,\n" +
                "\ttb.status,\n" +"\ttb.orgName,\n" +"\ttb.deptname,\n" +"\ttb.doctorDutyName,\n" +
                "\ttb.status,\n" +"\ttb.orgName,\n" +"\ttb.deptname,\n" +"\ttb.doctorDutyName,tb.status,\n" +
                "  tb.create_time\n" +
                "ORDER BY\n" +
                "\ttb.create_time DESC";
//        if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)){
//            sql+=" GROUP BY\n" +
//                    "\ttb. ID,\n" +
//                    "\ttb.idcard,\n" +
//                    "\ttb. NAME,\n" +
//                    "\ttb.sex,\n" +
//                    "\ttb.mobile,\n" +
//                    "\ttb.job_title_name,\n" +
//                    "\ttb.status,\n" +
//                    "  tb.create_time\n" +
//                    "ORDER BY\n" +
//                    "\ttb.create_time DESC";
//        }else {
//            sql+=" GROUP BY\n" +
//                    "\ttb. ID\n" +
//                    "ORDER BY\n" +
//                    "\ttb.create_time DESC";
//        }
        List<Map<String,Object>> list=null;
        list = hibenateUtils.createSQLQuery(sql,page,size);
       /* if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)){
            if (flag){
                sql+=" LIMIT  " + (page - 1) * size + "," + size + "";
                Logger.getAnonymousLogger().info("finalCountSql="+sql);
                list = jdbcTemplate.queryForList(sql);
            }else {
                String oracleSql="SELECT\n" +
                        "\t*\n" +
                        "FROM\n" +
                        "\t(\n" +
                        "\t\tSELECT\n" +
                        "\t\t\tA .*\n" +
                        "\t\tFROM\n" +
                        "\t\t\t(";
                oracleSql+=sql;
                oracleSql+="\t\t\t) A\n" +
                        "\t\tWHERE\n" +
                        "  ROWNUM <="+page*size +
                        "\t) \n" +
                        "WHERE\n" +
                        "\tROWNUM >= "+(page-1)*size;
                Logger.getAnonymousLogger().info("oracleSql="+oracleSql);
                list = jdbcTemplate.queryForList(oracleSql);
            }
        }else {
            sql+=" LIMIT  " + (page - 1) * size + "," + size + "";
            Logger.getAnonymousLogger().info("finalCountSql="+sql);
            list = jdbcTemplate.queryForList(sql);
        }*/
        String countSql = " select " +
                "     COUNT(DISTINCT (doc.id)) as count " +
@ -420,7 +316,6 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
            countSql += " and doc.del  = '"+del+"'";
        }
//        List<Map<String,Object>> list = jdbcTemplate.queryForList(finalSql);
        Logger.getAnonymousLogger().info("finalCountSql="+countSql);
        int count = jdbcTemplate.queryForObject(countSql,Integer.class);
        List<WlyyHospitalSysDictDO> listDict = wlyyHospitalSysDictDao.findByDictName("doctor_level");
@ -429,11 +324,6 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
            String deptname = map.get("deptname")==null?"":map.get("deptname").toString();
            String doctorDutyName = map.get("doctorDutyName")==null?"":map.get("doctorDutyName").toString();
            map.put("orgInfo",orgname+"/"+deptname+"/"+doctorDutyName);
            /*for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO:listDict){
                if (map.get("doctorlevel").toString().equals(wlyyHospitalSysDictDO.getDictCode())){
                    map.put("levelName",wlyyHospitalSysDictDO.getDictValue());
                }
            }*/
        }
        result.put("count", count);
        result.put("msg", JavaBeanUtils.getInstance().mapListJson(list));

+ 11 - 5
svr/svr-base/src/main/java/com/yihu/jw/base/service/role/WlyyUserRoleService.java

@ -7,8 +7,10 @@ import com.yihu.jw.entity.care.role.DoctorRole;
import com.yihu.jw.entity.care.role.WlyyUserRole;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.mysql.query.BaseJpaService;
import com.yihu.jw.utils.DmDBUtl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -26,6 +28,8 @@ public class WlyyUserRoleService extends BaseJpaService<WlyyUserRole, WlyyUserRo
    private WlyyRoleDao wlyyRoleDao;
    @Autowired
    private WlyyUserRoleDao wlyyUserRoleDao;
    @Value("${wechat.id}")
    private String wxId;
    /**
     * 获取管理员列表
@ -33,10 +37,11 @@ public class WlyyUserRoleService extends BaseJpaService<WlyyUserRole, WlyyUserRo
     */
    public PageEnvelop<List<Map<String,Object>>> getAdminList(String name,String idcard,String mobile,Integer page,Integer size){
        page = page>0?page-1:0;
        String sql = " select ur.id,doc.name,doc.idcard,doc.id doctorCode,doc.mobile,ur.role,wr.code,wr.name roleName,wr.level from base_doctor doc " +
                " INNER JOIN wlyy_user_role ur on doc.id = ur.`user` INNER JOIN wlyy_role wr on ur.role = wr.`code` where 1=1 " ;
        String sql = " select ur.id as \"id\",doc.name as \"name\",doc.idcard as \"idcard\",doc.id as \"doctorCode\",doc.mobile as \"mobile\",ur.role as \"role\",wr.code as \"code\"" +
                ",wr.name as \"roleName\",wr.level as \"level\" from base_doctor doc " +
                " INNER JOIN wlyy_user_role ur on doc.id = ur."+ DmDBUtl.changeField("user",wxId) +" INNER JOIN wlyy_role wr on ur.role = wr.code where 1=1 " ;
        String sqlCount = " select count(ur.id) from base_doctor doc " +
                " INNER JOIN wlyy_user_role ur on doc.id = ur.`user` INNER JOIN wlyy_role wr on ur.role = wr.`code` where 1=1 ";
                " INNER JOIN wlyy_user_role ur on doc.id = ur."+ DmDBUtl.changeField("user",wxId) +" INNER JOIN wlyy_role wr on ur.role = wr.code where 1=1 ";
        String filter  = " ";
        if (StringUtils.isNotBlank(name)){
            filter += " and doc.`name`like '%"+name+"%' ";
@ -108,8 +113,9 @@ public class WlyyUserRoleService extends BaseJpaService<WlyyUserRole, WlyyUserRo
     *根据id获取权限详情
     */
    public Map<String,Object> getUserRoleById(String id){
        String sql = " select ur.id,doc.name,doc.idcard,doc.id doctorCode,doc.mobile,ur.role,wr.code,wr.name roleName,wr.level from base_doctor doc " +
                " INNER JOIN wlyy_user_role ur on doc.id = ur.`user` INNER JOIN wlyy_role wr on ur.role = wr.`code` where ur.id='"+id+"' " ;
        String sql = " select ur.id as \"id\",doc.name as \"name\",doc.idcard as \"idcard\",doc.id \"doctorCode\"" +
                ",doc.mobile \"mobile\",ur.role as \"role\",wr.code as \"code\",wr.name \"roleName\",wr.level as \"level\" from base_doctor doc " +
                " INNER JOIN wlyy_user_role ur on doc.id = ur.user INNER JOIN wlyy_role wr on ur.role = wr.code where ur.id='"+id+"' " ;
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        if (list.size()>0){
            return list.get(0);

+ 1 - 2
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/complaint/BaseComplaintEndPoint.java

@ -11,8 +11,6 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/complaint" )
@Api(tags = "投诉管理员管理", description = "互联网医院")
@ -381,4 +379,5 @@ public class BaseComplaintEndPoint  extends EnvelopRestEndpoint {
            return failedException(e);
        }
    }
}