Sfoglia il codice sorgente

diagnoseitems查询优化

lenovodn 2 anni fa
parent
commit
f9ad95aa47

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

@@ -4,6 +4,7 @@ import java.io.Serializable;
 import java.io.UnsupportedEncodingException;
 import java.util.Date;
 import java.math.BigDecimal;
+import java.util.List;
 
 import com.baomidou.mybatisplus.annotation.*;
 import lombok.Data;
@@ -80,5 +81,6 @@ public class DiagnoseItems implements Serializable {
 
     @TableField(exist = false)
     private Integer medicalInsRuleInfoId;
-
+    @TableField(exist = false)
+    private List<String> codes;
 }

+ 2 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/mapper/DiagnoseItemsMapper.java

@@ -11,11 +11,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 /**
  * @Description: diagnose_items
  * @Author: jeecg-boot
- * @Date:   2023-05-28 11:10:59
+ * @Date: 2023-05-28 11:10:59
  * @Version: V1.0
  */
 public interface DiagnoseItemsMapper extends BaseMapper<DiagnoseItems> {
-    public IPage<DiagnoseItems> diagnosePage(Page<DiagnoseItems> page, @Param("ew")DiagnoseItems diagnoseItems);
+    public IPage<DiagnoseItems> diagnosePage(Page<DiagnoseItems> page, @Param("ew") DiagnoseItems diagnoseItems);
 
     IPage<DiagnoseItems> dataValidation(Page<DiagnoseItems> page);
 }

+ 5 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/mapper/xml/DiagnoseItemsMapper.xml

@@ -15,8 +15,11 @@
         <if test="ew.projectCodeType != null and ew.projectCodeType != ''">
         and pd.project_code_type = #{ew.projectCodeType}
         </if>
-        <if test="ew.medicalDiagnoseCode != null and ew.medicalDiagnoseCode != ''">
-            and pd.medical_diagnose_code = #{ew.medicalDiagnoseCode}
+        <if test="ew.codes != null and ew.codes != ''">
+            and pd.medical_diagnose_code IN
+            <foreach item="condition" collection="ew.codes" open="(" separator="," close=")">
+                #{condition}
+            </foreach>
         </if>
 
     </select>

+ 15 - 3
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/service/impl/DiagnoseItemsServiceImpl.java

@@ -13,12 +13,15 @@ import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @Description: diagnose_items
  * @Author: jeecg-boot
- * @Date:   2023-05-28 11:10:59
+ * @Date: 2023-05-28 11:10:59
  * @Version: V1.0
  */
 @Service
@@ -26,8 +29,17 @@ public class DiagnoseItemsServiceImpl extends ServiceImpl<DiagnoseItemsMapper, D
 
     @Override
     public IPage<DiagnoseItems> diagnosePage(Page<DiagnoseItems> page, DiagnoseItems diagnoseItems) {
+        String[] lines = diagnoseItems.getMedicalDiagnoseCode().split("\n");
+        List<String> stringList;
+        if (lines.length > 0) {
+            stringList = new ArrayList<>(Arrays.asList(lines));
+        } else {
+            stringList = new ArrayList<>();
+            stringList.add(diagnoseItems.getMedicalDiagnoseCode());
+        }
+        diagnoseItems.setCodes(stringList);
 
-        return baseMapper.diagnosePage(page,diagnoseItems);
+        return baseMapper.diagnosePage(page, diagnoseItems);
     }
 
     @Override
@@ -37,7 +49,7 @@ public class DiagnoseItemsServiceImpl extends ServiceImpl<DiagnoseItemsMapper, D
         LambdaQueryWrapper<DiagnoseItems> in = Wrappers.<DiagnoseItems>lambdaQuery()
                 .eq(DiagnoseItems::getDiagnoseCode, diagnoseCode);
         long count = this.count(in);
-        if(count<=0){
+        if (count <= 0) {
             DiagnoseItems diagnoseItems = new DiagnoseItems();
             diagnoseItems.setDiagnoseCode(diagnoseCode);
             diagnoseItems.setDiagnoseName(diagnosesVO.getDiagnose_desc());