Ver código fonte

add: 增加事中-明细详情-导出

Scott 1 ano atrás
pai
commit
6beadfd19d
14 arquivos alterados com 466 adições e 16 exclusões
  1. 2 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/AfterwardsAuditExportResponse.java
  2. 2 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/ReportAfterQueryDetailResponseBO.java
  3. 11 7
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/ViolateDeptChildDetailExportResponse.java
  4. 2 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/ViolateProjectChildDetailExportResponse.java
  5. 1 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/mid/AuditMidDetailListResponse.java
  6. 13 2
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/mid/ViolateRuleChildExportResponse.java
  7. 85 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/mid/ViolationMIdChildExportResponse.java
  8. 88 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/mid/ViolationMidProjectChildExportResponse.java
  9. 91 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/mid/ViolationMidRuleChildExportResponse.java
  10. 1 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/mid/response/MidAuditViolateProjectStatisticsResponse.java
  11. 110 5
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/controller/ViolationAnalysisController.java
  12. 4 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/IViolationAnalysisService.java
  13. 18 2
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/AfterwardsAuditServiceImpl.java
  14. 38 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/ViolationAnalysisServiceImpl.java

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

@@ -16,6 +16,8 @@ import java.math.BigDecimal;
  */
 @Data
 public class AfterwardsAuditExportResponse implements Serializable {
+    private static final long serialVersionUID = 1616177753083625052L;
+
     @Excel(name = "住院号", width = 15)
     @ApiModelProperty(value = "住院号/门诊号")
     private java.lang.String outpatientNumber;

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

@@ -19,6 +19,8 @@ import java.math.BigDecimal;
 @Data
 public class ReportAfterQueryDetailResponseBO implements Serializable {
 
+    private static final long serialVersionUID = 5551919363480604536L;
+
     @ApiModelProperty(value = "事中工单id")
     private Integer id;
 

+ 11 - 7
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/ViolateDeptChildDetailExportResponse.java

@@ -7,6 +7,7 @@ import org.jeecg.common.aspect.annotation.Dict;
 import org.jeecgframework.poi.excel.annotation.Excel;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import java.io.Serializable;
 import java.math.BigDecimal;
 
 /**
@@ -16,7 +17,10 @@ import java.math.BigDecimal;
  * @parentProject medical-java
  */
 @Data
-public class ViolateDeptChildDetailExportResponse {
+public class ViolateDeptChildDetailExportResponse implements Serializable {
+
+
+    private static final long serialVersionUID = 389527832477427299L;
 
     @Excel(name = "科室", width = 15)
     @ApiModelProperty(value = "科室名称")
@@ -68,8 +72,8 @@ public class ViolateDeptChildDetailExportResponse {
     private java.lang.String patientName;
 
     @Excel(name = "提醒时间", width = 15)
-    @JsonFormat(timezone = "GMT+8",pattern =  "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern= "yyyy-MM-dd HH:mm:ss")
+//    @JsonFormat(timezone = "GMT+8",pattern =  "yyyy-MM-dd HH:mm:ss")
+//    @DateTimeFormat(pattern= "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "创建时间|提醒时间")
     private java.util.Date createTime;
 
@@ -83,7 +87,7 @@ public class ViolateDeptChildDetailExportResponse {
     @ApiModelProperty(value = "反馈结果|医生处理意见")
     private java.lang.String feedbackResult;
 
-
+/*
     @ApiModelProperty(value = "事中工单id")
     private Integer id;
 
@@ -92,7 +96,7 @@ public class ViolateDeptChildDetailExportResponse {
     @ApiModelProperty(value = "科室编码")
     private String medicalDeptCode;
 
-    /**主诊医师编码*/
+    *//**主诊医师编码*//*
 //    @Excel(name = "主诊医师编码", width = 15)
     @ApiModelProperty(value = "主诊医师编码")
     private java.lang.String doctorId;
@@ -119,8 +123,8 @@ public class ViolateDeptChildDetailExportResponse {
     private String medicalInsurance;
 
 
-    /**反馈编码*/
+    *//**反馈编码*//*
 //    @Excel(name = "反馈编码", width = 15)
     @ApiModelProperty(value = "反馈编码")
-    private java.lang.String feedbackCode;
+    private java.lang.String feedbackCode;*/
 }

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

@@ -19,6 +19,8 @@ import java.math.BigDecimal;
 @Data
 public class ViolateProjectChildDetailExportResponse implements Serializable {
 
+    private static final long serialVersionUID = 2158871726300575827L;
+
     @Excel(name = "科室", width = 15)
     @ApiModelProperty(value = "科室名称")
     private String medicalDeptName;

+ 1 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/mid/AuditMidDetailListResponse.java

@@ -22,6 +22,7 @@ import java.util.Date;
 @ApiModel(description = "事中-审查统计响应值")
 public class AuditMidDetailListResponse implements Serializable {
 
+    private static final long serialVersionUID = -7414057267528438181L;
     @Excel(name = "项目编码", width = 15)
     @ApiModelProperty(value = "项目编码")
     private String projectCode;

+ 13 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/mid/ViolateRuleChildExportResponse.java

@@ -20,6 +20,7 @@ import java.util.Date;
 @Data
 public class ViolateRuleChildExportResponse implements Serializable {
 
+    private static final long serialVersionUID = 814367054707276207L;
     @Excel(name = "违反规则名称", width = 15)
     @ApiModelProperty(value = "医保规则名称")
     private String medicalInsRuleInfoName;
@@ -29,13 +30,23 @@ public class ViolateRuleChildExportResponse implements Serializable {
     @Dict(dicCode = "violation_level")
     private String reminderLevel;
 
-    @Excel(name = "医保项目编码(违规项目编码)", width = 15)
+    @Excel(name = "项目编号", width = 15)
+    @ApiModelProperty(value = "项目编号")
+    private String projectCode;
+
+
+    @Excel(name = "项目名称", width = 15)
+    @ApiModelProperty(value = "项目名称")
+    private String projectName;
+
+
+   /* @Excel(name = "医保项目编码(违规项目编码)", width = 15)
     @ApiModelProperty(value = "医保项目编码(违规项目编码)")
     private java.lang.String medicalProjectCode;
 
     @Excel(name = "医保项目名称(项目名称)", width = 15)
     @ApiModelProperty(value = "医保项目名称(项目名称)")
-    private java.lang.String medicalProjectName;
+    private java.lang.String medicalProjectName;*/
 
 
     @Excel(name = "医生", width = 15)

+ 85 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/mid/ViolationMIdChildExportResponse.java

@@ -0,0 +1,85 @@
+package org.jeecg.modules.medical.common.bo.mid;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author yaowei
+ * @time 2023/11/16 22:09 星期四
+ * @description '这里写类描述'
+ * @parentProject medical-java
+ */
+@Data
+public class ViolationMIdChildExportResponse implements Serializable {
+    private static final long serialVersionUID = -4476726331431784211L;
+
+    @Excel(name = "科室", width = 15)
+    @ApiModelProperty(value = "科室名称")
+    private String medicalDeptName;
+
+    @Excel(name = "医生", width = 15)
+    @ApiModelProperty(value = "医生名称")
+    private String doctorName;
+
+    @Excel(name = "异常-多收", width = 15)
+    @ApiModelProperty(value = "异常-多收")
+    private BigDecimal errorRelativelyManyAmt;
+
+    @Excel(name = "异常-少收", width = 15)
+    @ApiModelProperty(value = "异常-少收")
+    private BigDecimal errorRelativelyFewAmt;
+
+    @Excel(name = "就诊类型", width = 15)
+    @ApiModelProperty(value = "就诊类型")
+    @Dict(dicCode = "treatment_type")
+    private String treatmentType;
+
+    @Excel(name = "项目编码", width = 15)
+    @ApiModelProperty(value = "医保项目编码(违规项目编码)")
+    private java.lang.String medicalProjectCode;
+
+    @Excel(name = "项目名称", width = 15)
+    @ApiModelProperty(value = "项目名称")
+    private String projectName;
+
+    @Excel(name = "参保人编号", width = 15)
+    @ApiModelProperty(value = "患者编码|参保人编码")
+    private String patientId;
+
+    @Excel(name = "违反规则名称", width = 15)
+    @ApiModelProperty(value = "医保规则名称")
+    private String medicalInsRuleInfoName;
+
+    @Excel(name = "违规级别", width = 15)
+    @ApiModelProperty(value = "规则管理级别")
+    @Dict(dicCode = "violation_level")
+    private String reminderLevel;
+
+    @Excel(name = "参保人姓名", width = 15)
+    @ApiModelProperty(value = "患者姓名")
+    private String patientName;
+
+    @Excel(name = "提醒时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8",pattern =  "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern= "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "提醒时间")
+    private Date createTime;
+
+
+    @Excel(name = "违反规则编号", width = 15)
+    @ApiModelProperty(value = "医保规则编码")
+    private String medicalInsRuleInfoCode;
+
+    @Excel(name = "医生处理意见", width = 15)
+    @ApiModelProperty(value = "医生处理意见")
+    private String feedbackResult;
+}
+

+ 88 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/mid/ViolationMidProjectChildExportResponse.java

@@ -0,0 +1,88 @@
+package org.jeecg.modules.medical.common.bo.mid;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author yaowei
+ * @time 2023/11/16 22:24 星期四
+ * @description '这里写类描述'
+ * @parentProject medical-java
+ */
+@Data
+public class ViolationMidProjectChildExportResponse implements Serializable {
+    private static final long serialVersionUID = 3128686941786293542L;
+
+    @Excel(name = "科室", width = 15)
+    @ApiModelProperty(value = "科室名称")
+    private String medicalDeptName;
+
+    @Excel(name = "项目所属类别", width = 15)
+    @ApiModelProperty(value = "项目所属类别") //TODO 这个字段未知
+    private String affiliatedType;
+
+    @Excel(name = "项目编号", width = 15)
+    @ApiModelProperty(value = "医保项目编码(违规项目编码)")
+    private java.lang.String medicalProjectCode;
+
+    @Excel(name = "项目名称", width = 15)
+    @ApiModelProperty(value = "项目名称")
+    private String projectName;
+
+    @Excel(name = "医生", width = 15)
+    @ApiModelProperty(value = "医生名称")
+    private String doctorName;
+
+    @Excel(name = "异常-多收", width = 15)
+    @ApiModelProperty(value = "异常-多收")
+    private BigDecimal errorRelativelyManyAmt;
+
+    @Excel(name = "异常-少收", width = 15)
+    @ApiModelProperty(value = "异常-少收")
+    private BigDecimal errorRelativelyFewAmt;
+
+    @Excel(name = "就诊类型", width = 15)
+    @ApiModelProperty(value = "就诊类型")
+    @Dict(dicCode = "treatment_type")
+    private String treatmentType;
+
+
+    @Excel(name = "参保人编号", width = 15)
+    @ApiModelProperty(value = "患者编码|参保人编码")
+    private String patientId;
+
+    @Excel(name = "违反规则名称", width = 15)
+    @ApiModelProperty(value = "医保规则名称")
+    private String medicalInsRuleInfoName;
+
+    @Excel(name = "规则级别", width = 15)
+    @ApiModelProperty(value = "规则管理级别")
+    @Dict(dicCode = "violation_level")
+    private String reminderLevel;
+
+    @Excel(name = "参保人姓名", width = 15)
+    @ApiModelProperty(value = "患者姓名")
+    private String patientName;
+
+    @Excel(name = "提醒时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8",pattern =  "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern= "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "提醒时间")
+    private Date createTime;
+
+    @Excel(name = "违反规则编号", width = 15)
+    @ApiModelProperty(value = "医保规则编码")
+    private String medicalInsRuleInfoCode;
+
+    @Excel(name = "医生处理意见", width = 15)
+    @ApiModelProperty(value = "医生处理意见")
+    private String feedbackResult;
+}

+ 91 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/mid/ViolationMidRuleChildExportResponse.java

@@ -0,0 +1,91 @@
+package org.jeecg.modules.medical.common.bo.mid;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author yaowei
+ * @time 2023/11/16 22:43 星期四
+ * @description '这里写类描述'
+ * @parentProject medical-java
+ */
+@Data
+public class ViolationMidRuleChildExportResponse implements Serializable {
+
+    private static final long serialVersionUID = -4150206811347571965L;
+    @Excel(name = "违反规则名称", width = 15)
+    @ApiModelProperty(value = "医保规则名称")
+    private String medicalInsRuleInfoName;
+
+    @Excel(name = "违规级别", width = 15)
+    @ApiModelProperty(value = "规则管理级别")
+    @Dict(dicCode = "violation_level")
+    private String reminderLevel;
+
+    @Excel(name = "规则所属类别", width = 15)
+    @ApiModelProperty(value = "规则所属类别") //TODO 数据
+    private String ruleType;
+
+    @Excel(name = "项目编号", width = 15)
+    @ApiModelProperty(value = "医保项目编码(违规项目编码)")
+    private java.lang.String medicalProjectCode;
+
+    @Excel(name = "项目名称", width = 15)
+    @ApiModelProperty(value = "项目名称")
+    private String projectName;
+
+    @Excel(name = "医生", width = 15)
+    @ApiModelProperty(value = "医生名称")
+    private String doctorName;
+
+    @Excel(name = "科室", width = 15)
+    @ApiModelProperty(value = "科室名称")
+    private String medicalDeptName;
+
+    @Excel(name = "异常-多收", width = 15)
+    @ApiModelProperty(value = "异常-多收")
+    private BigDecimal errorRelativelyManyAmt;
+
+    @Excel(name = "异常-少收", width = 15)
+    @ApiModelProperty(value = "异常-少收")
+    private BigDecimal errorRelativelyFewAmt;
+
+    @Excel(name = "就诊类型", width = 15)
+    @ApiModelProperty(value = "就诊类型")
+    @Dict(dicCode = "treatment_type")
+    private String treatmentType;
+
+
+    @Excel(name = "参保人编号", width = 15)
+    @ApiModelProperty(value = "患者编码|参保人编码")
+    private String patientId;
+
+
+    @Excel(name = "参保人姓名", width = 15)
+    @ApiModelProperty(value = "患者姓名")
+    private String patientName;
+
+
+    @Excel(name = "提醒时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8",pattern =  "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern= "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "提醒时间")
+    private Date createTime;
+
+    @Excel(name = "违反规则编号", width = 15)
+    @ApiModelProperty(value = "医保规则编码")
+    private String medicalInsRuleInfoCode;
+
+    @Excel(name = "医生处理意见", width = 15)
+    @ApiModelProperty(value = "医生处理意见")
+    private String feedbackResult;
+
+}

+ 1 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/common/bo/mid/response/MidAuditViolateProjectStatisticsResponse.java

@@ -16,6 +16,7 @@ import java.math.BigDecimal;
 @Data
 public class MidAuditViolateProjectStatisticsResponse implements Serializable {
 
+    private static final long serialVersionUID = 5677803184328685637L;
     @ApiModelProperty(value = "事中工单id")
     private Integer id;
 

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

@@ -1,5 +1,7 @@
 package org.jeecg.modules.medical.controller;
 
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollectionUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -13,9 +15,7 @@ import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.modules.medical.common.bo.*;
 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.mid.AuditMidDetailListResponse;
-import org.jeecg.modules.medical.common.bo.mid.MidDeptAuditListPageRequest;
-import org.jeecg.modules.medical.common.bo.mid.ViolateRuleChildExportResponse;
+import org.jeecg.modules.medical.common.bo.mid.*;
 import org.jeecg.modules.medical.common.bo.mid.request.AuditMidDetailListRequest;
 import org.jeecg.modules.medical.common.bo.mid.response.MidAuditDetailResponse;
 import org.jeecg.modules.medical.common.bo.mid.response.MidAuditViolateProjectStatisticsResponse;
@@ -29,6 +29,7 @@ import org.jeecg.modules.medical.service.IAfterwardsAuditService;
 import org.jeecg.modules.medical.service.IViolationAnalysisService;
 import org.jeecg.modules.medical.service.impl.ExportUtilHelperService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -196,6 +197,41 @@ public class ViolationAnalysisController {
     }
 
 
+    @ApiOperation(value="事中-科室事中审查-明细详情-导出", notes="事中-科室事中审查-明细详情-导出")
+    @GetMapping(value = "/mid/dept/child/exportXls")
+    public ModelAndView midDeptAuditByDeptDetailExportXls(
+            @RequestParam("projectSearch") String projectSearch, //项目编码/名称
+            @RequestParam("medicalDeptCode") String medicalDeptCode, // 科室代码
+            @RequestParam("medicalInsRuleInfoCode") String medicalInsRuleInfoCode, //违反规则编码
+            @RequestParam("medicalInsRuleInfoName") String medicalInsRuleInfoName, // 违反规则名称
+            @RequestParam("reminderLevel") String reminderLevel, // 违反规则级别
+            HttpServletRequest req) {
+
+        try {
+            AuditMidDetailListRequest request = new AuditMidDetailListRequest();
+            request.setMedicalDeptCode(medicalDeptCode);
+            request.setProjectSearch(projectSearch);
+            request.setMedicalInsRuleInfoCode(medicalInsRuleInfoCode);
+            request.setMedicalInsRuleInfoName(medicalInsRuleInfoName);
+            request.setReminderLevel(reminderLevel);
+
+            Map<String, String[]> parameterMap = req.getParameterMap();
+            List<AuditMidDetailListResponse> result = violationAnalysisService.loadMidAuditPageList(request, parameterMap);
+            List<ViolationMIdChildExportResponse> exportList2 = new ArrayList<>();
+            if (!CollectionUtil.isEmpty(result)) {
+                for (AuditMidDetailListResponse e : result) {
+                    ViolationMIdChildExportResponse v = new ViolationMIdChildExportResponse();
+                    BeanUtil.copyProperties(e, v);
+                    exportList2.add(v);
+                }
+            }
+            return exportUtilHelperService.commonExportXml(item -> ViolationMIdChildExportResponse.class, "事中-科室事中审查-明细详情", exportList2);
+        } catch (UnsupportedEncodingException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+
     @ApiOperation(value="违规分析-事中违规项目统计-列表", notes="违规分析-违规项目统计")
     @GetMapping(value = "/mid/project/list")
     public Result<IPage<MidAuditViolateProjectStatisticsResponse>> midViolateProjectStatisticsList(String projectSearch, //项目类别
@@ -253,6 +289,38 @@ public class ViolationAnalysisController {
         return ok;
     }
 
+    @ApiOperation(value="事中-事中违规项目统计-明细详情-导出", notes="事中-事中违规项目统计-明细详情")
+    @GetMapping(value = "/mid/project/child/exportXls")
+    public ModelAndView midDeptAuditByDeptDetailExportList(
+            @RequestParam("medicalProjectCode") String medicalProjectCode, //医保项目编码
+            @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+            @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+            HttpServletRequest req) {
+
+        if (!StringUtils.hasText( medicalProjectCode)) {
+            throw new JeecgBootException("违规项目编码不可为空");
+        }
+
+        try {
+            AuditMidDetailListRequest request = new AuditMidDetailListRequest();
+            request.setMedicalProjectCode(medicalProjectCode);
+
+            Map<String, String[]> parameterMap = req.getParameterMap();
+            List<AuditMidDetailListResponse> result = violationAnalysisService.loadMidAuditList(request, parameterMap);
+            List<ViolationMidProjectChildExportResponse> exportList2 = new ArrayList<>();
+            if (!CollectionUtils.isEmpty(result)) {
+                for (AuditMidDetailListResponse e : result) {
+                    ViolationMidProjectChildExportResponse v = new ViolationMidProjectChildExportResponse();
+                    BeanUtil.copyProperties(e, v);
+                    exportList2.add(v);
+                }
+            }
+            return exportUtilHelperService.commonExportXml(item -> ViolationMidProjectChildExportResponse.class, "事中-事中违规项目统计-明细详情", exportList2);
+        } catch (UnsupportedEncodingException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
 
     @ApiOperation(value="违规分析-事中规则类型统计-列表", notes="违规分析-事中规则类型统计-列表")
     @GetMapping(value = "/mid/rule/list")
@@ -306,6 +374,35 @@ public class ViolationAnalysisController {
         return ok;
     }
 
+    @ApiOperation(value="事中-规则类型统计-明细详情-导出", notes="事中-规则类型统计-明细详情-导出")
+    @GetMapping(value = "/mid/rule/child/exportXls")
+    public ModelAndView midRuleAuditByDeptDetailExportXls(
+            @RequestParam("medicalInsRuleInfoCode") String medicalInsRuleInfoCode, //违反规则code
+            HttpServletRequest req) {
+
+        if (!StringUtils.hasText(medicalInsRuleInfoCode)) {
+//            return Result.error("违反规则代码不可为空");
+            throw new JeecgBootException("违反规则代码不可为空");
+        }
+        try {
+            AuditMidDetailListRequest request = new AuditMidDetailListRequest();
+            request.setMedicalInsRuleInfoCode(medicalInsRuleInfoCode);
+            Map<String, String[]> parameterMap = req.getParameterMap();
+            List<AuditMidDetailListResponse> export = violationAnalysisService.loadMidAuditPageList(request, parameterMap);
+            List<ViolationMidRuleChildExportResponse> exportList2 = new ArrayList<>();
+            if (!CollectionUtils.isEmpty(export)) {
+                for (AuditMidDetailListResponse e : export) {
+                    ViolationMidRuleChildExportResponse v = new ViolationMidRuleChildExportResponse();
+                    BeanUtil.copyProperties(e, v);
+                    exportList2.add(v);
+                }
+            }
+            return exportUtilHelperService.commonExportXml(item -> ViolationMidRuleChildExportResponse.class, "事中-规则类型统计-明细详情-导出", exportList2);
+        } catch (UnsupportedEncodingException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
     @ApiOperation(value = "违规分析-医嘱信息")
     @GetMapping(value = "/audit/medicalorder/info")
     public Result<List<PrescriptionOrder>> loadMedicalOrderInfoResponseInfo(HttpServletRequest request, @RequestParam(value = "detialId", required = false) Integer detialId) {
@@ -440,7 +537,7 @@ public class ViolationAnalysisController {
         return Result.OK(result2);
     }
 
-    @ApiOperation(value="事后-违规项目统计导出", notes="违规项目统计导出")
+    @ApiOperation(value="事后-违规项目统计-明细详情-导出", notes="违规项目统计导出")
     @RequestMapping(value = "/after/project/exportXls")
     public ModelAndView afterProjectExportXls(HttpServletRequest req,
                                               String projectCode, //项目类别
@@ -549,7 +646,15 @@ public class ViolationAnalysisController {
             afterDeptDetailRequest.setMedicalInsRuleInfoCode(medicalInsRuleInfoCode);
             Map<String, String[]> parameterMap = req.getParameterMap();
             List<AuditMidDetailListResponse> exportList = violationAnalysisService.loadAfterAuditPageList(request, parameterMap);
-            return exportUtilHelperService.commonExportXml(e -> ViolateRuleChildExportResponse.class,  "事后-规则类型统计-明细详情", exportList);
+            List<ViolateRuleChildExportResponse> exportList2 = new ArrayList<>();
+            if (!CollectionUtils.isEmpty(exportList)) {
+                for (AuditMidDetailListResponse e : exportList) {
+                    ViolateRuleChildExportResponse v = new ViolateRuleChildExportResponse();
+                    BeanUtil.copyProperties(e, v);
+                    exportList2.add(v);
+                }
+            }
+            return exportUtilHelperService.commonExportXml(e -> ViolateRuleChildExportResponse.class,  "事后-规则类型统计-明细详情", exportList2);
         } catch (UnsupportedEncodingException e) {
             throw new RuntimeException(e);
         }

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

@@ -41,6 +41,10 @@ public interface IViolationAnalysisService {
      * @return
      */
     IPage<AuditMidDetailListResponse> loadMidAuditPageList(AuditMidDetailListRequest request, Integer pageNo, Integer pageSize, Map<String, String[]> parameterMap);
+
+    List<AuditMidDetailListResponse> loadMidAuditList(AuditMidDetailListRequest request, Map<String, String[]> parameterMap);
+
+    List<AuditMidDetailListResponse> loadMidAuditPageList(AuditMidDetailListRequest request, Map<String, String[]> parameterMap);
     IPage<AuditMidDetailListResponse> loadAfterAuditPageList(AuditMidDetailListRequest request, Integer pageNo, Integer pageSize, Map<String, String[]> parameterMap);
 
     List<AuditMidDetailListResponse> loadAfterAuditPageList(AuditMidDetailListRequest request, Map<String, String[]> parameterMap);

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

@@ -95,13 +95,29 @@ public class AfterwardsAuditServiceImpl extends ServiceImpl<AfterwardsAuditMappe
     @Override
     public ModelAndView afterDepartmentDetailExportXls(HttpServletRequest req, AfterDeptDetailRequest deptDetailRequest, Class<ViolateDeptChildDetailExportResponse> clazz, String title) throws UnsupportedEncodingException {
         List<ReportAfterQueryDetailResponseBO> exportList = baseMapper.departmentDetailStatistics(deptDetailRequest);
-        return exportUtilHelperService.commonExportXml(item -> clazz, title, exportList);
+        List<ViolateDeptChildDetailExportResponse> exportList2 = new ArrayList<>();
+        if (!CollectionUtils.isEmpty(exportList)) {
+            for (ReportAfterQueryDetailResponseBO reportAfterQueryDetailResponseBO : exportList) {
+                ViolateDeptChildDetailExportResponse vr = new ViolateDeptChildDetailExportResponse();
+                BeanUtil.copyProperties(reportAfterQueryDetailResponseBO, vr);
+                exportList2.add(vr);
+            }
+        }
+        return exportUtilHelperService.commonExportXml(item -> clazz, title, exportList2);
     }
 
     @Override
     public ModelAndView afterProjectChildExportXls(HttpServletRequest req, AfterDeptDetailRequest afterwardsAuditDetail, Class<ViolateProjectChildDetailExportResponse> clazz, String title) throws UnsupportedEncodingException {
         List<ReportAfterQueryDetailResponseBO> exportList = baseMapper.departmentDetailStatistics(afterwardsAuditDetail);
-        return exportUtilHelperService.commonExportXml(e -> clazz, title, exportList);
+        List<ViolateProjectChildDetailExportResponse> exportList1 = new ArrayList<ViolateProjectChildDetailExportResponse>();
+        if (!CollectionUtils.isEmpty(exportList)) {
+            for (ReportAfterQueryDetailResponseBO e : exportList) {
+                ViolateProjectChildDetailExportResponse v = new ViolateProjectChildDetailExportResponse();
+                BeanUtil.copyProperties(e, v);
+                exportList1.add(v);
+            }
+        }
+        return exportUtilHelperService.commonExportXml(e -> clazz, title, exportList1);
     }
 
 

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

@@ -136,6 +136,44 @@ public class ViolationAnalysisServiceImpl implements IViolationAnalysisService {
         return resultPage;
     }
 
+    @Override
+    public List<AuditMidDetailListResponse> loadMidAuditList(AuditMidDetailListRequest request, Map<String, String[]> parameterMap) {
+        /*        List<AuditMidDetailListResponse> records = resultPage.getRecords();
+        records.stream().map(item -> {
+            BigDecimal detailTotalAmt = midIncidentAuditService.statissticsErrAmtByMidAuditRecordId(item.getId());
+            item.setErrorRelativelyFewAmt(new BigDecimal("0.00"));
+            item.setErrorRelativelyManyAmt(new BigDecimal("0.00"));
+            if (null != detailTotalAmt) {
+                if (detailTotalAmt.compareTo(BigDecimal.ZERO) > 0) { // 异常金额大于0,就是多收
+                    item.setErrorRelativelyManyAmt(detailTotalAmt);
+                } else if (detailTotalAmt.compareTo(BigDecimal.ZERO) < 0) {
+                    item.setErrorRelativelyFewAmt(detailTotalAmt);
+                }
+            }
+            return item;
+        }).collect(Collectors.toList());*/
+        return midIncidentAuditService.loadMidAuditPageList(request);
+    }
+
+    @Override
+    public List<AuditMidDetailListResponse> loadMidAuditPageList(AuditMidDetailListRequest request, Map<String, String[]> parameterMap) {
+        List<AuditMidDetailListResponse> resultPage = midIncidentAuditService.loadMidAuditPageList(request);
+        /*resultPage.stream().map(item -> {
+            BigDecimal detailTotalAmt = midIncidentAuditService.statissticsErrAmtByMidAuditRecordId(item.getId());
+            item.setErrorRelativelyFewAmt(new BigDecimal("0.00"));
+            item.setErrorRelativelyManyAmt(new BigDecimal("0.00"));
+            if (null != detailTotalAmt) {
+                if (detailTotalAmt.compareTo(BigDecimal.ZERO) > 0) { // 异常金额大于0,就是多收
+                    item.setErrorRelativelyManyAmt(detailTotalAmt);
+                } else if (detailTotalAmt.compareTo(BigDecimal.ZERO) < 0) {
+                    item.setErrorRelativelyFewAmt(detailTotalAmt);
+                }
+            }
+            return item;
+        }).collect(Collectors.toList());*/
+        return resultPage;
+    }
+
     @Override
     public IPage<AuditMidDetailListResponse> loadAfterAuditPageList(AuditMidDetailListRequest request, Integer pageNo, Integer pageSize, Map<String, String[]> parameterMap) {
         Page<AuditMidDetailListResponse> page = new Page<>(pageNo, pageSize);