Browse Source

三院专病中心

wangzhinan 1 year ago
parent
commit
1d7c30f0b0

+ 50 - 5
business/base-service/src/main/java/com/yihu/jw/hospital/disease/service/BaseDiseaseHospitalService.java

@ -12,6 +12,7 @@ import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import com.yihu.jw.util.network.HttpResponse;
import com.yihu.jw.util.network.HttpUtils;
import com.yihu.jw.utils.AES;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.jw.wlyy.service.WlyyBusinessService;
import jdk.nashorn.internal.scripts.JS;
@ -79,7 +80,29 @@ public class BaseDiseaseHospitalService extends BaseJpaService<BaseDiseaseHospit
     * @return
     */
    public BaseDiseaseHospitalDO findById(String id){
        return diseaseHospitalDao.findById(id).get();
        BaseDiseaseHospitalDO baseDiseaseHospitalDO =diseaseHospitalDao.findById(id).get();
        if (StringUtils.isNoneBlank(baseDiseaseHospitalDO.getArticleRelation())){
            String sql = "select t.id as \"id\",t.title as \"title\",t.read_count as \"readCount\"," +
                    "t.collection as \"collection\",t.fabulous as \"fabulous\",t.is_share as \"share\"," +
                    " t.intro as \"intro\",t.category_first_name as \"categoryFirstName\"," +
                    " t.category_second_name as \"categorySecondName\" ," +
                    "t.content as \"content\",t.image as \"image\",t.create_user_name as \"createUserName\",c.job_title_name as \"jobTitleName\"," +
                    "b.dept_name as \"deptName\",b.org_name as \"hospitalName\"," +
                    "t.create_time as \"createTime\" " +
                    " from wlyy_knowledge_article t left join wlyy_knowledge_article_dept a " +
                    " on a.article_id = t.id left join base_doctor_hospital b on b.doctor_code = t.create_user" +
                    " left join base_doctor c on c.id = t.create_user where 1=1 and t.del = 1 and t.status = 1";
            if (StringUtils.isNoneBlank(baseDiseaseHospitalDO.getArticleRelation())){
                if (baseDiseaseHospitalDO.getArticleRelation().contains(",")){
                    String categorySecond = baseDiseaseHospitalDO.getArticleRelation().replace(",","','");
                    sql+=" and t.category_second in ('"+categorySecond+"') ";
                }
            }
            List<Map<String,Object>> result = hibenateUtils.createSQLQuery(sql);
            baseDiseaseHospitalDO.setArticleRelationList(result);
        }
        return baseDiseaseHospitalDO;
    }
    /**
@ -96,14 +119,18 @@ public class BaseDiseaseHospitalService extends BaseJpaService<BaseDiseaseHospit
                "\tdescription,\n" +
                "\tSTATUS,\n" +
                "\tdept,\n" +
                "\tsort,\n" +
                "\tdept_name AS deptName,\n" +
                "\tdiagnosis,\n" +
                "\tdiagnosis_name AS diagnosisName,\n" +
                "\tis_disease AS isDisease,\n" +
                "\tarticle_relation as articleRelation,\n" +
                "\tarticle_relation_name as articleRelationName,\n" +
                "\tis_family as isFamily,\n" +
                "\tcreate_time as createTime,\n" +
                "\tupdate_time as updateTime\n" +
                "\tfamily_relation as familyRelation,\n" +
                "\tfamily_relation_name as familyRelationName,\n" +
                "\tdate_format(create_time ,'%Y-%m-%d %H:%i:%S' ) as createTime,\n" +
                "\tdate_format(update_time ,'%Y-%m-%d %H:%i:%S' ) as updateTime\n" +
                "FROM\n" +
                "\tbase_disease_hospital dh where 1=1 ";
        if (StringUtils.isNoneBlank(name)){
@ -144,7 +171,7 @@ public class BaseDiseaseHospitalService extends BaseJpaService<BaseDiseaseHospit
        if (flag!=null){
            int sort = 0;
            if (flag==1){
                String sql = "select sort from base_disease_hospital where sort<'"+diseaseHospitalDO.getSort()+"' and del=1 order by sort desc limit 1";
                String sql = "select sort from base_disease_hospital where sort<'"+diseaseHospitalDO.getSort()+"' order by sort desc limit 1";
                List<Map<String,Object>> mapList = hibenateUtils.createSQLQuery(sql);
                Integer count = 0;
                if (mapList != null && mapList.size() > 0) {
@ -162,7 +189,7 @@ public class BaseDiseaseHospitalService extends BaseJpaService<BaseDiseaseHospit
                }
            }else if (flag==2){
                String sql = "select sort from base_disease_hospital where sort>'"+diseaseHospitalDO.getSort()+"' and del=1 order by sort asc limit 1";
                String sql = "select sort from base_disease_hospital where sort>'"+diseaseHospitalDO.getSort()+"' order by sort asc limit 1";
                List<Map<String,Object>> mapList = hibenateUtils.createSQLQuery(sql);
                Integer count = 0;
                if (mapList != null && mapList.size() > 0) {
@ -230,4 +257,22 @@ public class BaseDiseaseHospitalService extends BaseJpaService<BaseDiseaseHospit
        }
        return MixEnvelop.getSuccessListWithPage("success", mapList, page, size, count);
    }
    /**
     * i健康授权参数加密
     * @param json
     * @return
     * @throws Exception
     */
    public  JSONObject ascRevertData(String json) throws Exception {
        JSONObject jsonObject = new JSONObject();
        if (StringUtils.isNoneBlank(json)){
            JSONObject object = JSONObject.parseObject(json);
            for (Map.Entry<String,Object> entry:object.entrySet()){
                jsonObject.put(entry.getKey(), AES.AscRevertData2(entry.getValue().toString()));
            }
        }
        return jsonObject;
    }
}

+ 6 - 2
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java

@ -7043,8 +7043,12 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        }
        if (StringUtils.isNotBlank(dept)) {
            sql += " AND h.dept_code =:dept ";
            params.put("dept", dept);
            if(dept.contains(",")){
                sql += " AND h.dept_code in ("+dept.replace(",","','")+")  ";
            }else {
                sql += " AND h.dept_code =:dept ";
                params.put("dept", dept);
            }
        }

+ 47 - 0
business/base-service/src/main/java/com/yihu/jw/utils/AES.java

@ -155,6 +155,53 @@ public class AES {
        return new String(bytes, "utf-8");
    }
    /**
     * asc 加密
     * @param value
     * @return
     * @throws Exception
     */
    public static String AscRevertData2(String value) throws Exception {
        String temp = "";
        StringBuilder tempArray = new StringBuilder();
        try{
            StringBuffer sbu = new StringBuffer();
            char[] chars = value.toCharArray();
            for (int i = 0; i < chars.length; i++) {
                sbu.append(fillString((int)chars[i],3));
            }
            int destLength = sbu.length();
            String[] asc = new String[destLength];
            for (int i = 0; i < destLength; i++) {
                asc[i] = sbu.substring(i, i + 1);
            }
            //奇偶位互换
            for (int i = 1; i < destLength; i = i + 2) {
                temp = asc[i];
                asc[i] = asc[i - 1];
                asc[i - 1] = temp;
            }
            for (String s : asc) {
                tempArray.append(s);
            }
            return tempArray.toString();
        }catch (Exception e){
            e.printStackTrace();
            throw new Exception("AscRevertData" + e);
        }
    }
    public static String fillString(int num , int digit) {
        /**
         * 0:表示前面补0
         * digit:表示保留数字位数
         * d:表示参数为正数类型
         */
        return String.format("%0"+digit+"d", num);
    }
    public static void main(String[] args) throws Exception {
        generateKey();
        String testKey = "xmxzzxtj";

+ 33 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/specialist/BaseDiseaseHospitalDO.java

@ -6,6 +6,9 @@ import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.List;
import java.util.Map;
/**
 * @author wangzhinan
@ -27,11 +30,25 @@ public class BaseDiseaseHospitalDO extends UuidIdentityEntityWithOperator {
    private String diagnosisName;//诊断名称逗号隔开
    private Integer isDisease;//是否开通专病教育频道(0未开通1开通)
    private String articleRelation;//文章关联
    private String articleRelationName;//文章标题关联
    private Integer isFamily;//是否关联三师共管专病(1是0否)
    private String familyRelation;//关联专病code
    private String familyRelationName;//关联专病名称
    private Integer sort;//排序
    private List<Map<String,Object>> articleRelationList;//文章关联列表
    @Transient
    public List<Map<String, Object>> getArticleRelationList() {
        return articleRelationList;
    }
    public void setArticleRelationList(List<Map<String, Object>> articleRelationList) {
        this.articleRelationList = articleRelationList;
    }
    @Override
    public String getId() {
        return id;
@ -153,4 +170,20 @@ public class BaseDiseaseHospitalDO extends UuidIdentityEntityWithOperator {
    public void setSort(Integer sort) {
        this.sort = sort;
    }
    public String getArticleRelationName() {
        return articleRelationName;
    }
    public void setArticleRelationName(String articleRelationName) {
        this.articleRelationName = articleRelationName;
    }
    public String getFamilyRelationName() {
        return familyRelationName;
    }
    public void setFamilyRelationName(String familyRelationName) {
        this.familyRelationName = familyRelationName;
    }
}

+ 2 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/hospital/BaseHospitalRequestMapping.java

@ -1616,6 +1616,8 @@ public class BaseHospitalRequestMapping {
        public static final String updateStatusOrSort="/updateStatusOrSort";
        public static final String getSpecialList="/getSpecialList";
        public static final String getICD10="/getICD10";
        public static final String ascRevertData="ascRevertData";
    }
    /**

+ 1 - 1
gateway/ag-basic/src/main/java/com/yihu/jw/gateway/filter/PostFilter.java

@ -147,7 +147,7 @@ public class PostFilter extends ZuulFilter {
                url.contains("/excelControl")||
                url.contains("/prescription/searchRecordWrite")||
                url.contains("/Funds/reconciliationExcel")||
                url.contains("/Funds/deviceInfoExcel")||url.contains("/open/noEntry"))){
                url.contains("/Funds/deviceInfoExcel"))){
            RequestContext.getCurrentContext().setResponseBody(object.toJSONString());
        }else {
            RequestContext.getCurrentContext().setResponseBody(body);

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

@ -112,6 +112,18 @@ public class BaseDiseaseHospitalController extends EnvelopRestEndpoint {
        }
    }
    @ApiOperation("i健康授权参数加密")
    @PostMapping(value= BaseHospitalRequestMapping.BaseDiseaseHospital.ascRevertData)
    public Envelop ascRevertData(@ApiParam(name = "json", value = "加密的json值", required = false)
                            @RequestParam(value = "json", required = false)String json){
        try {
            return success(baseDiseaseHospitalService.ascRevertData(json));
        }catch (Exception e){
            return failedException(e);
        }
    }
    @ApiOperation("获取十大专病")
    @GetMapping(value= BaseHospitalRequestMapping.BaseDiseaseHospital.getSpecialList)