Browse Source

Merge remote-tracking branch 'origin/dev/20220228_v3.0.1通用版_渠道管理第一期' into dev/20220228_v3.0.1通用版_渠道管理第一期

songxinlu 3 years ago
parent
commit
b99018d406

+ 6 - 0
daqe-center/src/main/java/com/lantone/daqe/dto/GetColumnResultPageDTO.java

@@ -74,4 +74,10 @@ public class GetColumnResultPageDTO implements Serializable {
 
     @ApiModelProperty(value = "最近一次人工核查时间")
     private Date auditTime;
+
+    @ApiModelProperty(value = "记录修改时间")
+    private Date gmtModified;
+
+    @ApiModelProperty(value = "记录创建时间")
+    private Date gmtCreate;
 }

+ 6 - 0
daqe-center/src/main/java/com/lantone/daqe/dto/GetTableColumnInfoDTO.java

@@ -46,5 +46,11 @@ public class GetTableColumnInfoDTO implements Serializable {
     @ApiModelProperty(value = "模块名称")
     private String modeName;
 
+    @ApiModelProperty(value = "文书编号")
+    private String recId;
+
+    @ApiModelProperty(value = "文书标题")
+    private String recTitle;
+
 
 }

+ 97 - 51
daqe-center/src/main/java/com/lantone/daqe/facade/ColumnResultManagementFacade.java

@@ -108,7 +108,7 @@ public class ColumnResultManagementFacade {
         columnResultQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
         columnResultQueryWrapper.eq(StringUtil.isNotBlank(getColumnResultPageVO.getType()), "type", getColumnResultPageVO.getType());
         columnResultQueryWrapper.eq(StringUtil.isNotBlank(getColumnResultPageVO.getIsSolved()), "is_solved", getColumnResultPageVO.getIsSolved());
-        columnResultQueryWrapper.eq(StringUtil.isNotBlank(getColumnResultPageVO.getModeName()),"mode_name", getColumnResultPageVO.getModeName());
+        columnResultQueryWrapper.eq(StringUtil.isNotBlank(getColumnResultPageVO.getModeName()), "mode_name", getColumnResultPageVO.getModeName());
         columnResultQueryWrapper.ge(StringUtil.isNotBlank(startDate), "behospital_date", getColumnResultPageVO.getBehospitalStartDate());
         columnResultQueryWrapper.le(StringUtil.isNotBlank(endDate), "behospital_date", getColumnResultPageVO.getBehospitalEndDate());
         columnResultQueryWrapper.like(StringUtil.isNotBlank(getColumnResultPageVO.getBehospitalCode()), "behospital_code", getColumnResultPageVO.getBehospitalCode());
@@ -235,12 +235,12 @@ public class ColumnResultManagementFacade {
     }
 
     /**
-     *获取枚举所有Name 也就是质控模块名称
+     * 获取枚举所有Name 也就是质控模块名称
      *
      * @param
      * @return:
      */
-    public List<String> getModeName(){
+    public List<String> getModeName() {
         List<String> modeNameList = new ArrayList<>();
         for (ModeEnum value : ModeEnum.values()) {
             modeNameList.add(value.getName());
@@ -258,10 +258,12 @@ public class ColumnResultManagementFacade {
         List<String> behospitalCodeList = new ArrayList<>();
         Long hospitalId = null;
         Long principleId = null;
-        if(dataCheckVO.getHospitalId()==null){
-            hospitalId=SysUserUtils.getCurrentHospitalId();
-            principleId=SysUserUtils.getCurrentPrincipleId();
+        if (dataCheckVO.getHospitalId() == null) {
+            hospitalId = SysUserUtils.getCurrentHospitalId();
+            principleId = SysUserUtils.getCurrentPrincipleId();
         }
+        //获取所有包含rec_id的表名
+        List<String> recColumnTable = getRecColumnTable();
         dataCheckVO.setHospitalId(hospitalId);
         String behospitalCode = dataCheckVO.getBehospitalCode();
         //传入BehospitalCode 只针对单个病历进行校验
@@ -269,14 +271,14 @@ public class ColumnResultManagementFacade {
             List<BehospitalInfo> behospitalInfos = behospitalInfoFacade.getBaseMapper().selectList(new QueryWrapper<BehospitalInfo>()
                     .eq("is_deleted", IsDeleteEnum.N.getKey())
                     .eq("behospital_code", dataCheckVO.getBehospitalCode())
-                    .eq(hospitalId!=null,"hospital_id", hospitalId)
+                    .eq(hospitalId != null, "hospital_id", hospitalId)
             );
             if (ListUtil.isEmpty(behospitalInfos)) {
                 Asserts.fail("该患者信息未查询到!");
             }
             behospitalCodeList.add(behospitalCode);
             //对于集合病历所有校验规则校验其表信息字段
-            checkTableColumnVal(behospitalCodeList,hospitalId,principleId);
+            checkTableColumnVal(behospitalCodeList, hospitalId, principleId, recColumnTable);
         }
         //对于只传时间不传病历的情况
         //创建一个病历集合
@@ -290,7 +292,7 @@ public class ColumnResultManagementFacade {
                 behospitalCodeList.add(behospitalInfo.getBehospitalCode());
             }
             //对于集合病历所有校验规则校验其表信息字段
-            checkTableColumnVal(behospitalCodeList,hospitalId,principleId);
+            checkTableColumnVal(behospitalCodeList, hospitalId, principleId, recColumnTable);
         }
         return true;
     }
@@ -302,23 +304,23 @@ public class ColumnResultManagementFacade {
      * @param behospitalCodeList
      * @return: 具体数据
      */
-    public void checkTableColumnVal(List<String> behospitalCodeList,Long hospitalId,Long principleId) {
+    public void checkTableColumnVal(List<String> behospitalCodeList, Long hospitalId, Long principleId, List<String> recColumnTable) {
         //先获取非空的所有字段校验规则
         List<NonnullInfo> nonnullInfos = getNonnullInfo();
         if (ListUtil.isNotEmpty(nonnullInfos)) {
             //调用校验非空规则方法
-            checkNonnull(nonnullInfos, behospitalCodeList, hospitalId,principleId);
+            checkNonnull(nonnullInfos, behospitalCodeList, hospitalId, principleId, recColumnTable);
         }
         //获取正则所有字段校验规则
         List<GetRegular> regularMappings = getRegularMapping();
         if (ListUtil.isNotEmpty(regularMappings)) {
             //调用校验正则规则
-            checkRegular(regularMappings, behospitalCodeList, hospitalId,principleId);
+            checkRegular(regularMappings, behospitalCodeList, hospitalId, principleId, recColumnTable);
         }
         //获取字段校验的标准值规则
         List<GetStandardvalueInfoDTO> standardvalueInfo = getStandardvalueInfo();
         if (ListUtil.isNotEmpty(standardvalueInfo)) {
-            checkStandardvalue(standardvalueInfo, behospitalCodeList, hospitalId,principleId);
+            checkStandardvalue(standardvalueInfo, behospitalCodeList, hospitalId, principleId, recColumnTable);
         }
     }
 
@@ -383,29 +385,52 @@ public class ColumnResultManagementFacade {
         if (ListUtil.isNotEmpty(nonnullInfoList) || ListUtil.isNotEmpty(standardvalueList) || ListUtil.isNotEmpty(regularList)) {
             //获取30天内所有病历
             List<BehospitalInfo> behospitalInfos = getBehospitalInfos(DateUtil.addDate(DateUtil.now(), -30), DateUtil.now(), hospitalId);
-            if(ListUtil.isNotEmpty(behospitalInfos)) {
+            if (ListUtil.isNotEmpty(behospitalInfos)) {
                 for (BehospitalInfo behospitalInfo : behospitalInfos) {
                     behospitalCodeList.add(behospitalInfo.getBehospitalCode());
                 }
             }
         }
+        //获取所有包含rec_id的表名
+        List<String> recColumnTable = getRecColumnTable();
         //非空校验规则今天有修改
         if (ListUtil.isNotEmpty(nonnullInfoList) && ListUtil.isNotEmpty(behospitalCodeList)) {
             //调用校验非空规则方法
-            checkNonnull(nonnullInfos, behospitalCodeList, hospitalId,principleId);
+            checkNonnull(nonnullInfos, behospitalCodeList, hospitalId, principleId, recColumnTable);
         }
         //正则校验规则今天有修改
         if (ListUtil.isNotEmpty(regularList) && ListUtil.isNotEmpty(behospitalCodeList)) {
             //调用校验正则规则
-            checkRegular(regularMappings, behospitalCodeList, hospitalId,principleId);
+            checkRegular(regularMappings, behospitalCodeList, hospitalId, principleId, recColumnTable);
         }
         //标准值校验规则今天有修改
         if (ListUtil.isNotEmpty(standardvalueList) && ListUtil.isNotEmpty(behospitalCodeList)) {
             //调用校验正则规则
-            checkStandardvalue(standardvalueInfo, behospitalCodeList, hospitalId,principleId);
+            checkStandardvalue(standardvalueInfo, behospitalCodeList, hospitalId, principleId, recColumnTable);
         }
     }
 
+    /**
+     * 获取所有包含rec_id的表名
+     *
+     * @param
+     * @return:
+     */
+    public List<String> getRecColumnTable() {
+        //获取所有包含rec_id的表名
+        List<ColumnInfo> columnInfoList = columnInfoFacade.getBaseMapper().selectList(new QueryWrapper<ColumnInfo>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("column_ename", "rec_id")
+        );
+        List<String> recColumnTable = new ArrayList<>();
+        if (ListUtil.isNotEmpty(columnInfoList)) {
+            for (ColumnInfo columnInfo : columnInfoList) {
+                recColumnTable.add(columnInfo.getTableEname());
+            }
+        }
+        return recColumnTable;
+    }
+
     /**
      * 获取时间段内所有病历
      *
@@ -464,7 +489,7 @@ public class ColumnResultManagementFacade {
      * @param hospitalId
      * @return:
      */
-    public void checkNonnull(List<NonnullInfo> nonnullInfos, List<String> behospitalCodeList, Long hospitalId,Long principleId) {
+    public void checkNonnull(List<NonnullInfo> nonnullInfos, List<String> behospitalCodeList, Long hospitalId, Long principleId, List<String> recColumnTable) {
         for (NonnullInfo nonnullInfo : nonnullInfos) {
             Long columnId = nonnullInfo.getColumnId();
             ColumnInfo columnInfo = columnInfoFacade.getBaseMapper().selectById(columnId);
@@ -478,13 +503,13 @@ public class ColumnResultManagementFacade {
             getTableColumnInfoVO.setHospitalId(hospitalId);
             String columnNumber = getColumnNumber(columnInfo.getTableCname());
             getTableColumnInfoVO.setNumberColumnCname(columnNumber);
-            List<GetTableColumnInfoDTO> tableColumnVal = getTableColumnVal(getTableColumnInfoVO);
+            List<GetTableColumnInfoDTO> tableColumnVal = getTableColumnVal(getTableColumnInfoVO, recColumnTable);
             //枚举获取模块信息
             String modeId = ModeEnum.valueOf(columnInfo.getTableEname()).getKey();
             String modeName = ModeEnum.valueOf(columnInfo.getTableEname()).getName();
             //删除结果表所有的信息
-            removeNonnullResultSolved(behospitalCodeList, hospitalId,columnId);
-            removeColumnResultSolved(behospitalCodeList,hospitalId, columnId, ColumnResultTypeEnum.NONNULL_TYPE.getKey());
+            removeNonnullResultSolved(behospitalCodeList, hospitalId, columnId);
+            removeColumnResultSolved(behospitalCodeList, hospitalId, columnId, ColumnResultTypeEnum.NONNULL_TYPE.getKey());
             for (GetTableColumnInfoDTO getTableColumnInfoDTO : tableColumnVal) {
                 getTableColumnInfoDTO.setModeId(Long.valueOf(modeId));
                 getTableColumnInfoDTO.setModeName(modeName);
@@ -504,8 +529,12 @@ public class ColumnResultManagementFacade {
                     nonnullResult.setBehospitalCode(getTableColumnInfoDTO.getBehospitalCode());
                     nonnullResult.setModeId(getTableColumnInfoDTO.getModeId());
                     nonnullResult.setModeName(getTableColumnInfoDTO.getModeName());
-                    nonnullResult.setHosptialDatatmpCode(modeId);
-                    nonnullResult.setHosptialDatatmpName(modeName);
+                    if (StringUtil.isNotEmpty(getTableColumnInfoDTO.getRecId())) {
+                        nonnullResult.setHosptialDatatmpCode(getTableColumnInfoDTO.getRecId());
+                    }
+                    if (StringUtil.isNotEmpty(getTableColumnInfoDTO.getRecTitle())) {
+                        nonnullResult.setHosptialDatatmpName(getTableColumnInfoDTO.getRecTitle());
+                    }
                     nonnullResult.setColumnId(nonnullInfo.getColumnId());
                     nonnullResult.setBehospitalDate(getTableColumnInfoDTO.getBehospitalDate());
                     nonnullResult.setTableCname(columnInfo.getTableCname());
@@ -514,7 +543,7 @@ public class ColumnResultManagementFacade {
                     nonnullResult.setTableEname(columnInfo.getTableEname());
                     nonnullResult.setColumnCname(columnInfo.getColumnCname());
                     nonnullResult.setColumnEname(columnInfo.getColumnEname());
-                    if(principleId!=null) {
+                    if (principleId != null) {
                         nonnullResult.setCreator(principleId.toString());
                     }
                     nonnullResult.setTableId(getTableColumnInfoDTO.getTableId());
@@ -526,7 +555,7 @@ public class ColumnResultManagementFacade {
                     nonnullResultFacade.getBaseMapper().insert(nonnullResult);
                     Long id = nonnullResult.getId();
                     //加入总结果表
-                    addColumnResult(getTableColumnInfoDTO, columnInfo, columnId, id, ColumnResultTypeEnum.NONNULL_TYPE.getKey(),principleId);
+                    addColumnResult(getTableColumnInfoDTO, columnInfo, columnId, id, ColumnResultTypeEnum.NONNULL_TYPE.getKey(), principleId);
                 }
             }
         }
@@ -540,7 +569,7 @@ public class ColumnResultManagementFacade {
      * @param hospitalId
      * @return:
      */
-    public void checkRegular(List<GetRegular> regularMappings, List<String> behospitalCodeList, Long hospitalId,Long principleId) {
+    public void checkRegular(List<GetRegular> regularMappings, List<String> behospitalCodeList, Long hospitalId, Long principleId, List<String> recColumnTable) {
         for (GetRegular getRegular : regularMappings) {
             Long columnId = getRegular.getColumnId();
             ColumnInfo columnInfo = columnInfoFacade.getBaseMapper().selectById(columnId);
@@ -553,13 +582,13 @@ public class ColumnResultManagementFacade {
             getTableColumnInfoVO.setHospitalId(hospitalId);
             String columnNumber = getColumnNumber(columnInfo.getTableCname());
             getTableColumnInfoVO.setNumberColumnCname(columnNumber);
-            List<GetTableColumnInfoDTO> tableColumnVal = getTableColumnVal(getTableColumnInfoVO);
+            List<GetTableColumnInfoDTO> tableColumnVal = getTableColumnVal(getTableColumnInfoVO, recColumnTable);
             String modeId = ModeEnum.valueOf(columnInfo.getTableEname()).getKey();
             String modeName = ModeEnum.valueOf(columnInfo.getTableEname()).getName();
             String regular = getRegular.getVal();
             //删除病历集合对应字段结果表所有的信息
-            removeRegularResultSolved(behospitalCodeList,hospitalId, columnId);
-            removeColumnResultSolved(behospitalCodeList,hospitalId, columnId, ColumnResultTypeEnum.REGULAR_TYPE.getKey());
+            removeRegularResultSolved(behospitalCodeList, hospitalId, columnId);
+            removeColumnResultSolved(behospitalCodeList, hospitalId, columnId, ColumnResultTypeEnum.REGULAR_TYPE.getKey());
             for (GetTableColumnInfoDTO getTableColumnInfoDTO : tableColumnVal) {
                 getTableColumnInfoDTO.setModeId(Long.valueOf(modeId));
                 getTableColumnInfoDTO.setModeName(modeName);
@@ -582,12 +611,16 @@ public class ColumnResultManagementFacade {
                     regularResult.setTableEname(columnInfo.getTableEname());
                     regularResult.setColumnCname(columnInfo.getColumnCname());
                     regularResult.setColumnEname(columnInfo.getColumnEname());
-                    regularResult.setHosptialDatatmpCode(modeId);
-                    regularResult.setHosptialDatatmpName(modeName);
+                    if (StringUtil.isNotEmpty(getTableColumnInfoDTO.getRecId())) {
+                        regularResult.setHosptialDatatmpCode(getTableColumnInfoDTO.getRecId());
+                    }
+                    if (StringUtil.isNotEmpty(getTableColumnInfoDTO.getRecTitle())) {
+                        regularResult.setHosptialDatatmpName(getTableColumnInfoDTO.getRecTitle());
+                    }
                     regularResult.setBehospitalDate(getTableColumnInfoDTO.getBehospitalDate());
                     regularResult.setHospitalDataCode(getTableColumnInfoDTO.getNumberId());
                     regularResult.setRegularId(getRegular.getId());
-                    if(principleId!=null) {
+                    if (principleId != null) {
                         regularResult.setCreator(principleId.toString());
                     }
                     regularResult.setRegularName(getRegular.getName());
@@ -603,7 +636,7 @@ public class ColumnResultManagementFacade {
                     regularResultFacade.getBaseMapper().insert(regularResult);
                     Long id = regularResult.getId();
                     //加入总结果表
-                    addColumnResult(getTableColumnInfoDTO, columnInfo, columnId, id, ColumnResultTypeEnum.REGULAR_TYPE.getKey(),principleId);
+                    addColumnResult(getTableColumnInfoDTO, columnInfo, columnId, id, ColumnResultTypeEnum.REGULAR_TYPE.getKey(), principleId);
                 }
             }
         }
@@ -617,7 +650,7 @@ public class ColumnResultManagementFacade {
      * @param hospitalId
      * @return:
      */
-    public void checkStandardvalue(List<GetStandardvalueInfoDTO> standardvalueInfos, List<String> behospitalCodeList, Long hospitalId,Long principleId) {
+    public void checkStandardvalue(List<GetStandardvalueInfoDTO> standardvalueInfos, List<String> behospitalCodeList, Long hospitalId, Long principleId, List<String> recColumnTable) {
         for (GetStandardvalueInfoDTO standardvalueInfo : standardvalueInfos) {
             Long columnId = standardvalueInfo.getColumnId();
             ColumnInfo columnInfo = columnInfoFacade.getBaseMapper().selectById(columnId);
@@ -630,13 +663,13 @@ public class ColumnResultManagementFacade {
             getTableColumnInfoVO.setHospitalId(hospitalId);
             String columnNumber = getColumnNumber(columnInfo.getTableCname());
             getTableColumnInfoVO.setNumberColumnCname(columnNumber);
-            List<GetTableColumnInfoDTO> tableColumnVal = getTableColumnVal(getTableColumnInfoVO);
+            List<GetTableColumnInfoDTO> tableColumnVal = getTableColumnVal(getTableColumnInfoVO, recColumnTable);
             String standardvalue = standardvalueInfo.getStandardvalue();
             String modeId = ModeEnum.valueOf(columnInfo.getTableEname()).getKey();
             String modeName = ModeEnum.valueOf(columnInfo.getTableEname()).getName();
             //删除结果表所有的信息
-            removeStandardvalueResultSolved(behospitalCodeList,hospitalId, columnId);
-            removeColumnResultSolved(behospitalCodeList,hospitalId, columnId, ColumnResultTypeEnum.STANDARD_TYPE.getKey());
+            removeStandardvalueResultSolved(behospitalCodeList, hospitalId, columnId);
+            removeColumnResultSolved(behospitalCodeList, hospitalId, columnId, ColumnResultTypeEnum.STANDARD_TYPE.getKey());
             for (GetTableColumnInfoDTO getTableColumnInfoDTO : tableColumnVal) {
                 getTableColumnInfoDTO.setModeId(Long.valueOf(modeId));
                 getTableColumnInfoDTO.setModeName(modeName);
@@ -658,16 +691,20 @@ public class ColumnResultManagementFacade {
                     standardvalueResult.setModeName(getTableColumnInfoDTO.getModeName());
                     standardvalueResult.setColumnId(columnId);
                     standardvalueResult.setMappings(standardvalueMapping);
-                    standardvalueResult.setHosptialDatatmpCode(modeId);
                     standardvalueResult.setBehospitalDate(getTableColumnInfoDTO.getBehospitalDate());
-                    standardvalueResult.setHosptialDatatmpName(modeName);
+                    if (StringUtil.isNotEmpty(getTableColumnInfoDTO.getRecId())) {
+                        standardvalueResult.setHosptialDatatmpCode(getTableColumnInfoDTO.getRecId());
+                    }
+                    if (StringUtil.isNotEmpty(getTableColumnInfoDTO.getRecTitle())) {
+                        standardvalueResult.setHosptialDatatmpName(getTableColumnInfoDTO.getRecTitle());
+                    }
                     standardvalueResult.setTableCname(columnInfo.getTableCname());
                     standardvalueResult.setBehospitalDate(getTableColumnInfoDTO.getBehospitalDate());
                     standardvalueResult.setTableEname(columnInfo.getTableEname());
                     standardvalueResult.setColumnCname(columnInfo.getColumnCname());
                     standardvalueResult.setColumnEname(columnInfo.getColumnEname());
                     standardvalueResult.setHospitalDataCode(getTableColumnInfoDTO.getNumberId());
-                    if(principleId!=null) {
+                    if (principleId != null) {
                         standardvalueResult.setCreator(principleId.toString());
                     }
                     standardvalueResult.setTableId(getTableColumnInfoDTO.getTableId());
@@ -679,7 +716,7 @@ public class ColumnResultManagementFacade {
                     standardvalueResultFacade.getBaseMapper().insert(standardvalueResult);
                     Long id = standardvalueResult.getId();
                     //加入总结果表
-                    addColumnResult(getTableColumnInfoDTO, columnInfo, columnId, id, ColumnResultTypeEnum.STANDARD_TYPE.getKey(),principleId);
+                    addColumnResult(getTableColumnInfoDTO, columnInfo, columnId, id, ColumnResultTypeEnum.STANDARD_TYPE.getKey(), principleId);
                 }
             }
         }
@@ -691,7 +728,12 @@ public class ColumnResultManagementFacade {
      * @param getTableColumnInfoVO
      * @return: 具体数据
      */
-    public List<GetTableColumnInfoDTO> getTableColumnVal(GetTableColumnInfoVO getTableColumnInfoVO) {
+    public List<GetTableColumnInfoDTO> getTableColumnVal(GetTableColumnInfoVO getTableColumnInfoVO, List<String> recColumnTable) {
+        //判断此规则是否包含rec_id
+        if (ListUtil.isNotEmpty(recColumnTable) && recColumnTable.contains(getTableColumnInfoVO.getTableEname())) {
+            List<GetTableColumnInfoDTO> tableColumnVal = columnResultFacade.getBaseMapper().getRecSpecialTableColumnVal(getTableColumnInfoVO);
+            return tableColumnVal;
+        }
         List<GetTableColumnInfoDTO> tableColumnVal = columnResultFacade.getBaseMapper().getSpecialTableColumnVal(getTableColumnInfoVO);
         return tableColumnVal;
     }
@@ -740,7 +782,7 @@ public class ColumnResultManagementFacade {
      * @param columnId
      * @return:
      */
-    public void removeNonnullResultSolved(List<String> behospitalCodeList,Long hospitalId, Long columnId) {
+    public void removeNonnullResultSolved(List<String> behospitalCodeList, Long hospitalId, Long columnId) {
         nonnullResultFacade.remove(new UpdateWrapper<NonnullResult>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("hospital_id", hospitalId)
@@ -750,14 +792,14 @@ public class ColumnResultManagementFacade {
     }
 
     /**
-     *删除正则校验结果表信息
+     * 删除正则校验结果表信息
      *
      * @param behospitalCodeList
      * @param hospitalId
      * @param columnId
      * @return:
      */
-    public void removeRegularResultSolved(List<String> behospitalCodeList,Long hospitalId, Long columnId) {
+    public void removeRegularResultSolved(List<String> behospitalCodeList, Long hospitalId, Long columnId) {
         regularResultFacade.remove(new UpdateWrapper<RegularResult>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("hospital_id", hospitalId)
@@ -774,7 +816,7 @@ public class ColumnResultManagementFacade {
      * @param columnId
      * @return:
      */
-    public void removeStandardvalueResultSolved(List<String> behospitalCodeList,Long hospitalId, Long columnId) {
+    public void removeStandardvalueResultSolved(List<String> behospitalCodeList, Long hospitalId, Long columnId) {
         standardvalueResultFacade.remove(new UpdateWrapper<StandardvalueResult>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("hospital_id", hospitalId)
@@ -791,7 +833,7 @@ public class ColumnResultManagementFacade {
      * @param columnId
      * @return:
      */
-    public void removeColumnResultSolved(List<String> behospitalCodeList,Long hospitalId, Long columnId, String type) {
+    public void removeColumnResultSolved(List<String> behospitalCodeList, Long hospitalId, Long columnId, String type) {
         //未解决修改
         columnResultFacade.remove(new UpdateWrapper<ColumnResult>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -812,17 +854,21 @@ public class ColumnResultManagementFacade {
      * @param type
      * @return:
      */
-    public void addColumnResult(GetTableColumnInfoDTO getTableColumnInfoDTO, ColumnInfo columnInfo, Long columnId, Long id, String type,Long principleId) {
+    public void addColumnResult(GetTableColumnInfoDTO getTableColumnInfoDTO, ColumnInfo columnInfo, Long columnId, Long id, String type, Long principleId) {
         ColumnResult columnResult = new ColumnResult();
         columnResult.setHospitalId(getTableColumnInfoDTO.getHospitalId());
         columnResult.setBehospitalCode(getTableColumnInfoDTO.getBehospitalCode());
         columnResult.setModeId(getTableColumnInfoDTO.getModeId());
         columnResult.setModeName(getTableColumnInfoDTO.getModeName());
-        columnResult.setHosptialDatatmpCode(getTableColumnInfoDTO.getModeId().toString());
-        columnResult.setHosptialDatatmpName(getTableColumnInfoDTO.getModeName());
+        if (StringUtil.isNotEmpty(getTableColumnInfoDTO.getRecId())) {
+            columnResult.setHosptialDatatmpCode(getTableColumnInfoDTO.getRecId());
+        }
+        if (StringUtil.isNotEmpty(getTableColumnInfoDTO.getRecTitle())) {
+            columnResult.setHosptialDatatmpName(getTableColumnInfoDTO.getRecTitle());
+        }
         columnResult.setHospitalDataCode(getTableColumnInfoDTO.getNumberId());
         columnResult.setColumnId(columnId);
-        if(principleId!=null) {
+        if (principleId != null) {
             columnResult.setCreator(principleId.toString());
         }
         columnResult.setBehospitalDate(getTableColumnInfoDTO.getBehospitalDate());

+ 2 - 0
daqe-center/src/main/java/com/lantone/daqe/mapper/ColumnResultMapper.java

@@ -20,4 +20,6 @@ public interface ColumnResultMapper extends BaseMapper<ColumnResult> {
 
 
     List<GetTableColumnInfoDTO> getSpecialTableColumnVal(@Param("getTableColumnInfoVO") GetTableColumnInfoVO getTableColumnInfoVO);
+
+    List<GetTableColumnInfoDTO> getRecSpecialTableColumnVal(@Param("getTableColumnInfoVO") GetTableColumnInfoVO getTableColumnInfoVO);
 }

+ 41 - 0
daqe-center/src/main/resources/mapper/ColumnResultMapper.xml

@@ -60,4 +60,45 @@
         AND sdd.is_deleted = 'N'
         AND a.hospital_id = sdd.hospital_id
     </select>
+
+
+    <select id="getRecSpecialTableColumnVal" resultType="com.lantone.daqe.dto.GetTableColumnInfoDTO">
+        SELECT
+        a.behospital_code,
+        a.hospital_id,
+        sdd.id tableId,
+        a.behospital_date,
+        mmr.rec_id,
+        mmr.rec_title,
+        sdd.${getTableColumnInfoVO.columnEname} val,
+        sdd.${getTableColumnInfoVO.numberColumnCname} numberId
+        FROM
+        (
+        SELECT
+        behospital_code,
+        hospital_id,
+        behospital_date
+        FROM
+        med_behospital_info
+        WHERE
+        is_deleted = 'N'
+        <if test="getTableColumnInfoVO.hospitalId != null and getTableColumnInfoVO.hospitalId != ''">
+            AND hospital_id = #{getTableColumnInfoVO.hospitalId}
+        </if>
+        AND behospital_code in
+        <foreach collection="getTableColumnInfoVO.behospitalCodeList" item="behospitalCode" open="(" separator=","
+                 close=")">
+            #{behospitalCode}
+        </foreach>
+        ) a,
+        med_medical_record mmr ,
+        ${getTableColumnInfoVO.tableEname} sdd
+        where
+        a.behospital_code = mmr.behospital_code
+        and sdd.behospital_code = a.behospital_code
+        and sdd.rec_id=mmr.rec_id
+        AND sdd.is_deleted = 'N'
+        AND mmr.is_deleted = 'N'
+        AND a.hospital_id = sdd.hospital_id
+    </select>
 </mapper>

+ 12 - 10
mdsp-service/src/main/java/com/lantone/facade/cdss/MappingConfigFacade.java

@@ -102,7 +102,9 @@ public class MappingConfigFacade extends MappingConfigServiceImpl {
     private MappingConfigService mappingConfigService;
     @Autowired
     private DictionaryFacade dictionaryFacade;
-
+    @Autowired
+    private SysUserUtils sysUserUtils;
+    
     /**
      * 分页查询
      *
@@ -112,7 +114,7 @@ public class MappingConfigFacade extends MappingConfigServiceImpl {
     @Override
     public IPage<MappingConfigWrapper> getPage(MappingConfigPageVO mappingConfigPageVO) {
         if (mappingConfigPageVO.getHospitalId() == null) {
-            mappingConfigPageVO.setHospitalId(Long.valueOf(SysUserUtils.getCurrentHospitalID()));
+            mappingConfigPageVO.setHospitalId(Long.valueOf(sysUserUtils.getCurrentHospitalID()));
         }
 
         FilterVO filterVO = new FilterVO();
@@ -436,7 +438,7 @@ public class MappingConfigFacade extends MappingConfigServiceImpl {
      */
     public void exportExcel(HttpServletResponse response, MappingConfigPageVO mappingConfigPageVO) {
         if (mappingConfigPageVO.getHospitalId() == null) {
-            mappingConfigPageVO.setHospitalId(Long.valueOf(SysUserUtils.getCurrentHospitalID()));
+            mappingConfigPageVO.setHospitalId(Long.valueOf(sysUserUtils.getCurrentHospitalID()));
         }
         mappingConfigPageVO.setHisName("");
         mappingConfigPageVO.setHisDetailName("");
@@ -456,7 +458,7 @@ public class MappingConfigFacade extends MappingConfigServiceImpl {
      */
     public List<MappingConfigWrapper> exportExcel_remote(MappingConfigPageVO mappingConfigPageVO) {
         if (mappingConfigPageVO.getHospitalId() == null) {
-            mappingConfigPageVO.setHospitalId(Long.valueOf(SysUserUtils.getCurrentHospitalID()));
+            mappingConfigPageVO.setHospitalId(Long.valueOf(sysUserUtils.getCurrentHospitalID()));
         }
         mappingConfigPageVO.setHisName("");
         mappingConfigPageVO.setHisDetailName("");
@@ -1298,7 +1300,7 @@ public class MappingConfigFacade extends MappingConfigServiceImpl {
      */
     public void importExcel(HttpServletResponse response, MultipartFile file, Long hospitalId, Integer type, String userId) {
         if (hospitalId == null) {
-            hospitalId = Long.valueOf(SysUserUtils.getCurrentHospitalID());
+            hospitalId = Long.valueOf(sysUserUtils.getCurrentHospitalID());
         }
         if (StringUtil.isBlank(userId)) {
             userId = SysUserUtils.getCurrentPrincipleID();
@@ -1325,7 +1327,7 @@ public class MappingConfigFacade extends MappingConfigServiceImpl {
      */
     public List<MappingConfigWrapper> importExcel_remote(HttpServletResponse response, MultipartFile file, Long hospitalId, Integer type, String userId) {
         if (hospitalId == null) {
-            hospitalId = Long.valueOf(SysUserUtils.getCurrentHospitalID());
+            hospitalId = Long.valueOf(sysUserUtils.getCurrentHospitalID());
         }
         if (StringUtil.isBlank(userId)) {
             userId = SysUserUtils.getCurrentPrincipleID();
@@ -1350,7 +1352,7 @@ public class MappingConfigFacade extends MappingConfigServiceImpl {
      */
     public Boolean importExcelDataVerify(MultipartFile file, Long hospitalId, Integer type, String userId) {
         if (hospitalId == null) {
-            hospitalId = Long.valueOf(SysUserUtils.getCurrentHospitalID());
+            hospitalId = Long.valueOf(sysUserUtils.getCurrentHospitalID());
         }
         if (StringUtil.isBlank(userId)) {
             userId = SysUserUtils.getCurrentPrincipleID();
@@ -1947,7 +1949,7 @@ public class MappingConfigFacade extends MappingConfigServiceImpl {
     public List<MappingConfigWrapper> getRelatedMapping(MappingConfigVO mappingConfigVO) {
         List<MappingConfigWrapper> retList = Lists.newLinkedList();
         if (mappingConfigVO.getHospitalId() == null) {
-            mappingConfigVO.setHospitalId(Long.valueOf(SysUserUtils.getCurrentHospitalID()));
+            mappingConfigVO.setHospitalId(Long.valueOf(sysUserUtils.getCurrentHospitalID()));
         }
         QueryWrapper<MappingConfig> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -1986,7 +1988,7 @@ public class MappingConfigFacade extends MappingConfigServiceImpl {
             throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "请输入请输入术语类型:1-化验、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、10-量表、11-护理、12-中医诊断、13-中医证候、14-麻醉、16-给药途径");
         }
         if (mappingConfig.getHospitalId() == null) {
-            mappingConfig.setHospitalId(Long.valueOf(SysUserUtils.getCurrentHospitalID()));
+            mappingConfig.setHospitalId(Long.valueOf(sysUserUtils.getCurrentHospitalID()));
         }
         QueryWrapper<MappingConfig> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -2045,7 +2047,7 @@ public class MappingConfigFacade extends MappingConfigServiceImpl {
             throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "标准术语不允许为空,请输入标准术语id");
         }
         if (mappingConfig.getHospitalId() == null) {
-            mappingConfig.setHospitalId(Long.valueOf(SysUserUtils.getCurrentHospitalID()));
+            mappingConfig.setHospitalId(Long.valueOf(sysUserUtils.getCurrentHospitalID()));
         }
         String userId = "";
         if (StringUtil.isBlank(mappingConfig.getModifier())) {

+ 14 - 2
mdsp-service/src/main/java/com/lantone/util/SysUserUtils.java

@@ -1,12 +1,23 @@
 package com.lantone.util;
 
+import com.lantone.common.constant.AuthConstant;
+import com.lantone.common.service.RedisService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
 /**
  * @Description: 用户工具类
  * @author: gaodm
  * @time: 2018/8/3 17:46
  */
+@Component
 public class SysUserUtils {
 
+    @Autowired
+    private RedisService redisService;
+
     /**
      * 获取当前请求的用户ID
      *
@@ -21,8 +32,9 @@ public class SysUserUtils {
      *
      * @return
      */
-    public static String getCurrentHospitalID() {
-        return "3";
+    public String getCurrentHospitalID() {
+        Map<String, Map<String, Map<String, String>>> dicMap = redisService.get(AuthConstant.DIC_MAP_KEY);
+        return dicMap.get("0").get("53").get(com.lantone.common.util.SysUserUtils.getCurrentHospitalIdStr());
     }
 
 }