Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/master_179_20250814' into master_179_20250814

xgb 3 dní pred
rodič
commit
dd6e533569

+ 12 - 0
fs-service/src/main/java/com/fs/medical/mapper/MedicalIndicatorMapper.java

@@ -109,4 +109,16 @@ public interface MedicalIndicatorMapper {
             "</choose>" +
             "</script>")
     List<MedicalIndicator> selectPageList(MedicalIndicatorQueryDto queryDto);
+
+    @Select("<script>" +
+            "SELECT * FROM fs_medical_indicator WHERE status = 1 " +
+            "<if test='indicatorIdList != null and indicatorIdList.size() > 0'>" +
+            "AND indicator_id NOT IN " +
+            "<foreach collection='indicatorIdList' item='id' open='(' separator=',' close=')'>" +
+            "#{id}" +
+            "</foreach>" +
+            "</if>" +
+            "ORDER BY sort_order" +
+            "</script>")
+    List<MedicalIndicator> listAllEnabledFilterSelected(@Param("indicatorIdList") List<Long> indicatorIdList);
 }

+ 3 - 0
fs-service/src/main/java/com/fs/medical/mapper/ReportIndicatorResultMapper.java

@@ -102,4 +102,7 @@ public interface ReportIndicatorResultMapper {
 
     @Select("select distinct indicator_cate_id as cate_id from fs_report_indicator_result where report_id=#{reportId}")
     List<ReportAllIndicatorCateDTO> getAllIndicatorByReportId(@Param("reportId") Long reportId);
+
+    @Select("select indicator_id from fs_report_indicator_result where report_id=#{reportId}")
+    List<Long> querySelectedIndicator(@Param("reportId") Long reportId);
 }

+ 3 - 1
fs-service/src/main/java/com/fs/medical/service/MedicalIndicatorService.java

@@ -43,4 +43,6 @@ public interface MedicalIndicatorService {
      * 分页查询医疗指标列表
      */
     List<MedicalIndicator> selectPageList(MedicalIndicatorQueryDto queryDto);
-}
+
+    List<MedicalIndicator> listAllEnabledByReportId(Long reportId);
+}

+ 11 - 2
fs-service/src/main/java/com/fs/medical/service/impl/MedicalIndicatorServiceImpl.java

@@ -2,11 +2,13 @@ package com.fs.medical.service.impl;
 
 import com.fs.medical.domain.MedicalIndicator;
 import com.fs.medical.mapper.MedicalIndicatorMapper;
+import com.fs.medical.mapper.ReportIndicatorResultMapper;
 import com.fs.medical.param.MedicalIndicatorQueryDto;
 import com.fs.medical.service.MedicalIndicatorService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -17,7 +19,8 @@ public class MedicalIndicatorServiceImpl implements MedicalIndicatorService {
 
     @Autowired
     private MedicalIndicatorMapper medicalIndicatorMapper;
-
+    @Autowired
+    private ReportIndicatorResultMapper reportIndicatorResultMapper;
     @Override
     public MedicalIndicator getById(Long indicatorId) {
         return medicalIndicatorMapper.getById(indicatorId);
@@ -52,4 +55,10 @@ public class MedicalIndicatorServiceImpl implements MedicalIndicatorService {
     public List<MedicalIndicator> selectPageList(MedicalIndicatorQueryDto queryDto) {
         return medicalIndicatorMapper.selectPageList(queryDto);
     }
-}
+
+    @Override
+    public List<MedicalIndicator> listAllEnabledByReportId(Long reportId) {
+        List<Long> indicatorIdList = reportIndicatorResultMapper.querySelectedIndicator(reportId);
+        return medicalIndicatorMapper.listAllEnabledFilterSelected(indicatorIdList);
+    }
+}

+ 6 - 0
fs-user-app/pom.xml

@@ -108,6 +108,12 @@
             <artifactId>rocketmq-spring-boot-starter</artifactId>
             <version>2.2.3</version>
         </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+
     </dependencies>
 
     <build>

+ 16 - 0
fs-user-app/src/main/java/com/fs/app/controller/medical/MedicalIndicatorController.java

@@ -52,6 +52,22 @@ public class MedicalIndicatorController extends AppBaseController {
         }
     }
 
+    /**
+     * 查询所有启用的指标
+     */
+    @ApiOperation("查询所有启用的指标")
+    @GetMapping("/listAllEnabledByReportId")
+    public R listAllEnabledByReportId(@RequestParam("reportId") Long reportId) {
+        log.info("查询所有启用的指标");
+        try {
+            List<MedicalIndicator> list = medicalIndicatorService.listAllEnabledByReportId(reportId);
+            return R.ok().put("data",list);
+        } catch (Exception e) {
+            logger.error("查询启用指标失败", e);
+            return R.error("查询失败");
+        }
+    }
+
     /**
      * 分页查询医疗指标列表(带筛选)
      */

+ 33 - 0
fs-user-app/src/test/java/com/fs/app/controller/medical/PhysicalExamReportControllerTest.java

@@ -0,0 +1,33 @@
+package com.fs.app.controller.medical;
+
+import com.alibaba.fastjson.JSON;
+import com.fs.FsUserAppApplication;
+import com.fs.medical.param.PhysicalExamReportCompareDto;
+import com.fs.medical.service.PhysicalExamReportService;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = FsUserAppApplication.class)
+@RequiredArgsConstructor
+@Slf4j
+public class PhysicalExamReportControllerTest {
+
+    @Autowired
+    private PhysicalExamReportService physicalExamReportService;
+
+    @Test
+    public void compareReport() {
+        PhysicalExamReportCompareDto compareDto = new PhysicalExamReportCompareDto();
+        compareDto.setReport1(24L);
+        compareDto.setReport2(26L);
+        compareDto.setType(1);
+        Object result = physicalExamReportService.compareReport(compareDto);
+        log.info("对比结果: {}", JSON.toJSONString(result));
+    }
+}