Explorar el Código

add: 违规审核-科室事中审查列表

Scott hace 2 años
padre
commit
8196f9477b
Se han modificado 11 ficheros con 117 adiciones y 20 borrados
  1. 4 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/ReportAfterQueryDetailResponseBO.java
  2. 32 3
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/controller/ViolationAnalysisController.java
  3. 6 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/mapper/AfterwardsAuditDetailMapper.java
  4. 34 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/mapper/xml/AfterwardsAuditDetailMapper.xml
  5. 12 15
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/mapper/xml/AfterwardsAuditMapper.xml
  6. 5 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/IAfterwardsAuditDetailService.java
  7. 3 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/IAfterwardsAuditService.java
  8. 3 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/IViolationAnalysisService.java
  9. 8 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/AfterwardsAuditDetailServiceImpl.java
  10. 4 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/AfterwardsAuditServiceImpl.java
  11. 6 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/ViolationAnalysisServiceImpl.java

+ 4 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/ReportAfterQueryDetailResponseBO.java

@@ -17,6 +17,10 @@ import java.math.BigDecimal;
  */
 @Data
 public class ReportAfterQueryDetailResponseBO implements Serializable {
+
+    @ApiModelProperty(value = "事中工单id")
+    private Integer id;
+
     @ApiModelProperty(value = "科室名称")
     private String medicalDeptName;
     @ApiModelProperty(value = "科室编码")

+ 32 - 3
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/controller/ViolationAnalysisController.java

@@ -13,8 +13,6 @@ import org.jeecg.modules.medical.common.bo.ReportAfterQueryDetailResponseBO;
 import org.jeecg.modules.medical.common.bo.ReportAfterQueryResponseBO;
 import org.jeecg.modules.medical.common.bo.after.response.AfterDeptDetailRequest;
 import org.jeecg.modules.medical.common.bo.before.AuditAdvanceWarningAuditDetailResponse;
-import org.jeecg.modules.medical.common.bo.before.MedicalHistoryRecord;
-import org.jeecg.modules.medical.common.bo.before.PrescriptionDetail;
 import org.jeecg.modules.medical.common.bo.mid.AuditMidDetailListResponse;
 import org.jeecg.modules.medical.common.bo.mid.request.AuditMidDetailListRequest;
 import org.jeecg.modules.medical.common.bo.mid.response.MidAuditDetailResponse;
@@ -150,7 +148,7 @@ public class ViolationAnalysisController {
                                                                                                    Integer pageSize
     ) {
         IPage<AuditAdvanceWarningAuditDetailResponse> page = new Page<>(pageNo, pageSize);
-        IPage<MidAuditViolateProjectStatisticsResponse> result = violationAnalysisService.violateProjectStatisticsList(page, projectSearch, startTime, endTime);
+        IPage<MidAuditViolateProjectStatisticsResponse> result = violationAnalysisService.midViolateProjectStatisticsList(page, projectSearch, startTime, endTime);
         return Result.OK(result);
     }
 
@@ -271,7 +269,38 @@ public class ViolationAnalysisController {
         Page<AfterwardsAuditDetail> page = new Page<>(pageNo, pageSize);
         IPage<ReportAfterQueryDetailResponseBO> pageList = afterwardsAuditService.departmentDetailStatistics(page, deptDetailRequest);
         BigDecimal totalAmt = afterwardsAuditService.statisticsAfterAuditTotal(deptDetailRequest);
+        Result<IPage<ReportAfterQueryDetailResponseBO>> ok = Result.OK(pageList);
+        JSONObject j = new JSONObject();
+        j.put("totalAmount", totalAmt);
+        ok.setExtend(j);
+        return ok;
+    }
+
+
+    @ApiOperation(value="违规分析-事后违规项目统计-列表", notes="违规分析-事后违规项目统计")
+    @GetMapping(value = "/after/project/list")
+    public Result<IPage<MidAuditViolateProjectStatisticsResponse>> afterViolateProjectStatisticsList(String projectCode, //项目类别
+                                                                                                     String medicalProjectSearch, //项目编码、名称
+                                                                                                     String startTime,
+                                                                                                     String endTime,
+                                                                                                     @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+                                                                                                     @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
+        IPage<AuditAdvanceWarningAuditDetailResponse> page = new Page<>(pageNo, pageSize);
+        IPage<MidAuditViolateProjectStatisticsResponse> result2 = violationAnalysisService.afterViolateProjectStatisticsList(page, projectCode, medicalProjectSearch, startTime, endTime);
+        return Result.OK(result2);
+    }
 
+    @ApiOperation(value = "事后-事后违规项目统计-列表-子列表",notes = "事后-事后违规项目统计-列表-子列表")
+    @GetMapping(value = "/after/project/child/list")
+    public Result<IPage<ReportAfterQueryDetailResponseBO>> afterDepartmentDetail(String medicalProjectCode,
+                                                                                 @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+                                                                                 @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+                                                                                 HttpServletRequest req) {
+        AfterDeptDetailRequest deptDetailRequest = new AfterDeptDetailRequest();
+        deptDetailRequest.setMedicalProjectSearch(medicalProjectCode);
+        Page<AfterwardsAuditDetail> page = new Page<>(pageNo, pageSize);
+        IPage<ReportAfterQueryDetailResponseBO> pageList = afterwardsAuditService.departmentDetailStatistics(page, deptDetailRequest);
+        BigDecimal totalAmt = afterwardsAuditService.statisticsAfterAuditTotal(deptDetailRequest);
         Result<IPage<ReportAfterQueryDetailResponseBO>> ok = Result.OK(pageList);
         JSONObject j = new JSONObject();
         j.put("totalAmount", totalAmt);

+ 6 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/mapper/AfterwardsAuditDetailMapper.java

@@ -2,8 +2,11 @@ package org.jeecg.modules.medical.mapper;
 
 import java.util.List;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.medical.common.bo.before.AuditAdvanceWarningAuditDetailResponse;
 import org.jeecg.modules.medical.common.bo.before.PatientInformationResponse;
+import org.jeecg.modules.medical.common.bo.mid.response.MidAuditViolateProjectStatisticsResponse;
 import org.jeecg.modules.medical.entity.AfterwardsAuditDetail;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
@@ -16,4 +19,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 public interface AfterwardsAuditDetailMapper extends BaseMapper<AfterwardsAuditDetail> {
 
     PatientInformationResponse loadPatientInfoById(@Param("id") String id);
+
+    IPage<MidAuditViolateProjectStatisticsResponse> afterViolateProjectStatisticsList(IPage<AuditAdvanceWarningAuditDetailResponse> page, @Param("projectCode")  String projectCode,
+                                                                                      @Param("medicalProjectSearch")String medicalProjectSearch,@Param("startTime") String startTime,@Param("endTime") String endTime);
 }

+ 34 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/mapper/xml/AfterwardsAuditDetailMapper.xml

@@ -20,4 +20,38 @@
                  LEFT JOIN his_patient as p on ad.patient_id = p.patient_no
         WHERE ad.id = #{id}
     </select>
+
+    <select id="afterViolateProjectStatisticsList"
+            resultType="org.jeecg.modules.medical.common.bo.mid.response.MidAuditViolateProjectStatisticsResponse">
+        SELECT
+            id
+            ,project_type
+            ,medical_project_name
+             ,medical_project_code
+             ,(select IFNULL(count(amount), 0) from afterwards_audit_detail WHERE medical_project_code = m.medical_project_code ) as violationTotal  -- 违规总数
+             ,sum(amount) as errorAmountTotal -- 异常金额总和
+        FROM afterwards_audit_detail as m
+        <where>
+            <if test="medicalProjectSearch != null and medicalProjectSearch != '' ">
+                AND(
+                medical_project_code LIKE concat(concat('%',#{medicalProjectSearch}),'%')
+                or
+                medical_project_name LIKE concat(concat('%',#{medicalProjectSearch}),'%')
+                )
+            </if>
+
+            <if test="projectCode != null and projectCode != '' ">
+                AND project_code = #{projectCode}
+            </if>
+            <if test="startTime != null and startTime != ''">
+                and <![CDATA[ create_time >= #{startTime} ]]>
+            </if>
+            <if test="endTime != null and endTime != ''">
+                and <![CDATA[ create_time <= #{endTime} ]]>
+            </if>
+        </where>
+
+        GROUP BY medical_project_code
+        ORDER BY violationTotal DESC
+    </select>
 </mapper>

+ 12 - 15
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/mapper/xml/AfterwardsAuditMapper.xml

@@ -17,13 +17,13 @@
         FROM afterwards_audit_detail as m
         <where>
             <if test="ew.medicalDeptName != null and ew.medicalDeptName != ''">
-                WHERE medical_dept_name like concat(concat('%',#{ew.medicalDeptName}),'%')
+                AND medical_dept_name like concat(concat('%',#{ew.medicalDeptName}),'%')
             </if>
             <if test="ew.startTime != null and ew.startTime != ''">
-                <![CDATA[ create_time >= #{ew.startTime,jdbcType=VARCHAR} ]]>
+                AND <![CDATA[ create_time >= #{ew.startTime,jdbcType=VARCHAR} ]]>
             </if>
             <if test="ew.endTime != null and ew.endTime != ''">
-                <![CDATA[ create_time <= #{ew.endTime,jdbcType=VARCHAR} ]]>
+                AND <![CDATA[ create_time <= #{ew.endTime,jdbcType=VARCHAR} ]]>
             </if>
         </where>
         GROUP BY medical_dept_code
@@ -53,15 +53,10 @@
              ,medical_insurance_mark
              ,create_time
              ,description
-        from
-            afterwards_audit_detail
+        from afterwards_audit_detail
         <where>
             <if test="ew.medicalProjectSearch != null and ew.medicalProjectSearch != '' ">
-                AND(
-                medical_project_code LIKE concat(concat('%',#{ew.medicalProjectSearch}),'%')
-                or
-                medical_project_name LIKE concat(concat('%',#{ew.medicalProjectSearch}),'%')
-                )
+                AND ( medical_project_code LIKE concat(concat('%',#{ew.medicalProjectSearch}),'%') or medical_project_name LIKE concat(concat('%',#{ew.medicalProjectSearch}),'%') )
             </if>
             <if test="ew.treatmentType != null and ew.treatmentType != '' ">
                 AND treatment_type = #{ew.treatmentType}
@@ -76,7 +71,6 @@
                 AND violation_level = #{ew.violationLevel}
             </if>
         </where>
-
     </select>
     <select id="statisticsErrAmtByAfterwareRecordId" resultType="java.math.BigDecimal">
         SELECT
@@ -295,10 +289,10 @@
         FROM afterwards_audit_detail
         <where>
             <if test="ew.medicalProjectSearch != null and ew.medicalProjectSearch != '' ">
-                AND(
-                medical_project_code LIKE concat(concat('%',#{ew.medicalProjectSearch}),'%')
-                or
-                medical_project_name LIKE concat(concat('%',#{ew.medicalProjectSearch}),'%')
+                AND (
+                    medical_project_code LIKE concat(concat('%',#{ew.medicalProjectSearch}),'%')
+                        or
+                    medical_project_name LIKE concat(concat('%',#{ew.medicalProjectSearch}),'%')
                 )
             </if>
             <if test="ew.treatmentType != null and ew.treatmentType != '' ">
@@ -314,5 +308,8 @@
                 AND violation_level = #{ew.violationLevel}
             </if>
         </where>
+
+
+
     </select>
 </mapper>

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/IAfterwardsAuditDetailService.java

@@ -1,7 +1,10 @@
 package org.jeecg.modules.medical.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.jeecg.modules.medical.common.bo.after.response.AfterwardsAuditDetailResponse;
+import org.jeecg.modules.medical.common.bo.before.AuditAdvanceWarningAuditDetailResponse;
 import org.jeecg.modules.medical.common.bo.before.PatientInformationResponse;
+import org.jeecg.modules.medical.common.bo.mid.response.MidAuditViolateProjectStatisticsResponse;
 import org.jeecg.modules.medical.entity.AfterwardsAuditDetail;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -22,4 +25,6 @@ public interface IAfterwardsAuditDetailService extends IService<AfterwardsAuditD
      * @return
      */
     PatientInformationResponse loadPatientInfoById(String afterwardsAuditId, IAfterwardsAuditService afterwardsAuditService);
+
+    IPage<MidAuditViolateProjectStatisticsResponse> afterViolateProjectStatisticsList(IPage<AuditAdvanceWarningAuditDetailResponse> page, String projectCode, String medicalProjectSearch, String startTime, String endTime);
 }

+ 3 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/IAfterwardsAuditService.java

@@ -7,6 +7,8 @@ import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.medical.common.bo.*;
 import org.jeecg.modules.medical.common.bo.after.response.AfterDeptDetailRequest;
 import org.jeecg.modules.medical.common.bo.after.response.AfterwardsAuditDetailResponse;
+import org.jeecg.modules.medical.common.bo.before.AuditAdvanceWarningAuditDetailResponse;
+import org.jeecg.modules.medical.common.bo.mid.response.MidAuditViolateProjectStatisticsResponse;
 import org.jeecg.modules.medical.entity.AfterwardsAudit;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.medical.entity.AfterwardsAuditDetail;
@@ -111,4 +113,5 @@ public interface IAfterwardsAuditService extends IService<AfterwardsAudit> {
     List<InpatientSettlementMasterResponse> loadInpatientSettlementMaster(Integer id);
 
     BigDecimal statisticsAfterAuditTotal(AfterDeptDetailRequest afterwardsAuditDetail);
+
 }

+ 3 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/IViolationAnalysisService.java

@@ -44,7 +44,7 @@ public interface IViolationAnalysisService {
     IPage<MidDeptAuditDetailResponse> afterDeptAuditList(IPage<AuditAdvanceWarningAuditDetailResponse> page, String deptName, String startTime, String endTime);
 
 
-    IPage<MidAuditViolateProjectStatisticsResponse> violateProjectStatisticsList(IPage<AuditAdvanceWarningAuditDetailResponse> page, String projectSearch, String startTime, String endTime);
+    IPage<MidAuditViolateProjectStatisticsResponse> midViolateProjectStatisticsList(IPage<AuditAdvanceWarningAuditDetailResponse> page, String projectSearch, String startTime, String endTime);
 
 
     MidAuditDetailResponse beforeAuditDetail(Integer detailId);
@@ -52,4 +52,6 @@ public interface IViolationAnalysisService {
     IPage<MidAuditDetailResponse> afterViolateRuleTypePageList(IPage<AuditAdvanceWarningAuditDetailResponse> page, String medicalInsRuleInfoName, String projectType, String startTime, String endTime);
 
     MidAuditDetailResponse afterAllDetail(Integer detailId);
+
+    IPage<MidAuditViolateProjectStatisticsResponse> afterViolateProjectStatisticsList(IPage<AuditAdvanceWarningAuditDetailResponse> page, String projectCode, String medicalProjectSearch, String startTime, String endTime);
 }

+ 8 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/AfterwardsAuditDetailServiceImpl.java

@@ -1,12 +1,15 @@
 package org.jeecg.modules.medical.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.extern.slf4j.Slf4j;
 import org.checkerframework.checker.units.qual.A;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.modules.medical.common.bo.after.response.AfterwardsAuditDetailResponse;
+import org.jeecg.modules.medical.common.bo.before.AuditAdvanceWarningAuditDetailResponse;
 import org.jeecg.modules.medical.common.bo.before.PatientInformationResponse;
+import org.jeecg.modules.medical.common.bo.mid.response.MidAuditViolateProjectStatisticsResponse;
 import org.jeecg.modules.medical.entity.AfterwardsAudit;
 import org.jeecg.modules.medical.entity.AfterwardsAuditDetail;
 import org.jeecg.modules.medical.entity.MidIncidentAudit;
@@ -77,6 +80,11 @@ public class AfterwardsAuditDetailServiceImpl extends ServiceImpl<AfterwardsAudi
         return result;
     }
 
+    @Override
+    public IPage<MidAuditViolateProjectStatisticsResponse> afterViolateProjectStatisticsList(IPage<AuditAdvanceWarningAuditDetailResponse> page, String projectCode, String medicalProjectSearch, String startTime, String endTime) {
+        return baseMapper.afterViolateProjectStatisticsList(page, projectCode, medicalProjectSearch, startTime, endTime);
+    }
+
     private List<AfterwardsAuditDetail> loadDetailList(String id) {
         LambdaQueryWrapper<AfterwardsAuditDetail> queryWrapper = Wrappers.<AfterwardsAuditDetail>lambdaQuery()
                 .eq(AfterwardsAuditDetail::getAfterwardsAuditId, id);

+ 4 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/AfterwardsAuditServiceImpl.java

@@ -12,6 +12,8 @@ import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.medical.common.bo.*;
 import org.jeecg.modules.medical.common.bo.after.response.AfterDeptDetailRequest;
 import org.jeecg.modules.medical.common.bo.after.response.AfterwardsAuditDetailResponse;
+import org.jeecg.modules.medical.common.bo.before.AuditAdvanceWarningAuditDetailResponse;
+import org.jeecg.modules.medical.common.bo.mid.response.MidAuditViolateProjectStatisticsResponse;
 import org.jeecg.modules.medical.common.enums.AfterwardsAuditStatusEnum;
 import org.jeecg.modules.medical.entity.AfterwardsAudit;
 import org.jeecg.modules.medical.entity.AfterwardsAuditDetail;
@@ -515,4 +517,6 @@ public class AfterwardsAuditServiceImpl extends ServiceImpl<AfterwardsAuditMappe
     public BigDecimal statisticsAfterAuditTotal(AfterDeptDetailRequest afterwardsAuditDetail) {
         return baseMapper.statisticsAfterAuditTotal(afterwardsAuditDetail);
     }
+
+
 }

+ 6 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/ViolationAnalysisServiceImpl.java

@@ -180,7 +180,7 @@ public class ViolationAnalysisServiceImpl implements IViolationAnalysisService {
     }
 
     @Override
-    public IPage<MidAuditViolateProjectStatisticsResponse> violateProjectStatisticsList(IPage<AuditAdvanceWarningAuditDetailResponse> page, String projectSearch, String startTime, String endTime) {
+    public IPage<MidAuditViolateProjectStatisticsResponse> midViolateProjectStatisticsList(IPage<AuditAdvanceWarningAuditDetailResponse> page, String projectSearch, String startTime, String endTime) {
         return midIncidentAuditDetailService.violateProjectStatisticsList(page, projectSearch, startTime, endTime);
     }
 
@@ -283,6 +283,11 @@ public class ViolationAnalysisServiceImpl implements IViolationAnalysisService {
         return result;
     }
 
+    @Override
+    public IPage<MidAuditViolateProjectStatisticsResponse> afterViolateProjectStatisticsList(IPage<AuditAdvanceWarningAuditDetailResponse> page, String projectCode, String medicalProjectSearch, String startTime, String endTime) {
+        return afterwardsAuditDetailService.afterViolateProjectStatisticsList(page, projectCode, medicalProjectSearch, startTime, endTime);
+    }
+
     //    @Override
 //    public IPage<AfterwardsAuditDetail> allAuditPage(AuditMidDetailListRequest request, Integer pageNo, Integer pageSize, Map<String, String[]> parameterMap) {
 //        Page<AfterwardsAuditDetail> page = new Page<>(pageNo, pageSize);