瀏覽代碼

病历核查相关接口重构

songxinlu 3 年之前
父節點
當前提交
a5bc8fc53d

+ 25 - 0
src/main/java/com/diagbot/facade/CheckRecordExamineFacade.java

@@ -0,0 +1,25 @@
+package com.diagbot.facade;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.GetDeptDistributionDTO;
+import com.diagbot.service.impl.CheckRecordExamineServiceImpl;
+import com.diagbot.util.SysUserUtils;
+import com.diagbot.vo.GetDeptDistributionVO;
+import org.springframework.stereotype.Component;
+
+
+/**
+ * @Description:
+ * @author: zhanghang
+ * @time: 2022/5/18 16:48
+ */
+@Component
+public class CheckRecordExamineFacade extends CheckRecordExamineServiceImpl {
+
+    public IPage<GetDeptDistributionDTO> getDeptDistributionPage(GetDeptDistributionVO getDeptDistributionVO) {
+        getDeptDistributionVO.setHospitalId(Long.parseLong(SysUserUtils.getCurrentHospitalID()));
+        return this.baseMapper.getDeptDistributionPage(getDeptDistributionVO);
+    }
+
+}

+ 5 - 0
src/main/java/com/diagbot/mapper/CheckRecordExamineMapper.java

@@ -1,7 +1,11 @@
 package com.diagbot.mapper;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.GetDeptDistributionDTO;
 import com.diagbot.entity.CheckRecordExamine;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.vo.GetDeptDistributionVO;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +17,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface CheckRecordExamineMapper extends BaseMapper<CheckRecordExamine> {
 
+    IPage<GetDeptDistributionDTO> getDeptDistributionPage(@Param("getDeptDistributionVO") GetDeptDistributionVO getDeptDistributionVO);
 }

+ 0 - 2
src/main/java/com/diagbot/mapper/CheckRecordMapper.java

@@ -19,6 +19,4 @@ import org.apache.ibatis.annotations.Param;
  */
 public interface CheckRecordMapper extends BaseMapper<CheckRecord> {
     IPage<GetCheckRecordPageDTO>  getCheckRecordPage(@Param("getCheckRecordPagevo") GetCheckRecordPageVO getCheckRecordPagevo);
-
-    IPage<GetDeptDistributionDTO> getDeptDistributionPage(@Param("getDeptDistributionVO") GetDeptDistributionVO getDeptDistributionVO);
 }

+ 5 - 2
src/main/java/com/diagbot/vo/GetDeptDistributionVO.java

@@ -49,8 +49,11 @@ public class GetDeptDistributionVO extends Page implements Serializable {
     @ApiModelProperty(value = "住院科室名称")
     private String deptName;
 
-    @ApiModelProperty(value = "住院天数")
-    private String behospitalDayNum;
+    @ApiModelProperty(value = "住院天数-开始时间")
+    private String behospitalDayNumStart;
+
+    @ApiModelProperty(value = "住院天数-截止时间")
+    private String behospitalDayNumEnd;
 
     @ApiModelProperty(value = "医生姓名")
     private String doctorName;

+ 2 - 0
src/main/java/com/diagbot/web/CheckDistributionSchemeController.java

@@ -5,6 +5,7 @@ import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.RespDTO;
 
 import com.diagbot.facade.CheckDistributionSchemeFacade;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -25,6 +26,7 @@ import java.util.Map;
  */
 @RestController
 @RequestMapping("/checkDistributionScheme")
+@Api(value = "病历核查-分配方案API", tags = { "病历核查-分配方案API" })
 public class CheckDistributionSchemeController {
 
     @Autowired

+ 2 - 0
src/main/java/com/diagbot/web/CheckRecordController.java

@@ -9,6 +9,7 @@ import com.diagbot.facade.CheckRecordFacade;
 import com.diagbot.util.StringUtil;
 import com.diagbot.util.SysUserUtils;
 import com.diagbot.vo.GetCheckRecordPageVO;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -29,6 +30,7 @@ import org.springframework.web.bind.annotation.RestController;
  */
 @RestController
 @RequestMapping("/checkRecord")
+@Api(value = "病历核查API", tags = { "病历核查API" })
 public class CheckRecordController {
 
     @Autowired

+ 26 - 2
src/main/java/com/diagbot/web/CheckRecordExamineController.java

@@ -1,9 +1,22 @@
 package com.diagbot.web;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.GetDeptDistributionDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.CheckRecordExamineFacade;
+import com.diagbot.facade.CheckRecordFacade;
+import com.diagbot.vo.GetDeptDistributionVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
 
 /**
  * <p>
@@ -13,8 +26,19 @@ import org.springframework.stereotype.Controller;
  * @author songxl
  * @since 2022-05-18
  */
-@Controller
-@RequestMapping("/checkRecordExamine")
+@RestController
+@RequestMapping("/checkRecord")
+@Api(value = "病历核查API", tags = { "病历核查API" })
 public class CheckRecordExamineController {
 
+    @Autowired
+    private CheckRecordExamineFacade checkRecordExamineFacade;
+
+    @ApiOperation(value = "任务分配-科室列表页分页接口[by:songxl]",
+            notes = "任务分配-科室列表页分页接口")
+    @PostMapping("/getDeptDistributionPage")
+    @SysLogger("getDeptDistributionPage")
+    public RespDTO<IPage<GetDeptDistributionDTO>> getDeptDistributionPage(@RequestBody GetDeptDistributionVO getDeptDistributionVO) {
+        return RespDTO.onSuc(checkRecordExamineFacade.getDeptDistributionPage(getDeptDistributionVO));
+    }
 }

+ 142 - 0
src/main/resources/mapper/CheckRecordExamineMapper.xml

@@ -19,5 +19,147 @@
         <result column="modifier" property="modifier" />
         <result column="remark" property="remark" />
     </resultMap>
+    <select id="getDeptDistributionPage" resultType="com.diagbot.dto.GetDeptDistributionDTO">
+        SELECT DISTINCT
+        mbi.behospital_code behospitalCode,
+        mbi.`name`,
+        mbi.file_code fileCode,
+        mbi.sex,
+        mhp.age,
+        mbi.beh_dept_name behDeptName,
+        mbi.behospital_date behospitalDate,
+        mbi.leave_hospital_date leaveHospitalDate,
+        mhp.behospital_day_num + 0 behospitalDayNum,
+        mbi.doctor_name doctorName,
+        mqi.score_res scoreRes,
+        mqi.`level`,
+        mbi.diagnose,
+        mbt.behospital_type behospitalType,
+        mbt.`value`,
+        -- 科室核查
+        ks_mcre.check_name deptChName,
+        IF (
+        ks_mcre.`status` IS NULL,
+        '-1',
+        ks_mcre.`status`
+        ) deptCheckStatus,
+        -- 质控科核查
+        zkk_mcre.check_name quatChName,
+        IF (
+        zkk_mcre.`status` IS NULL,
+        '-1',
+        zkk_mcre.`status`
+        ) quatCheckStatus,
+        -- 院级核查
+        yj_mcre.check_name hospChName,
+        IF (
+        yj_mcre.`status` IS NULL,
+        '-1',
+        yj_mcre.`status`
+        ) hospCheckStatus
+
+        FROM
+        med_behospital_info mbi
+        LEFT JOIN med_home_page mhp ON mbi.behospital_code = mhp.behospital_code
+        AND mbi.hospital_id = mhp.hospital_id
+        AND mhp.is_deleted = 'N'
+        JOIN med_qcresult_info mqi ON mbi.behospital_code = mqi.behospital_code
+        AND mbi.hospital_id = mqi.hospital_id
+        AND mqi.is_deleted = 'N'
+        AND mqi.score_res IS NOT NULL
+        JOIN med_behospital_type mbt ON mbi.behospital_code = mbt.behospital_code
+        AND mbi.hospital_id = mbt.hospital_id
+        AND mbt.is_deleted = 'N'
+        -- 科室核查
+        LEFT JOIN med_check_record ks_mcr ON ks_mcr.hospital_id = mbi.hospital_id
+        AND ks_mcr.behospital_code = mbi.behospital_code
+        AND ks_mcr.is_deleted = 'N'
+        AND ks_mcr.job_type = 0
+        AND ks_mcr.id IN (
+        SELECT
+        max(id)
+        FROM
+        med_check_record
+        WHERE
+        hospital_id = #{getDeptDistributionVO.hospitalId}
+        AND job_type = 0
+        AND work_flow_node_id != 2
+        GROUP BY
+        behospital_code
+        )
+        LEFT JOIN med_check_record_examine ks_mcre ON ks_mcr.id = ks_mcre.check_record
+        AND ks_mcre.is_deleted = 'N'
+        -- 质控科核查
+        LEFT JOIN med_check_record zkk_mcr ON zkk_mcr.hospital_id = mbi.hospital_id
+        AND zkk_mcr.behospital_code = mbi.behospital_code
+        AND zkk_mcr.is_deleted = 'N'
+        AND zkk_mcr.job_type = 1
+        AND zkk_mcr.id IN (
+        SELECT
+        max(id)
+        FROM
+        med_check_record
+        WHERE
+        hospital_id = #{getDeptDistributionVO.hospitalId}
+        AND job_type = 1
+        AND work_flow_node_id != 2
+        GROUP BY
+        behospital_code
+        )
+        LEFT JOIN med_check_record_examine zkk_mcre ON zkk_mcr.id = zkk_mcre.check_record
+        AND zkk_mcre.is_deleted = 'N'
+        -- 院级核查
+        LEFT JOIN med_check_record yj_mcr ON yj_mcr.hospital_id = mbi.hospital_id
+        AND yj_mcr.behospital_code = mbi.behospital_code
+        AND yj_mcr.is_deleted = 'N'
+        AND yj_mcr.job_type = 2
+        AND yj_mcr.id IN (
+        SELECT
+        max(id)
+        FROM
+        med_check_record
+        WHERE
+        hospital_id = #{getDeptDistributionVO.hospitalId}
+        AND job_type = 2
+        AND work_flow_node_id != 2
+        GROUP BY
+        behospital_code
+        )
+        LEFT JOIN med_check_record_examine yj_mcre ON yj_mcr.id = yj_mcre.check_record
+        AND yj_mcre.is_deleted = 'N'
+        WHERE
+        mbi.hospital_id = #{getDeptDistributionVO.hospitalId}
+        AND mbi.is_deleted = 'N'
+        <if test="getDeptDistributionVO.behosDateStart != null and getDeptDistributionVO.behosDateEnd != null ">
+            <![CDATA[ and mbi.behospital_date >= #{getDeptDistributionVO.behosDateStart}]]>
+            <![CDATA[ and mbi.behospital_date <= #{getDeptDistributionVO.behosDateEnd}]]>
+        </if>
+        <if test="getDeptDistributionVO.leaveHosDateStart != null and getDeptDistributionVO.leaveHosDateEnd != null ">
+            <![CDATA[ and mbi.leave_hospital_date >= #{getDeptDistributionVO.leaveHosDateStart}]]>
+            <![CDATA[ and mbi.leave_hospital_date <= #{getDeptDistributionVO.leaveHosDateEnd}]]>
+        </if>
+
+        <if test="getDeptDistributionVO.isPlacefile != null and getDeptDistributionVO.isPlacefile!=''">
+            AND mbi.is_placefile = #{getDeptDistributionVO.isPlacefile}
+        </if>
+        <if test="getDeptDistributionVO.name != null and getDeptDistributionVO.name != ''">
+            AND mbi.name like concat('%', #{getDeptDistributionVO.name}, '%')
+        </if>
+        <if test="getDeptDistributionVO.behospitalCode != null and getDeptDistributionVO.behospitalCode != ''">
+            AND mbi.behospital_code like concat('%', #{getDeptDistributionVO.behospitalCode}, '%')
+        </if>
+        <if test="getDeptDistributionVO.deptName != null and getDeptDistributionVO.deptName != ''">
+            AND mbi.beh_dept_name = #{getDeptDistributionVO.deptName}
+        </if>
+        <if test="getDeptDistributionVO.behospitalDayNumStart != null and getDeptDistributionVO.behospitalDayNumStart != ''
+               and getDeptDistributionVO.behospitalDayNumEnd != null and getDeptDistributionVO.behospitalDayNumEnd != ''">
+            <![CDATA[ and mhp.behospital_day_num >= #{getDeptDistributionVO.behospitalDayNumStart}]]>
+            <![CDATA[ and mhp.behospital_day_num <= #{getDeptDistributionVO.behospitalDayNumEnd}]]>
+        </if>
+        <if test="getDeptDistributionVO.doctorName != null and getDeptDistributionVO.doctorName != ''">
+            AND mbi.doctor_name like concat('%', #{getDeptDistributionVO.doctorName}, '%')
+        </if>
+
+    </select>
 
 </mapper>