Ver código fonte

未整改病历统计

zhaops 5 anos atrás
pai
commit
8e745f144c

+ 0 - 7
pom.xml

@@ -165,13 +165,6 @@
             <version>${druid.version}</version>
         </dependency>
 
-        <!-- https://mvnrepository.com/artifact/cglib/cglib -->
-        <dependency>
-            <groupId>cglib</groupId>
-            <artifactId>cglib</artifactId>
-            <version>2.2.2</version>
-        </dependency>
-
         <!-- springboot整合mybatis(核心就这一个) -->
         <!-- 注意顺序,这个一定要放在最下面 -->
         <dependency>

+ 1 - 0
src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -103,6 +103,7 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/console/resultStatisticsByDeptPage").permitAll()
                 .antMatchers("/console/homePageMRCount").permitAll()
                 .antMatchers("/console/qcCheckStatistics").permitAll()
+                .antMatchers("/console/unModifyMRStatistics").permitAll()
                 .antMatchers("/consoleByDept/entryCountGroupByCaseAndDept").permitAll()
                 .antMatchers("/consoleByDept/entryCountGroupByCaseAndDeptPage").permitAll()
                 .antMatchers("/consoleByDept/entryCountGroupByEntryAndDept").permitAll()

+ 1 - 0
src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -146,6 +146,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/console/resultStatisticsByDeptPage", request)
                 || matchers("/console/homePageMRCount", request)
                 || matchers("/console/qcCheckStatistics", request)
+                || matchers("/console/unModifyMRStatistics", request)
                 || matchers("/consoleByDept/entryCountGroupByCaseAndDept", request)
                 || matchers("/consoleByDept/entryCountGroupByCaseAndDeptPage", request)
                 || matchers("/consoleByDept/entryCountGroupByEntryAndDept", request)

+ 4 - 2
src/main/java/com/diagbot/dto/ColumnDTO.java

@@ -11,8 +11,10 @@ import lombok.Setter;
 @Getter
 @Setter
 public class ColumnDTO {
-    private String name;
-    private String field;
+    private Long id;
+    private String columnName;
+    private String fieldName;
     private Integer orderNo;
     private String fieldType;
+    private Integer isShow;
 }

+ 6 - 7
src/main/java/com/diagbot/dto/UnModifyMRDTO.java

@@ -3,17 +3,16 @@ package com.diagbot.dto;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.List;
+
 /**
  * @Description:
  * @Author:zhaops
- * @time: 2020/7/13 16:57
+ * @time: 2020/7/14 10:19
  */
 @Getter
 @Setter
 public class UnModifyMRDTO {
-    private String deptId;
-    private String deptName;
-    private Long casesEntryId;
-    private String casesEntryName;
-    private Integer casesEntryNum;
-}
+    private List<ColumnDTO> columns;
+    private List<Object> data;
+}

+ 19 - 0
src/main/java/com/diagbot/dto/UnModifyMRDetailDTO.java

@@ -0,0 +1,19 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2020/7/13 16:57
+ */
+@Getter
+@Setter
+public class UnModifyMRDetailDTO {
+    private String deptId;
+    private String deptName;
+    private Long casesEntryId;
+    private String casesEntryName;
+    private Integer casesEntryNum;
+}

+ 90 - 26
src/main/java/com/diagbot/facade/ConsoleFacade.java

@@ -20,6 +20,7 @@ import com.diagbot.dto.NumDTO;
 import com.diagbot.dto.QcResultPercentDTO;
 import com.diagbot.dto.QcResultShortDTO;
 import com.diagbot.dto.UnModifyMRDTO;
+import com.diagbot.dto.UnModifyMRDetailDTO;
 import com.diagbot.entity.SysHospitalSet;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
@@ -978,7 +979,9 @@ public class ConsoleFacade {
      * @param filterUnModifyMRVO
      * @return
      */
-    public List<Object> unModifyMRStatistics(FilterUnModifyMRVO filterUnModifyMRVO) {
+    public UnModifyMRDTO unModifyMRStatistics(FilterUnModifyMRVO filterUnModifyMRVO) {
+        UnModifyMRDTO unModifyMRDTO = new UnModifyMRDTO();
+        List<Object> retList = Lists.newLinkedList();
         filterFacade.filterUnModifyMRVOSet(filterUnModifyMRVO);
 
         //colums
@@ -991,48 +994,109 @@ public class ConsoleFacade {
             return null;
         }
 
-        List<String> columnSet = Arrays.asList(hospitalSet.getValue().split(",||,"));
+        List<String> columnSet = Arrays.asList(hospitalSet.getValue().split(","));
         List<ColumnDTO> columns = Lists.newLinkedList();
         Integer orderNo = 1;
+        ColumnDTO columnDeptId = new ColumnDTO();
+        columnDeptId.setOrderNo(orderNo);
+        columnDeptId.setFieldName("deptId");
+        columnDeptId.setColumnName("科室编码");
+        columnDeptId.setIsShow(1);
+        columns.add(columnDeptId);
+        orderNo++;
+        ColumnDTO columnDeptName = new ColumnDTO();
+        columnDeptName.setOrderNo(orderNo);
+        columnDeptName.setFieldName("deptName");
+        columnDeptName.setColumnName("科室名称");
+        columnDeptName.setIsShow(1);
+        columns.add(columnDeptName);
+        orderNo++;
+        List<Long> casesEntryIds = Lists.newArrayList();
         for (String valueStr : columnSet) {
-            String[] keyValue = valueStr.split("||");
+            String[] keyValue = valueStr.split("--");
             if (keyValue != null || keyValue.length > 1) {
-                ColumnDTO column = new ColumnDTO();
-                column.setOrderNo(orderNo);
-                column.setField("field_" + keyValue[0]);
-                column.setName(keyValue[1]);
-                columns.add(column);
+                casesEntryIds.add(Long.valueOf(keyValue[0]));
+                ColumnDTO columnId = new ColumnDTO();
+                columnId.setOrderNo(orderNo);
+                columnId.setId(Long.valueOf(keyValue[0]));
+                columnId.setFieldName("entry_" + keyValue[0] + "_id");
+                columnId.setColumnName(keyValue[1] + "id");
+                columnId.setIsShow(0);
+                columns.add(columnId);
+                orderNo++;
+                ColumnDTO columnName = new ColumnDTO();
+                columnName.setOrderNo(orderNo);
+                columnName.setId(Long.valueOf(keyValue[0]));
+                columnName.setFieldName("entry_" + keyValue[0] + "_name");
+                columnName.setColumnName(keyValue[1] + "name");
+                columnName.setIsShow(0);
+                columns.add(columnName);
+                orderNo++;
+                ColumnDTO columnNum = new ColumnDTO();
+                columnNum.setOrderNo(orderNo);
+                columnNum.setId(Long.valueOf(keyValue[0]));
+                columnNum.setFieldName("entry_" + keyValue[0] + "_num");
+                columnNum.setColumnName(keyValue[1]);
+                columnNum.setIsShow(1);
+                columns.add(columnNum);
                 orderNo++;
             }
         }
 
-        //字段名称
-        List<String> fields = columns.stream().map(item -> item.getField()).collect(Collectors.toList());
-
-        List<UnModifyMRDTO> records = behospitalInfoFacade.unModifyMRStatistics(filterUnModifyMRVO);
-        Map<String, List<UnModifyMRDTO>> deptMap = EntityUtil.makeEntityListMap(records, "deptId");
-        Map<String, Map<Long, List<UnModifyMRDTO>>> deptEntryMap = new LinkedHashMap<>();
-        for (Map.Entry<String, List<UnModifyMRDTO>> entry : deptMap.entrySet()) {
-            Map<Long, List<UnModifyMRDTO>> entryMap = EntityUtil.makeEntityListMap(entry.getValue(), "casesEntryId");
+        filterUnModifyMRVO.setCasesEntryIds(casesEntryIds);
+        List<UnModifyMRDetailDTO> records = behospitalInfoFacade.unModifyMRStatistics(filterUnModifyMRVO);
+        Map<String, List<UnModifyMRDetailDTO>> deptMap = EntityUtil.makeEntityListMap(records, "deptId");
+        Map<String, String> deptInfoMap = EntityUtil.makeMapWithKeyValue(records, "deptId", "deptName");
+        Map<String, Map<Long, UnModifyMRDetailDTO>> deptEntryMap = new LinkedHashMap<>();
+        for (Map.Entry<String, List<UnModifyMRDetailDTO>> entry : deptMap.entrySet()) {
+            Map<Long, UnModifyMRDetailDTO> entryMap = EntityUtil.makeEntityMap(entry.getValue(), "casesEntryId");
             deptEntryMap.put(entry.getKey(), entryMap);
         }
-        List<Object> retLists = Lists.newLinkedList();
 
         try {
-            Object obj = new Object();
-            HashMap addMap = new HashMap();
-            HashMap addValMap = new HashMap();
-            for (String fieldName : fields) {
-                addMap.put(fieldName, Class.forName("java.lang.Integer"));
-                addValMap.put("fieldName", "");
+            for (Map.Entry<String, Map<Long, UnModifyMRDetailDTO>> entry : deptEntryMap.entrySet()) {
+                Object obj = new Object();
+                HashMap addMap = new HashMap();
+                HashMap addValMap = new HashMap();
+                addMap.put("deptId", Class.forName("java.lang.String"));
+                addValMap.put("deptId", entry.getKey());
+                addMap.put("deptName", Class.forName("java.lang.String"));
+                addValMap.put("deptName", deptInfoMap.get(entry.getKey()));
+
+                for (ColumnDTO item : columns) {
+                    if (item.getFieldName().lastIndexOf("_id") > 0) {
+                        addMap.put(item.getFieldName(), Class.forName("java.lang.Long"));
+                        if (entry.getValue().containsKey(item.getId())) {
+                            addValMap.put(item.getFieldName(), entry.getValue().get(item.getId()).getCasesEntryId());
+                        } else {
+                            addValMap.put(item.getFieldName(), 0L);
+                        }
+                    } else if (item.getFieldName().lastIndexOf("_name") > 0) {
+                        addMap.put(item.getFieldName(), Class.forName("java.lang.String"));
+                        if (entry.getValue().containsKey(item.getId())) {
+                            addValMap.put(item.getFieldName(), entry.getValue().get(item.getId()).getCasesEntryName());
+                        } else {
+                            addValMap.put(item.getFieldName(), "");
+                        }
+                    } else if (item.getFieldName().lastIndexOf("_num") > 0) {
+                        addMap.put(item.getFieldName(), Class.forName("java.lang.Integer"));
+                        if (entry.getValue().containsKey(item.getId())) {
+                            addValMap.put(item.getFieldName(), entry.getValue().get(item.getId()).getCasesEntryNum());
+                        } else {
+                            addValMap.put(item.getFieldName(), 0);
+                        }
+                    }
+                }
+                obj = new ClassUtil().dynamicClass(obj, addMap, addValMap);
+                retList.add(obj);
             }
-            Object obj2 = new ClassUtil().dynamicClass(obj, addMap, addValMap);
-
 
         } catch (Exception e) {
             e.printStackTrace();
         }
 
-        return null;
+        unModifyMRDTO.setColumns(columns);
+        unModifyMRDTO.setData(retList);
+        return unModifyMRDTO;
     }
 }

+ 2 - 2
src/main/java/com/diagbot/mapper/BehospitalInfoMapper.java

@@ -13,7 +13,7 @@ import com.diagbot.dto.LevelStatisticsTZDTO;
 import com.diagbot.dto.MsgDTO;
 import com.diagbot.dto.NumDTO;
 import com.diagbot.dto.QcResultShortDTO;
-import com.diagbot.dto.UnModifyMRDTO;
+import com.diagbot.dto.UnModifyMRDetailDTO;
 import com.diagbot.entity.BehospitalInfo;
 import com.diagbot.vo.AnalyzeCodeVO;
 import com.diagbot.vo.AnalyzeVO;
@@ -336,5 +336,5 @@ public interface BehospitalInfoMapper extends BaseMapper<BehospitalInfo> {
      * @param filterUnModifyMRVO
      * @return
      */
-    public List<UnModifyMRDTO> unModifyMRStatistics(FilterUnModifyMRVO filterUnModifyMRVO);
+    public List<UnModifyMRDetailDTO> unModifyMRStatistics(FilterUnModifyMRVO filterUnModifyMRVO);
 }

+ 2 - 2
src/main/java/com/diagbot/service/BehospitalInfoService.java

@@ -13,7 +13,7 @@ import com.diagbot.dto.LevelStatisticsTZDTO;
 import com.diagbot.dto.MsgDTO;
 import com.diagbot.dto.NumDTO;
 import com.diagbot.dto.QcResultShortDTO;
-import com.diagbot.dto.UnModifyMRDTO;
+import com.diagbot.dto.UnModifyMRDetailDTO;
 import com.diagbot.entity.BehospitalInfo;
 import com.diagbot.vo.AnalyzeCodeVO;
 import com.diagbot.vo.AnalyzeVO;
@@ -329,5 +329,5 @@ public interface BehospitalInfoService extends IService<BehospitalInfo> {
      * @param filterUnModifyMRVO
      * @return
      */
-    public List<UnModifyMRDTO> unModifyMRStatistics(FilterUnModifyMRVO filterUnModifyMRVO);
+    public List<UnModifyMRDetailDTO> unModifyMRStatistics(FilterUnModifyMRVO filterUnModifyMRVO);
 }

+ 2 - 2
src/main/java/com/diagbot/service/impl/BehospitalInfoServiceImpl.java

@@ -13,7 +13,7 @@ import com.diagbot.dto.LevelStatisticsTZDTO;
 import com.diagbot.dto.MsgDTO;
 import com.diagbot.dto.NumDTO;
 import com.diagbot.dto.QcResultShortDTO;
-import com.diagbot.dto.UnModifyMRDTO;
+import com.diagbot.dto.UnModifyMRDetailDTO;
 import com.diagbot.entity.BehospitalInfo;
 import com.diagbot.mapper.BehospitalInfoMapper;
 import com.diagbot.service.BehospitalInfoService;
@@ -445,7 +445,7 @@ public class BehospitalInfoServiceImpl extends ServiceImpl<BehospitalInfoMapper,
      * @param filterUnModifyMRVO
      * @return
      */
-    public List<UnModifyMRDTO> unModifyMRStatistics(FilterUnModifyMRVO filterUnModifyMRVO){
+    public List<UnModifyMRDetailDTO> unModifyMRStatistics(FilterUnModifyMRVO filterUnModifyMRVO){
         return baseMapper.unModifyMRStatistics(filterUnModifyMRVO);
     }
 }

+ 2 - 2
src/main/java/com/diagbot/util/DynamicBean.java

@@ -1,7 +1,7 @@
 package com.diagbot.util;
 
-import net.sf.cglib.beans.BeanGenerator;
-import net.sf.cglib.beans.BeanMap;
+import org.springframework.cglib.beans.BeanMap;
+import org.springframework.cglib.beans.BeanGenerator;
 
 import java.util.Iterator;
 import java.util.Map;

+ 20 - 0
src/main/java/com/diagbot/web/ConsoleController.java

@@ -15,11 +15,13 @@ import com.diagbot.dto.LevelStatisticsTZDTO;
 import com.diagbot.dto.NumDTO;
 import com.diagbot.dto.QcResultShortDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.UnModifyMRDTO;
 import com.diagbot.facade.ConsoleFacade;
 import com.diagbot.vo.EntryStatisticsVO;
 import com.diagbot.vo.FilterOrderVO;
 import com.diagbot.vo.FilterPageByAverageVO;
 import com.diagbot.vo.FilterPageVO;
+import com.diagbot.vo.FilterUnModifyMRVO;
 import com.diagbot.vo.FilterVO;
 import com.diagbot.vo.QcResultShortPageVO;
 import io.swagger.annotations.Api;
@@ -548,4 +550,22 @@ public class ConsoleController {
     public RespDTO<List<HomePageImproveDTO>> qcCheckStatistics(@RequestBody @Valid FilterOrderVO filterOrderVO) {
         return RespDTO.onSuc(consoleFacade.qcCheckStatistics(filterOrderVO));
     }
+
+    /**
+     * 未整改病历统计
+     *
+     * @param filterUnModifyMRVO
+     * @return
+     */
+    @ApiOperation(value = "未整改病历统计[by:zhaops]",
+            notes = "name: 科室名称 <br>" +
+                    "asc: 排序(升序) <br>" +
+                    "desc:排序(降序) <br>" +
+                    "startDate: 起始时间 <br>" +
+                    "endDate: 截止时间 <br>")
+    @PostMapping("/unModifyMRStatistics")
+    @SysLogger("unModifyMRStatistics")
+    public RespDTO<UnModifyMRDTO> unModifyMRStatistics(@RequestBody @Valid FilterUnModifyMRVO filterUnModifyMRVO) {
+        return RespDTO.onSuc(consoleFacade.unModifyMRStatistics(filterUnModifyMRVO));
+    }
 }

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

@@ -5089,7 +5089,7 @@
     </select>
 
     <!-- 未整改病历统计-->
-    <select id="unModifyMRStatistics" resultType="com.diagbot.dto.UnModifyMRDTO" parameterType="com.diagbot.vo.FilterUnModifyMRVO">
+    <select id="unModifyMRStatistics" resultType="com.diagbot.dto.UnModifyMRDetailDTO" parameterType="com.diagbot.vo.FilterUnModifyMRVO">
         SELECT
         a.beh_dept_id AS deptId,
         a.beh_dept_name AS deptName,
@@ -5116,10 +5116,10 @@
         <if test="hospitalId != null and hospitalId != ''">
             AND a.hospital_id = #{hospitalId}
         </if>
-        <if test="startDate != null and startDate != ''">
+        <if test="startDate != null">
             <![CDATA[ AND a.leave_hospital_date >= #{startDate}]]>
         </if>
-        <if test="endDate != null and endDate != ''">
+        <if test="endDate != null">
             <![CDATA[ AND a.leave_hospital_date <= #{endDate}]]>
         </if>
         <if test="name != null and name != ''">