Sfoglia il codice sorgente

修改查看申诉、审核详情接口

songxinlu 3 anni fa
parent
commit
d425e1fd6d

+ 83 - 0
common/src/main/java/com/lantone/common/dto/appeal/AppealExamineRecordDTO.java

@@ -0,0 +1,83 @@
+package com.lantone.common.dto.appeal;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Description: 申诉审核记录对象
+ * @Author songxl
+ */
+@Data
+public class AppealExamineRecordDTO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "申诉id")
+    private Long id;
+
+    @ApiModelProperty(value = "条目ID")
+    private Long casesEntryId;
+
+    @ApiModelProperty(value = "质控条目(新增已有操作才有值)")
+    private String casesEntryName;
+
+    @ApiModelProperty(value = "申诉-提示信息(新增已有操作才有值)")
+    private String casesEntryMsg;
+
+    @ApiModelProperty(value = "申诉-分值(新增已有操作才有值)")
+    private BigDecimal value;
+
+    @ApiModelProperty(value = "申诉人id")
+    private Long claimantId;
+
+    @ApiModelProperty(value = "申诉类型(0:医生申诉|1:质控申诉)")
+    private String appealType;
+
+    @ApiModelProperty(value = "申诉操作类型(0:删改|1:新增已有|2:新增缺失|3:恢复)")
+    private String appealOperationType;
+
+    @ApiModelProperty(value = "申诉说明")
+    private String appealExplain;
+
+    @ApiModelProperty(value = "审核人id")
+    private Long checkId;
+
+    @ApiModelProperty(value = "申诉备注")
+    private String appealRemark;
+
+    @ApiModelProperty(value = "审核状态:1:驳回|2:通过")
+    private String exampleStatus;
+
+    @ApiModelProperty(value = "审核处理方式: 1:修改|2:删除|3:新增已有|4:新增缺失|5:恢复")
+    private String exampleOperation;
+
+    @ApiModelProperty(value = "处理结果")
+    private String processResult;
+
+    @ApiModelProperty(value = "驳回理由")
+    private String rejectReason;
+
+    @ApiModelProperty(value = "审核备注")
+    private String exampleRemark;
+
+    @ApiModelProperty(value = "申诉人姓名")
+    private String claimantName;
+
+    @ApiModelProperty(value = "审核人姓名")
+    private String checkName;
+
+    @ApiModelProperty(value = "申诉时间")
+    private Date appealCreateDate;
+
+    @ApiModelProperty(value = "审核时间")
+    private Date appealExamineDate;
+
+    @ApiModelProperty(value = "审核-提示信息")
+    private String msg;
+
+    @ApiModelProperty(value = "审核-分值")
+    private BigDecimal score;
+}

+ 13 - 74
common/src/main/java/com/lantone/common/dto/appeal/GetAppealInfoDTO.java

@@ -6,6 +6,7 @@ import lombok.Data;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @Description: 申诉审核内容对象
@@ -14,6 +15,10 @@ import java.util.Date;
 @Data
 public class GetAppealInfoDTO implements Serializable {
     private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "医院ID")
+    private Long hospitalId;
+
     @ApiModelProperty(value = "病人住院ID")
     private String behospitalCode;
 
@@ -44,33 +49,6 @@ public class GetAppealInfoDTO implements Serializable {
     @ApiModelProperty(value = "出院时间")
     private Date leaveHospitalDate;
 
-    @ApiModelProperty(value = "申诉id")
-    private Long id;
-
-    @ApiModelProperty(value = "医院ID")
-    private Long hospitalId;
-
-    @ApiModelProperty(value = "质控缺陷id")
-    private Long qcresultDetailId;
-
-    @ApiModelProperty(value = "缺陷详情")
-    private String qcresultDetailMsg;
-
-    @ApiModelProperty(value = "缺陷扣分分值")
-    private BigDecimal qcresultDetaiValue;
-
-    @ApiModelProperty(value = "条目ID")
-    private Long casesEntryId;
-
-    @ApiModelProperty(value = "质控条目(新增已有操作才有值)")
-    private String casesEntryName;
-
-    @ApiModelProperty(value = "申诉-提示信息(新增已有操作才有值)")
-    private String casesEntryMsg;
-
-    @ApiModelProperty(value = "申诉-分值(新增已有操作才有值)")
-    private BigDecimal value;
-
     @ApiModelProperty(value = "申诉模块id")
     private Long casesId;
 
@@ -80,54 +58,15 @@ public class GetAppealInfoDTO implements Serializable {
     @ApiModelProperty(value = "病历内容")
     private String defectContent;
 
-    @ApiModelProperty(value = "申诉人id")
-    private Long claimantId;
-
-    @ApiModelProperty(value = "申诉类型(0:医生申诉|1:质控申诉)")
-    private String appealType;
-
-    @ApiModelProperty(value = "申诉操作类型(0:删改|1:新增已有|2:新增缺失|3:恢复)")
-    private String appealOperationType;
-
-    @ApiModelProperty(value = "申诉说明")
-    private String appealExplain;
-
-    @ApiModelProperty(value = "审核人id")
-    private Long checkId;
-
-    @ApiModelProperty(value = "申诉备注")
-    private String appealRemark;
-
-    @ApiModelProperty(value = "审核状态:1:驳回|2:通过")
-    private String exampleStatus;
-
-    @ApiModelProperty(value = "审核处理方式: 1:修改|2:删除|3:新增已有|4:新增缺失|5:恢复")
-    private String exampleOperation;
-
-    @ApiModelProperty(value = "处理结果")
-    private String processResult;
-
-    @ApiModelProperty(value = "驳回理由")
-    private String rejectReason;
-
-    @ApiModelProperty(value = "审核备注")
-    private String exampleRemark;
-
-    @ApiModelProperty(value = "申诉人姓名")
-    private String claimantName;
-
-    @ApiModelProperty(value = "审核人姓名")
-    private String checkName;
-
-    @ApiModelProperty(value = "申诉时间")
-    private Date appealCreateDate;
+    @ApiModelProperty(value = "质控缺陷id")
+    private Long qcresultDetailId;
 
-    @ApiModelProperty(value = "审核时间")
-    private Date appealExamineDate;
+    @ApiModelProperty(value = "缺陷详情")
+    private String qcresultDetailMsg;
 
-    @ApiModelProperty(value = "审核-提示信息")
-    private String msg;
+    @ApiModelProperty(value = "缺陷扣分分值")
+    private BigDecimal qcresultDetaiValue;
 
-    @ApiModelProperty(value = "审核-分值")
-    private BigDecimal score;
+    @ApiModelProperty(value = "申诉审核记录")
+    private List<AppealExamineRecordDTO> appealExamineRecordDTOList;
 }

+ 17 - 2
common/src/main/java/com/lantone/common/vo/appeal/GetAppealInfoVO.java

@@ -16,6 +16,21 @@ public class GetAppealInfoVO {
     @NotNull(message = "申诉id不能为空")
     private Long id;
 
-    @ApiModelProperty(value = "类型 1:申诉查看|2:审核查看")
-    private String type = "1";
+    @ApiModelProperty(value = "医院ID")
+    private Long hospitalId;
+
+    @ApiModelProperty(value = "病人住院ID")
+    private String behospitalCode;
+
+    @ApiModelProperty(value = "条目ID")
+    private Long casesEntryId;
+
+    @ApiModelProperty(value = "质控缺陷id")
+    private Long qcresultDetailId;
+
+    @ApiModelProperty(value = "解释说明" ,hidden = true)
+    private String appealExplain;
+
+//    @ApiModelProperty(value = "类型 1:申诉查看|2:审核查看")
+//    private String type = "1";
 }

+ 6 - 0
dblayer-mbg/src/main/java/com/lantone/dblayermbg/mapperdb2/AppealInfoMapper.java

@@ -1,11 +1,14 @@
 package com.lantone.dblayermbg.mapperdb2;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.lantone.common.dto.appeal.AppealExamineRecordDTO;
 import com.lantone.common.dto.appeal.GetAppealInfoDTO;
 import com.lantone.common.vo.appeal.GetAppealInfoVO;
 import com.lantone.dblayermbg.entity.appeal.AppealInfo;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 表名:med_appeal_info Mapper接口
@@ -14,5 +17,8 @@ import org.apache.ibatis.annotations.Param;
 public interface AppealInfoMapper extends BaseMapper<AppealInfo> {
 
     GetAppealInfoDTO getAppealInfo(@Param("getAppealInfoVO") GetAppealInfoVO getAppealInfoVO);
+
+    List<AppealExamineRecordDTO> getAppealExamineRecords(@Param("getAppealInfoVO") GetAppealInfoVO getAppealInfoVO);
+
     String getCasesName(@Param("id") Long id);
 }

+ 43 - 23
dblayer-mbg/src/main/resources/mapperdb2/AppealInfoMapper.xml

@@ -4,6 +4,7 @@
 
     <select id="getAppealInfo" resultType="com.lantone.common.dto.appeal.GetAppealInfoDTO">
         SELECT
+            mai.hospital_id hospitalId,
             mbi.behospital_code behospitalCode,
             mbi.`name`,
             mbi.sex,
@@ -16,18 +17,38 @@
             mbi.leave_hospital_date leaveHospitalDate,
             mbi.doctor_id doctorId,
             mbi.doctor_name doctorName,
-            mai.id,
-            mai.hospital_id hospitalId,
+            mai.cases_id casesId,
+            mai.cases_name casesName,
+            mai.defect_content defectContent,
             mai.qcresult_detail_id qcresultDetailId,
             mai.qcresult_detail_msg qcresultDetailMsg,
-            mai.qcresult_detai_value qcresultDetaiValue,
+            mai.qcresult_detai_value qcresultDetaiValue
+        FROM
+            med_appeal_info mai
+        LEFT JOIN med_behospital_info mbi ON mbi.behospital_code = mai.behospital_code
+        AND mbi.hospital_id = mai.hospital_id
+        LEFT JOIN med_home_page mhp ON mbi.behospital_code = mhp.behospital_code
+        AND mhp.hospital_id = mbi.hospital_id
+        WHERE
+            1 = 1
+        AND mai.id = #{getAppealInfoVO.id}
+    </select>
+    <select id="getCasesName" resultType="java.lang.String">
+        SELECT
+            `name`
+        FROM
+            qc_cases
+        WHERE
+            id = #{id}
+        AND is_deleted = 'N'
+    </select>
+    <select id="getAppealExamineRecords" resultType="com.lantone.common.dto.appeal.AppealExamineRecordDTO">
+        SELECT
+            mai.id,
             mai.cases_entry_id casesEntryId,
             mai.cases_entry_name casesEntryName,
             mai.cases_entry_msg casesEntryMsg,
             mai.`value`,
-            mai.cases_id casesId,
-            mai.cases_name casesName,
-            mai.defect_content defectContent,
             mai.claimant_id claimantId,
             mai.appeal_type appealType,
             mai.appeal_operation_type appealOperationType,
@@ -47,27 +68,26 @@
             u2.linkman checkName
         FROM
             med_appeal_info mai
-        LEFT JOIN med_behospital_info mbi ON mbi.behospital_code = mai.behospital_code
-        AND mbi.hospital_id = mai.hospital_id
-        LEFT JOIN med_home_page mhp ON mbi.behospital_code = mhp.behospital_code
-        AND mhp.hospital_id = mbi.hospital_id
         LEFT JOIN med_appeal_examine_info mae ON mai.id = mae.appeal_info_id
         LEFT JOIN med_qcresult_detail mqd ON mai.qcresult_detail_id = mqd.id
         LEFT JOIN sys_user u ON mai.claimant_id = u.id
         LEFT JOIN sys_user u2 ON mai.check_id = u2.id
-        WHERE 1=1
-        <if test="getAppealInfoVO.type == 1">
-            AND mai.is_deleted = "N"
-        </if>
-        AND mai.id = #{getAppealInfoVO.id}
-    </select>
-    <select id="getCasesName" resultType="java.lang.String">
-        SELECT
-            `name`
-        FROM
-            qc_cases
         WHERE
-            id = #{id}
-        AND is_deleted = 'N'
+            1 = 1
+        <if test="getAppealInfoVO.hospitalId != null ">
+            AND mai.hospital_id = #{getAppealInfoVO.hospitalId}
+        </if>
+        <if test="getAppealInfoVO.behospitalCode != null and getAppealInfoVO.behospitalCode != '' ">
+            AND mai.behospital_code = #{getAppealInfoVO.behospitalCode}
+        </if>
+        <if test="getAppealInfoVO.casesEntryId != null ">
+            AND mai.cases_entry_id = #{getAppealInfoVO.casesEntryId}
+        </if>
+        <if test="getAppealInfoVO.casesEntryId != null ">
+            AND mai.qcresult_detail_id = #{getAppealInfoVO.qcresultDetailId}
+        </if>
+        <if test="getAppealInfoVO.appealExplain != null and getAppealInfoVO.appealExplain != '' ">
+            AND mai.appeal_explain = #{getAppealInfoVO.appealExplain}
+        </if>
     </select>
 </mapper>

+ 16 - 6
report-service/src/main/java/com/lantone/report/facade/MedAppealExamineInfoManagementFacade.java

@@ -23,6 +23,7 @@ import com.lantone.dblayermbg.facade.analyze.MedQcresultDetailFacade;
 import com.lantone.dblayermbg.facade.appeal.AppealExamineInfoFacade;
 import com.lantone.dblayermbg.facade.appeal.AppealInfoFacade;
 import com.lantone.report.client.MedAppealExamineInfoServiceClient;
+import com.lantone.report.enums.AppealOperationTypeEnum;
 import com.lantone.report.enums.ExampleStatusEnum;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -295,14 +296,23 @@ public class MedAppealExamineInfoManagementFacade {
     }
     /**
      * 审核查看
-     * @param getApprovedViewVO
+     * @param getAppealInfoVO
      * @return
      */
-    public GetAppealInfoDTO getApprovedView(GetApprovedViewVO getApprovedViewVO) {
-        GetAppealInfoVO getAppealInfoVO = new GetAppealInfoVO();
-        getAppealInfoVO.setId(getApprovedViewVO.getId());
-        getAppealInfoVO.setType(getApprovedViewVO.getType());
-        return appealInfoFacade.getBaseMapper().getAppealInfo(getAppealInfoVO);
+    public GetAppealInfoDTO getApprovedView(GetAppealInfoVO getAppealInfoVO) {
+        //1.获取病历基本信息和病历内容
+        GetAppealInfoDTO getAppealInfoDTO =  appealInfoFacade.getBaseMapper().getAppealInfo(getAppealInfoVO);
+        //2.获取该条申诉记录详情
+        AppealInfo appealInfo = appealInfoFacade.getById(getAppealInfoVO.getId());
+        if(appealInfo!=null){
+            //如果是新增缺失,获取申诉说明(通过申诉说明区别该病历新增的新增缺失)
+            if(AppealOperationTypeEnum.ADD_NO_EXIST.getKey().equals(appealInfo.getAppealOperationType())){
+                getAppealInfoVO.setAppealExplain(appealInfo.getAppealExplain());
+            }
+        }
+        //3.获取申诉审核记录
+        getAppealInfoDTO.setAppealExamineRecordDTOList(appealInfoFacade.getBaseMapper().getAppealExamineRecords(getAppealInfoVO));
+        return getAppealInfoDTO;
     }
 
     public Boolean updateAppealInfo (ApprovedVo approvedVo) {

+ 13 - 1
report-service/src/main/java/com/lantone/report/facade/MedAppealInfoManagementFacade.java

@@ -309,6 +309,18 @@ public class MedAppealInfoManagementFacade {
     }
 
     public GetAppealInfoDTO getAppealInfo(GetAppealInfoVO getAppealInfoVO) {
-        return appealInfoFacade.getBaseMapper().getAppealInfo(getAppealInfoVO);
+        //1.获取病历基本信息和病历内容
+        GetAppealInfoDTO getAppealInfoDTO =  appealInfoFacade.getBaseMapper().getAppealInfo(getAppealInfoVO);
+        //2.获取该条申诉记录详情
+        AppealInfo appealInfo = appealInfoFacade.getById(getAppealInfoVO.getId());
+        if(appealInfo!=null){
+            //如果是新增缺失,获取申诉说明(通过申诉说明区别该病历新增的新增缺失)
+            if(AppealOperationTypeEnum.ADD_NO_EXIST.getKey().equals(appealInfo.getAppealOperationType())){
+                getAppealInfoVO.setAppealExplain(appealInfo.getAppealExplain());
+            }
+        }
+        //3.获取申诉审核记录
+        getAppealInfoDTO.setAppealExamineRecordDTOList(appealInfoFacade.getBaseMapper().getAppealExamineRecords(getAppealInfoVO));
+        return getAppealInfoDTO;
     }
 }