Browse Source

代码修改

LAPTOP-KB9HII50\70708 1 year ago
parent
commit
fa03a139cc

+ 2 - 3
common/common-util/src/main/java/com/yihu/jw/util/DoctorAssistantUtil.java

@ -4,7 +4,6 @@ import com.yihu.jw.util.http.HttpClientUtil;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
@ -17,9 +16,9 @@ import java.util.List;
@Component
public class DoctorAssistantUtil {
    @Value("${doctorAssistant.api}")
//    @Value("${doctorAssistant.api}")
    private String doctorAssistant;
    @Value("${doctorAssistant.target_url}")
//    @Value("${doctorAssistant.target_url}")
    private String targetUrl;
    @Autowired
    private HttpClientUtil httpClientUtil;

+ 2 - 0
gateway/ag-basic/src/main/java/com/yihu/jw/gateway/filter/BasicZuulFilter.java

@ -109,6 +109,7 @@ public class BasicZuulFilter extends ZuulFilter {
                url.contains("/weixin")||
                url.contains("/excelControl")||
                url.contains("/open/gc")||
                url.contains("/exportExcel")||
                url.contains("/prescription/pushListWrite")||
                url.contains("/prescription/pushListDrug")||
                url.contains("/open/noLogin/pushYkCardCharge")||
@ -141,6 +142,7 @@ public class BasicZuulFilter extends ZuulFilter {
                || url.contains("/sms_gateway/send")//发送短信
                || url.contains("/accountAppeal/create")
                || url.contains("/open/")//开放接口
                || url.contains("/exportExcel/")//导出
                || url.contains("/cloudCare/noLogin/")//医疗云开放接口
                || url.contains("/image/")//获取默认图片
                ||url.contains("/weixin")||

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

@ -1,20 +1,9 @@
package com.yihu.jw.gateway.filter;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.netflix.zuul.ZuulFilter;
import com.netflix.zuul.context.RequestContext;
import com.yihu.jw.entity.base.dict.BaseExceptionLogDO;
import com.yihu.jw.entity.base.dict.BaseExceptionServerDictDO;
import com.yihu.jw.entity.hospital.prescription.BaseAdviceTreatmentDO;
import com.yihu.jw.gateway.AesEncryptUtils;
import com.yihu.jw.gateway.methlog.BaseExceptionService;
import com.yihu.jw.gateway.security.BeanUtil;
import com.yihu.jw.restmodel.exception.dao.BaseExceptionLogDao;
import com.yihu.jw.restmodel.exception.dao.BaseExceptionServerDictDao;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -22,9 +11,6 @@ import org.springframework.util.StreamUtils;
import javax.servlet.http.HttpServletRequest;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.zip.GZIPInputStream;
@ -67,12 +53,8 @@ public class PostFilter extends ZuulFilter {
                url.contains("/open/noLogin/pushArticleCountExcel")||
                url.contains("/prescription/searchRecordWrite")||
                url.contains("/Funds/reconciliationExcel")||
                url.contains("/exportExcel/")||
                url.contains("/servicePackageSubItem/exportSubItemExcel")|| //导出
                url.contains("/Funds/deviceInfoExcel")){
            return true;
        }

+ 53 - 1
svr/svr-basic/src/main/java/com/yihu/jw/basic/agadmin/controller/resource/ResourceIntegratedController.java

@ -1,11 +1,12 @@
package com.yihu.jw.basic.agadmin.controller.resource;
import com.yihu.jw.basic.resource.dao.ResourceBrowseMetadataDao;
import com.yihu.jw.basic.resource.service.ResourceBrowseService;
import com.yihu.jw.basic.resource.service.ResourceIntegratedService;
import com.yihu.jw.basic.resource.service.RsResourceDefaultParamService;
import com.yihu.jw.basic.resource.service.RsResourceService;
import com.yihu.jw.basic.util.WorkbookUtil;
import com.yihu.jw.entity.ehr.id.BizObject;
import com.yihu.jw.entity.ehr.resource.RsResource;
import com.yihu.jw.entity.ehr.resource.RsResourceDefaultParam;
@ -17,8 +18,10 @@ import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.util.common.NumberUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import jxl.Cell;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import org.slf4j.Logger;
@ -29,8 +32,12 @@ import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.*;
import java.util.stream.Collectors;
/**
 * Controller - 资源综合查询服务控制器
@ -55,6 +62,8 @@ public class ResourceIntegratedController extends EnvelopRestEndpoint {
    private RsResourceService rsResourceService;
    @Autowired
    private ResourceBrowseService resourceBrowseService;
    @Autowired
    private ResourceBrowseMetadataDao resourceBrowseMetadataDao;
    /**
     * 综合查询档案数据列表树 zuul
@ -386,6 +395,49 @@ public class ResourceIntegratedController extends EnvelopRestEndpoint {
        return envelop;
    }
    //basic/resourceIntegrated/searchMetadataData
    @ApiOperation("档案数据导出")
    @RequestMapping(value = "exportExcel/archiveDataExport", method = RequestMethod.GET)
    public void archiveDataExport(
            @ApiParam(name = "resourcesCode", value = "资源code")
            @RequestParam(value = "resourcesCode", required = true) String resourcesCode,
            @ApiParam(name = "metaData", value = "数据元")
            @RequestParam(value = "metaData", required = true) String metaData,
            @ApiParam(name = "searchParams", value = "查询条件")
            @RequestParam(value = "searchParams", required = false) String searchParams, HttpServletResponse response) {
        try {
            Page<Map<String, Object>> result = resourceBrowseService.getCustomizeDataMysql(resourcesCode,metaData,searchParams,1, 99999);
            List<Map<String, Object>> listMap = result.toList();
            //导出
            String fileName = "档案数据导出";
            response.setContentType("octets/stream");
            response.setCharacterEncoding("utf-8");
            fileName = URLEncoder.encode(fileName, "utf-8");
            response.setHeader("Content-Disposition", "attachment; filename=" + fileName + new String(".xls"));
            OutputStream os = response.getOutputStream();
            WorkbookUtil workbookUtil = new WorkbookUtil();
            //获取表头
            List<String> codeList = (List<String>) objectMapper.readValue(resourcesCode, List.class);
            String resourcesCodes = org.apache.commons.lang.StringUtils.join(codeList,"','");
            List<Map<String,Object>> metadatas = resourceBrowseMetadataDao.getMetadatas(resourcesCodes);
            Map<String,String> metadataMap = metadatas.stream().collect(Collectors.toMap(e->e.get("ehr_id").toString(),e->e.get("name").toString()));
            metaData = metaData.replaceAll(",","\",\"");
            List<String> customizeList = (List<String>) objectMapper.readValue(metaData, List.class);
            Map<Integer, String> columnMap = new HashMap<>();
            String[] header = new  String[customizeList.size()];
            for (int i=0;i<customizeList.size();i++){
                String key = customizeList.get(i);
                columnMap.put(i, key);
                header[i] = metadataMap.get(key);
            }
            workbookUtil.write(Workbook.createWorkbook(os), listMap, columnMap, header);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /**
     * 综合查询档案数据导出
     * @param request

+ 12 - 0
svr/svr-basic/src/main/java/com/yihu/jw/basic/resource/dao/ResourceBrowseMetadataDao.java

@ -69,6 +69,18 @@ public class ResourceBrowseMetadataDao {
        return jdbcTemplate.query(sql, rowMapper);
    }
    /**
     * 获取某资源
     */
    public List<Map<String,Object>> getMetadatas(String resourcesCodes) throws Exception {
        String sql = "SELECT m.ehr_id, m.name " +
                "      FROM rs_resource_metadata a, rs_resource b, rs_metadata m " +
                "      WHERE a.resources_id = b.id " +
                "      AND a.metadata_id = m.ehr_id " +
                "AND b.code in ('" + resourcesCodes + "')  ";
        return jdbcTemplate.queryForList(sql);
    }
    /**
     * 获取某资源有字典的数据元
     */

+ 64 - 0
svr/svr-basic/src/main/java/com/yihu/jw/basic/util/WorkbookUtil.java

@ -0,0 +1,64 @@
package com.yihu.jw.basic.util;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import java.io.IOException;
import java.util.List;
import java.util.Map;
/**
 * Created by janseny on 2018/11/28.
 */
public class WorkbookUtil {
    /**
     * excel 文件导出
     * @param wwb
     * @param listMap 数据
     * @param columnMap 每列对应的数据集中的key
     * @param header  表头
     * @throws Exception
     */
    public void write(WritableWorkbook wwb, List<Map<String,Object>> listMap,Map<Integer,String> columnMap,String [] header) throws Exception {
        try {
            WritableSheet ws;
            ws = wwb.createSheet("sheet",1);
            addHeader(ws,header);
            int i = 1;
            for (Map<String,Object> map : listMap ) {
                for(int key :columnMap.keySet()){
                    String cloumn = columnMap.get(key);
                    if(map.get(cloumn) != null){
                        addCell(ws, i, key, map.get(cloumn).toString());
                    }
                }
                i++;
            }
            wwb.write();
            wwb.close();
        } catch (IOException e) {
            e.printStackTrace();
            if (wwb != null) {
                wwb.close();
            }
            throw e;
        }
    }
    public void addHeader(WritableSheet ws,String[] header) throws WriteException {
        int i = 0;
        for (String h : header) {
            addCell(ws, 0, i, h);//表名,行,列,header
            i++;
        }
    }
    //添加单元格内容
    public void addCell(WritableSheet ws, int row, int column,  String data) throws WriteException {
        Label label = new Label(column ,row, data);
        ws.addCell(label);
    }
}