瀏覽代碼

Merge remote-tracking branch 'origin/dev/20200713_1.3.7.2' into debug

zhaops 5 年之前
父節點
當前提交
00760d2410

File diff suppressed because it is too large
+ 3 - 3
doc/016.20200715v1.3.7.2/qc_initv.1.3.7.2.sql


+ 30 - 63
src/main/java/com/diagbot/facade/ConsoleExportFacade.java

@@ -1,7 +1,5 @@
 package com.diagbot.facade;
 
-import cn.afterturn.easypoi.excel.ExcelExportUtil;
-import cn.afterturn.easypoi.excel.entity.ExportParams;
 import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -24,10 +22,8 @@ import com.diagbot.entity.SysHospitalSet;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.util.BeanUtil;
-import com.diagbot.util.EntityUtil;
 import com.diagbot.util.ExcelUtils;
 import com.diagbot.util.ListUtil;
-import com.diagbot.util.ObjectUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.util.SysUserUtils;
 import com.diagbot.vo.EntryStatisticsVO;
@@ -37,19 +33,13 @@ import com.diagbot.vo.FilterPageVO;
 import com.diagbot.vo.FilterUnModifyMRVO;
 import com.diagbot.vo.QcResultShortPageVO;
 import com.google.common.collect.Lists;
-import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.net.URLEncoder;
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 /**
  * @Description: 报表导出装饰层
@@ -325,63 +315,40 @@ public class ConsoleExportFacade {
      * @param filterUnModifyMRVO
      */
     public void unModifyMRStatisticsExport(HttpServletResponse response, FilterUnModifyMRVO filterUnModifyMRVO) {
-        try {
-            filterFacade.filterUnModifyMRVOSet(filterUnModifyMRVO);
-            List<ExcelExportEntity> colList = Lists.newLinkedList();
-            ExcelExportEntity deptIdCol = new ExcelExportEntity("科室编码", "deptId");
+        filterFacade.filterUnModifyMRVOSet(filterUnModifyMRVO);
+        List<ExcelExportEntity> colList = Lists.newLinkedList();
+           /* ExcelExportEntity deptIdCol = new ExcelExportEntity("科室编码", "deptId");
             deptIdCol.setWidth(20);
-            colList.add(deptIdCol);
-            ExcelExportEntity deptNameCol = new ExcelExportEntity("科室名称", "deptName");
-            deptNameCol.setWidth(50);
-            colList.add(deptNameCol);
+            colList.add(deptIdCol);*/
+        ExcelExportEntity deptNameCol = new ExcelExportEntity("科室名称", "deptName");
+        deptNameCol.setWidth(50);
+        colList.add(deptNameCol);
 
-            QueryWrapper<SysHospitalSet> hospitalSetQueryWrapper = new QueryWrapper<>();
-            hospitalSetQueryWrapper.eq("is_deleted", 'N')
-                    .eq("hospital_id", filterUnModifyMRVO.getHospitalId())
-                    .eq("code", "unmodify_mr_entry");
-            SysHospitalSet hospitalSet = sysHospitalSetFacade.getOne(hospitalSetQueryWrapper);
-            //缺陷条目未维护
-            if (hospitalSet == null || StringUtil.isBlank(hospitalSet.getValue())) {
-                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "未整改病历条目未设置");
-            }
-
-            List<String> columnSet = Arrays.asList(hospitalSet.getValue().split(","));
-            for (String valueStr : columnSet) {
-                String[] keyValue = valueStr.split("--");
-                if (keyValue != null || keyValue.length > 1) {
-                    ExcelExportEntity entryCol = new ExcelExportEntity(keyValue[1], "entry_" + keyValue[0] + "_num");
-                    entryCol.setWidth(20);
-                    colList.add(entryCol);
-                }
-            }
+        QueryWrapper<SysHospitalSet> hospitalSetQueryWrapper = new QueryWrapper<>();
+        hospitalSetQueryWrapper.eq("is_deleted", 'N')
+                .eq("hospital_id", filterUnModifyMRVO.getHospitalId())
+                .eq("code", "unmodify_mr_entry");
+        SysHospitalSet hospitalSet = sysHospitalSetFacade.getOne(hospitalSetQueryWrapper);
+        //缺陷条目未维护
+        if (hospitalSet == null || StringUtil.isBlank(hospitalSet.getValue())) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "未整改病历条目未设置");
+        }
 
-            Map<String, String> keyNameMap = EntityUtil.makeMapWithKeyValue(colList, "key", "name");
-            UnModifyMRDTO unModifyMRDTO = consoleFacade.unModifyMRStatistics(filterUnModifyMRVO);
-            List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
-            List<Object> data = Lists.newLinkedList();
-            if (unModifyMRDTO != null && ListUtil.isNotEmpty(unModifyMRDTO.getData())) {
-                data = unModifyMRDTO.getData();
-                //存储表格中的每一行数据
-                Map<String, Object> valMap = null;
-                for (Object obj : data) {
-                    valMap = new HashMap<>(colList.size());
-                    for (Map.Entry<String, String> keyName : keyNameMap.entrySet()) {
-                        valMap.put(keyName.getKey(), ObjectUtil.getValueByKey(obj, keyName.getKey()));
-                    }
-                    list.add(valMap);
-                }
+        List<String> columnSet = Arrays.asList(hospitalSet.getValue().split(","));
+        for (String valueStr : columnSet) {
+            String[] keyValue = valueStr.split("--");
+            if (keyValue != null || keyValue.length > 1) {
+                ExcelExportEntity entryCol = new ExcelExportEntity(keyValue[1], "entry_" + keyValue[0] + "_num");
+                entryCol.setWidth(20);
+                colList.add(entryCol);
             }
-            Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(null, "sheet1"), colList,
-                    list);
-            response.setCharacterEncoding("UTF-8");
-            response.setHeader("content-Type", "application/vnd.ms-excel");
-            String fileName = "未整改病历统计.xls";
-            response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
-            workbook.write(response.getOutputStream());
-            workbook.close();
-
-        } catch (IOException e) {
-            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "导出Excel异常");
         }
+        UnModifyMRDTO unModifyMRDTO = consoleFacade.unModifyMRStatistics(filterUnModifyMRVO);
+        List<Object> data = Lists.newLinkedList();
+        if (unModifyMRDTO != null && ListUtil.isNotEmpty(unModifyMRDTO.getData())) {
+            data = unModifyMRDTO.getData();
+        }
+        String fileName = "未整改病历统计.xls";
+        ExcelUtils.exportExcelDynamicCol(colList, data, null, "sheet1", fileName, response);
     }
 }

+ 1 - 1
src/main/java/com/diagbot/facade/ConsoleFacade.java

@@ -1008,7 +1008,7 @@ public class ConsoleFacade {
         columnDeptId.setOrderNo(orderNo);
         columnDeptId.setFieldName("deptId");
         columnDeptId.setColumnName("科室编码");
-        columnDeptId.setIsShow(1);
+        columnDeptId.setIsShow(0);
         columns.add(columnDeptId);
         orderNo++;
         ColumnDTO columnDeptName = new ColumnDTO();

+ 17 - 0
src/main/java/com/diagbot/util/ExcelUtils.java

@@ -6,6 +6,7 @@ import cn.afterturn.easypoi.excel.ExcelImportUtil;
 import cn.afterturn.easypoi.excel.entity.ExportParams;
 import cn.afterturn.easypoi.excel.entity.ImportParams;
 import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
+import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.ExcelExportStylerUserImpl;
@@ -19,6 +20,7 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.File;
 import java.io.IOException;
 import java.net.URLEncoder;
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import java.util.NoSuchElementException;
@@ -43,6 +45,12 @@ public class ExcelUtils {
         userExport(list, pojoClass, fileName, response, exportParams);
     }
 
+    public static void exportExcelDynamicCol(List<ExcelExportEntity> entityList, Collection<?> dataSet, String title, String sheetName, String fileName,
+                                    HttpServletResponse response) {
+        ExportParams exportParams = new ExportParams(title, sheetName);
+        dynamicColExport(entityList, dataSet, fileName, response, exportParams);
+    }
+
     public static void exportExcel(List<?> list, String title, String sheetName, Class<?> pojoClass, String fileName,
                                    HttpServletResponse response, float height) {
         Boolean havTitle = false;
@@ -70,6 +78,15 @@ public class ExcelUtils {
         downLoadExcel(fileName, response, workbook);
     }
 
+    private static void dynamicColExport(List<ExcelExportEntity> entityList, Collection<?> dataSet, String fileName, HttpServletResponse response,
+                                         ExportParams exportParams) {
+        Workbook workbook = ExcelExportUtil.exportExcel(exportParams,entityList,dataSet);
+        if (workbook != null) {
+            ;
+        }
+        downLoadExcel(fileName, response, workbook);
+    }
+
     private static void userExport(List<?> list, Class<?> pojoClass, String fileName, HttpServletResponse response,
                                    ExportParams exportParams) {
         Workbook workbook = ExcelExportUtil.exportExcel(exportParams, pojoClass, list);

+ 10 - 10
src/main/resources/mapper/BehospitalInfoMapper.xml

@@ -535,8 +535,8 @@
         AND a.behospital_code = b.behospital_code
         AND a.is_placefile = '1'
         AND (
-        ( IFNULL( b.newborn_day, '' ) != '' AND b.newborn_day != '0' )
-        OR ( IFNULL( b.newborn_month, '' )!= '' AND b.newborn_month != '0' )
+        ( IFNULL( b.newborn_day, '' ) != '' AND b.newborn_day != '0' AND b.newborn_day != '-' )
+        OR ( IFNULL( b.newborn_month, '' )!= '' AND b.newborn_month != '0' AND b.newborn_month != '-' )
         )
         <![CDATA[AND a.qc_type_id <>0 ]]>
         <if test="hospitalId != null and hospitalId != ''">
@@ -658,8 +658,8 @@
         AND a.behospital_code = b.behospital_code
         AND a.beh_dept_id = c.dept_id
         AND (
-        ( IFNULL( b.newborn_day, '' ) != '' AND b.newborn_day != '0' )
-        OR ( IFNULL( b.newborn_month, '' )!= '' AND b.newborn_month != '0' )
+        ( IFNULL( b.newborn_day, '' ) != '' AND b.newborn_day != '0' AND b.newborn_day != '-' )
+        OR ( IFNULL( b.newborn_month, '' )!= '' AND b.newborn_month != '0' AND b.newborn_month != '-' )
         )
         AND a.is_placefile = '1'
         <![CDATA[AND a.qc_type_id <>0 ]]>
@@ -3899,8 +3899,8 @@
             AND t1.hospital_id = t2.hospital_id
             AND t1.behospital_code = t2.behospital_code
             AND (
-            ( IFNULL( t2.newborn_day, '' ) != '' AND t2.newborn_day != '0' )
-            OR ( IFNULL( t2.newborn_month, '' )!= '' AND t2.newborn_month != '0' )
+            ( IFNULL( t2.newborn_day, '' ) != '' AND t2.newborn_day != '0' AND t2.newborn_day != '-' )
+            OR ( IFNULL( t2.newborn_month, '' )!= '' AND t2.newborn_month != '0' AND t2.newborn_month != '-' )
             )
         </if>
         <if test="qcResultShortPageVO.leaveHosType != null and qcResultShortPageVO.leaveHosType ==1">
@@ -4474,8 +4474,8 @@
             AND t1.hospital_id = t2.hospital_id
             AND t1.behospital_code = t2.behospital_code
             AND (
-            ( IFNULL( t2.newborn_day, '' ) != '' AND t2.newborn_day != '0' )
-            OR ( IFNULL( t2.newborn_month, '' )!= '' AND t2.newborn_month != '0' )
+            ( IFNULL( t2.newborn_day, '' ) != '' AND t2.newborn_day != '0' AND t2.newborn_day != '-' )
+            OR ( IFNULL( t2.newborn_month, '' )!= '' AND t2.newborn_month != '0' AND t2.newborn_month != '-' )
             )
         </if>
         <if test="qcResultShortPageVO.leaveHosType != null and qcResultShortPageVO.leaveHosType ==1">
@@ -4647,8 +4647,8 @@
             AND t1.hospital_id = t2.hospital_id
             AND t1.behospital_code = t2.behospital_code
             AND (
-            ( IFNULL( t2.newborn_day, '' ) != '' AND t2.newborn_day != '0' )
-            OR ( IFNULL( t2.newborn_month, '' )!= '' AND t2.newborn_month != '0' )
+            ( IFNULL( t2.newborn_day, '' ) != '' AND t2.newborn_day != '0' AND t2.newborn_day != '-' )
+            OR ( IFNULL( t2.newborn_month, '' )!= '' AND t2.newborn_month != '0' AND t2.newborn_month != '-' )
             )
         </if>
         <if test="qcResultShortPageVO.leaveHosType != null and qcResultShortPageVO.leaveHosType ==1">