生物安全多羊只耳号查询

This commit is contained in:
2026-01-27 23:40:51 +08:00
parent 62947ca5e8
commit c9cefa3d33
19 changed files with 191 additions and 18 deletions

View File

@@ -46,6 +46,17 @@ public class BasSheepController extends BaseController {
return getDataTable(list);
}
@GetMapping("/earNumbers")
public AjaxResult searchEarNumbers(@RequestParam("query") String query) {
try {
List<String> earNumbers =basSheepService.searchEarNumbers(query);
return success(earNumbers);
} catch (Exception e) {
logger.error("搜索耳号异常", e);
return error("搜索耳号失败:" + e.getMessage());
}
}
/**
* 导出羊只基本信息列表
*/

View File

@@ -70,6 +70,15 @@ public interface BasSheepMapper
BasSheep selectBasSheepByManageTags(String manageTags);
/**
* 模糊查询母羊耳号列表
*
* @param query 查询关键字
* @return 耳号列表
*/
List<String> searchEarNumbers(@Param("query") String query);
List<BasSheep> selectBasSheepBySheepfold(String id);
// 根据牧场ID获取羊只列表

View File

@@ -28,6 +28,13 @@ public interface IBasSheepService
*/
public List<BasSheep> selectBasSheepList(BasSheep basSheep);
/**
* 羊只查询耳号信息
*
* @param earNumbers 耳号
* @return 结果
*/
public List<String> searchEarNumbers(String earNumbers);
/**
* 新增羊只基本信息
*

View File

@@ -44,6 +44,16 @@ public class BasSheepServiceImpl implements IBasSheepService
return basSheepMapper.selectBasSheepList(basSheep);
}
/**
* 搜索羊只 earNumbers
*
* @param query
* @return
*/
@Override
public List<String> searchEarNumbers(String query) {
return basSheepMapper.searchEarNumbers(query);
}
/**
* 新增羊只基本信息
*

View File

@@ -35,6 +35,8 @@ public class Deworm extends BaseEntity
@Excel(name = "羊只耳号")
private String sheepNo;
private String[] sheepNos;
/** 全部羊耳号列表(用于多耳号查询) */
private List<String> allEarNumbers;
@Excel(name = "品种")
private String variety;
@@ -75,10 +77,7 @@ public class Deworm extends BaseEntity
@Excel(name = "备注")
private String comment;
// public void setGender(String gender) {
// this.gender = gender;
// this.genderName = Gender.getDescByCode(Integer.valueOf(gender));
// }
// 排序查询
private String orderByColumn;
private String isAsc;

View File

@@ -1,6 +1,8 @@
package com.zhyc.module.biosafety.domain;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhyc.module.enums.Gender;
import lombok.AllArgsConstructor;
@@ -38,6 +40,9 @@ public class Diagnosis extends BaseEntity
@Excel(name = "羊只耳号")
private String sheepNo;
private String[] sheepNos;
/** 全部羊耳号列表(用于多耳号查询) */
private List<String> allEarNumbers;
private Long sheepId;
@@ -97,12 +102,23 @@ public class Diagnosis extends BaseEntity
private Long sheepfoldId;
public void setGender(String gender) {
this.gender = gender;
this.genderName = Gender.getDescByCode(Integer.valueOf(gender));
}
// 排序查询
private String orderByColumn;
private String isAsc;
public void setGender(String gender) {
this.gender = gender;
if (gender != null && !gender.trim().isEmpty()) {
try {
Integer genderCode = Integer.valueOf(gender.trim());
this.genderName = Gender.getDescByCode(genderCode);
} catch (NumberFormatException e) {
// 如果转换失败,设置为空或默认值
this.genderName = null;
}
} else {
this.genderName = null;
}
}
}

View File

@@ -31,13 +31,15 @@ public class Health extends BaseEntity
/** 羊只id */
@Excel(name = "羊只id")
private Long sheepId;
private Integer[] sheepIds;
/** 羊只id */
@Excel(name = "羊只耳号")
private String sheepNo;
private String[] sheepNos;
/** 全部羊耳号列表(用于多耳号查询) */
private List<String> allEarNumbers;
@Excel(name = "品种")
private String variety;
@@ -70,11 +72,23 @@ public class Health extends BaseEntity
// 药品使用
private List<SwMedicineUsageDetails> usageDetails;
public void setGender(String gender) {
this.gender = gender;
this.genderName = Gender.getDescByCode(Integer.valueOf(gender));
}
// 排序查询
private String orderByColumn;
private String isAsc;
public void setGender(String gender) {
this.gender = gender;
if (gender != null && !gender.trim().isEmpty()) {
try {
Integer genderCode = Integer.valueOf(gender.trim());
this.genderName = Gender.getDescByCode(genderCode);
} catch (NumberFormatException e) {
// 如果转换失败,设置为空或默认值
this.genderName = null;
}
} else {
this.genderName = null;
}
}
}

View File

@@ -37,6 +37,9 @@ public class Immunity extends BaseEntity
@Excel(name = "羊只耳号")
private String sheepNo;
private String[] sheepNos;
/** 全部羊耳号列表(用于多耳号查询) */
private List<String> allEarNumbers;
@Excel(name = "品种")
@@ -77,12 +80,24 @@ public class Immunity extends BaseEntity
// 药品使用
private List<SwMedicineUsageDetails> usageDetails;
public void setGender(String gender) {
this.gender = gender;
this.genderName = Gender.getDescByCode(Integer.valueOf(gender));
}
// 排序查询
private String orderByColumn;
private String isAsc;
public void setGender(String gender) {
this.gender = gender;
if (gender != null && !gender.trim().isEmpty()) {
try {
Integer genderCode = Integer.valueOf(gender.trim());
this.genderName = Gender.getDescByCode(genderCode);
} catch (NumberFormatException e) {
// 如果转换失败,设置为空或默认值
this.genderName = null;
}
} else {
this.genderName = null;
}
}
}

View File

@@ -1,6 +1,8 @@
package com.zhyc.module.biosafety.domain;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhyc.module.enums.Gender;
import lombok.AllArgsConstructor;
@@ -37,6 +39,9 @@ public class QuarantineReport extends BaseEntity
@Excel(name = "羊只耳号")
private String sheepNo;
private String[] sheepNos;
/** 全部羊耳号列表(用于多耳号查询) */
private List<String> allEarNumbers;
@Excel(name = "羊只类别")
private String sheepType;

View File

@@ -39,6 +39,10 @@ public class SwMedicineUsage extends BaseEntity
@Excel(name = "耳号",width = 20, needMerge = true)
private String sheepNo;
private String[] sheepNos;
/** 全部羊耳号列表(用于多耳号查询) */
private List<String> allEarNumbers;
private Integer sheepId;
/** 使用时间 */
@JsonFormat(pattern = "yyyy-MM-dd")

View File

@@ -33,6 +33,9 @@ public class Treatment extends BaseEntity
@Excel(name = "羊只耳号")
private String sheepNo;
private String[] sheepNos;
/** 全部羊耳号列表(用于多耳号查询) */
private List<String> allEarNumbers;
private Long sheepId;
// 用于批量新增

View File

@@ -148,6 +148,15 @@
WHERE s.id = #{id}
</select>
<select id="searchEarNumbers" resultType="java.lang.String">
SELECT DISTINCT manage_tags
FROM bas_sheep
WHERE manage_tags LIKE CONCAT(#{query}, '%')
AND is_delete = 0
ORDER by manage_tags
LIMIT 50
</select>
<select id="selectBasSheepByManageTags" parameterType="String" resultMap="BasSheepResult">
SELECT s.*,
bv.variety AS varietyName

View File

@@ -43,6 +43,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach>
)
</if>
<!-- 全部羊多耳号查询(母羊或公羊匹配即可) -->
<if test="allEarNumbers != null and allEarNumbers.size() > 0">
AND (
bs.manage_tags IN
<foreach collection="allEarNumbers" item="earNumber" open="(" separator="," close=")">
#{earNumber}
</foreach>
)
</if>
<if test="params.beginDatetime != null and params.beginDatetime != '' and params.endDatetime != null and params.endDatetime != ''">
and datetime between #{params.beginDatetime} and #{params.endDatetime}

View File

@@ -52,6 +52,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach>
)
</if>
<!-- 全部羊多耳号查询(母羊或公羊匹配即可) -->
<if test="allEarNumbers != null and allEarNumbers.size() > 0">
AND (
bs.manage_tags IN
<foreach collection="allEarNumbers" item="earNumber" open="(" separator="," close=")">
#{earNumber}
</foreach>
)
</if>
<if test="params.beginDatetime != null and params.beginDatetime != '' and params.endDatetime != null and params.endDatetime != ''"> and datetime between #{params.beginDatetime} and #{params.endDatetime}</if>
<if test="diseasePid != null "> and disease_pid = #{diseasePid}</if>
<if test="diseaseId != null "> and disease_id = #{diseaseId}</if>

View File

@@ -50,7 +50,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach>
)
</if>
<!-- 全部羊多耳号查询(母羊或公羊匹配即可) -->
<if test="allEarNumbers != null and allEarNumbers.size() > 0">
AND (
bs.manage_tags IN
<foreach collection="allEarNumbers" item="earNumber" open="(" separator="," close=")">
#{earNumber}
</foreach>
)
</if>
<if test="params.beginDatetime != null and params.beginDatetime != '' and params.endDatetime != null and params.endDatetime != ''"> and datetime between #{params.beginDatetime} and #{params.endDatetime}</if>
<if test="technical != null and technical != ''"> and technical = #{technical}</if>
</where>

View File

@@ -48,7 +48,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach>
)
</if>
<!-- 全部羊多耳号查询(母羊或公羊匹配即可) -->
<if test="allEarNumbers != null and allEarNumbers.size() > 0">
AND (
bs.manage_tags IN
<foreach collection="allEarNumbers" item="earNumber" open="(" separator="," close=")">
#{earNumber}
</foreach>
)
</if>
<if test="params.beginDatetime != null and params.beginDatetime != '' and params.endDatetime != null and params.endDatetime != ''"> and datetime between #{params.beginDatetime} and #{params.endDatetime}</if>
<if test="technical != null and technical != ''"> and technical = #{technical}</if>
</where>

View File

@@ -54,6 +54,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach>
)
</if>
<!-- 全部羊多耳号查询(母羊或公羊匹配即可) -->
<if test="allEarNumbers != null and allEarNumbers.size() > 0">
AND (
bs.manage_tags IN
<foreach collection="allEarNumbers" item="earNumber" open="(" separator="," close=")">
#{earNumber}
</foreach>
)
</if>
<if test="quarItem != null "> and quar_item = #{quarItem}</if>
<if test="sampleType != null "> and sample_type = #{sampleType}</if>
<if test="sampler != null and sampler != ''"> and sampler like concat('%',#{sampler},'%') </if>

View File

@@ -80,6 +80,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach>
)
</if>
<!-- 全部羊多耳号查询(母羊或公羊匹配即可) -->
<if test="allEarNumbers != null and allEarNumbers.size() > 0">
AND (
bs.manage_tags IN
<foreach collection="allEarNumbers" item="earNumber" open="(" separator="," close=")">
#{earNumber}
</foreach>
)
</if>
<!-- 4. 使用时间区间 -->
<if test="params.beginUseTime != null and params.endUseTime != null">

View File

@@ -62,6 +62,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach>
)
</if>
<!-- 全部羊多耳号查询(母羊或公羊匹配即可) -->
<if test="allEarNumbers != null and allEarNumbers.size() > 0">
AND (
bs.manage_tags IN
<foreach collection="allEarNumbers" item="earNumber" open="(" separator="," close=")">
#{earNumber}
</foreach>
)
</if>
<if test="params.beginDatetime != null and params.beginDatetime != '' and params.endDatetime != null and params.endDatetime != ''"> and datetime between #{params.beginDatetime} and #{params.endDatetime}</if>
<if test="diseaseId != null "> and disease_id = #{diseaseId}</if>