Compare commits

...

2 Commits

Author SHA1 Message Date
zyh
2083325e40 Merge remote-tracking branch 'origin/main' 2025-08-04 09:17:38 +08:00
zyh
4f48b75b43 判断羊只的删除/未删除状态 2025-08-04 09:17:14 +08:00
3 changed files with 31 additions and 13 deletions

View File

@ -78,4 +78,6 @@ public interface BasSheepMapper
//用于校验改耳号部分新管理/电子耳号
int existsByManageTag(@Param("tag") String tag);
int existsByElectronicTag(@Param("tag") String tag);
}

View File

@ -36,9 +36,9 @@ public class ScAddSheepServiceImpl implements IScAddSheepService {
@Override
@Transactional(rollbackFor = Exception.class)
public boolean insertScAddSheep(ScAddSheep scAddSheep) {
ScAddSheep exist = scAddSheepMapper.selectByEarNumber(scAddSheep.getEarNumber());
if (exist != null) {
throw new ServiceException("添加失败,耳号重复");
BasSheep existSheep =basSheepService.selectBasSheepByManageTags(scAddSheep.getEarNumber().trim());
if (existSheep != null) {
throw new ServiceException("添加失败,耳号已存在");
}
boolean ok = scAddSheepMapper.insert(scAddSheep) > 0;
@ -101,6 +101,7 @@ public class ScAddSheepServiceImpl implements IScAddSheepService {
for (int i = 0; i < list.size(); i++) {
ScAddSheep sheep = list.get(i);
try {
// 处理品种名称转换为品种ID
if (StringUtils.isNotBlank(sheep.getVarietyName())) {
Long varietyId = basSheepVarietyMapper.selectIdByName(sheep.getVarietyName());
if (varietyId == null) {
@ -121,6 +122,7 @@ public class ScAddSheepServiceImpl implements IScAddSheepService {
continue;
}
// 处理羊舍名称转换为羊舍ID
if (StringUtils.isNotBlank(sheep.getSheepfoldNameExcel())) {
DaSheepfold param = new DaSheepfold();
param.setSheepfoldName(sheep.getSheepfoldNameExcel());
@ -137,6 +139,7 @@ public class ScAddSheepServiceImpl implements IScAddSheepService {
sheep.setSheepfold(foldList.get(0).getId().intValue());
}
// 校验耳号是否为空
if (StringUtils.isBlank(sheep.getEarNumber())) {
failure++;
failureMsg.append("<br/>第")
@ -145,17 +148,19 @@ public class ScAddSheepServiceImpl implements IScAddSheepService {
continue;
}
ScAddSheep exist = scAddSheepMapper.selectByEarNumber(sheep.getEarNumber());
if (exist != null) {
// 核心校验判断羊只基本信息表中是否存在未删除的同名耳号
BasSheep existSheep = basSheepService.selectBasSheepByManageTags(sheep.getEarNumber().trim());
if (existSheep != null) {
failure++;
failureMsg.append("<br/>第")
.append(i + 1)
.append("行:耳号已存在")
.append("行:耳号已存在且未删除")
.append(sheep.getEarNumber())
.append("");
continue;
}
// 执行导入新增或更新
if (updateSupport && sheep.getId() != null) {
sheep.setUpdateBy(operName);
updateScAddSheep(sheep);

View File

@ -128,7 +128,8 @@
<if test="sourceDate != null ">and source_date = #{sourceDate}</if>
<if test="sourceRanchId != null ">and source_ranch_id = #{sourceRanchId}</if>
<if test="comment != null and comment != ''">and comment = #{comment}</if>
<if test="isDelete != null ">and is_delete = #{isDelete}</if>
<if test="isDelete == null">and is_delete = 0</if>
<if test="isDelete != null">and is_delete = #{isDelete}</if>
</where>
</select>
@ -151,20 +152,24 @@
bv.variety AS varietyName
FROM bas_sheep s
LEFT JOIN bas_sheep_variety bv ON s.variety_id = bv.id
WHERE s.manage_tags = #{manageTags} LIMIT 1
WHERE s.manage_tags = #{manageTags}
AND s.is_delete = 0 LIMIT 1
</select>
<select id="selectBasSheepBySheepfold" parameterType="BasSheep" resultMap="BasSheepResult">
<include refid="selectBasSheepVo"/>
<where>
sheepfold_id = #{id}
and is_delete = 0
</where>
</select>
<select id="getSheepByRanchId" resultMap="BasSheepResult">
SELECT *
FROM bas_sheep
WHERE ranch_id = #{ranchId}
<include refid="selectBasSheepVo"/>
<where>
ranch_id = #{ranchId}
and is_delete = 0
</where>
</select>
<select id="selectBasSheepListByIds" parameterType="list" resultMap="BasSheepResult">
@ -320,10 +325,16 @@
</delete>
<select id="existsByManageTag" resultType="int">
SELECT COUNT(*) FROM bas_sheep WHERE manage_tags = #{tag} AND is_delete = 0
SELECT COUNT(*)
FROM bas_sheep
WHERE manage_tags = #{tag}
AND s.is_delete = 0
</select>
<select id="existsByElectronicTag" resultType="int">
SELECT COUNT(*) FROM bas_sheep WHERE electronic_tags = #{tag} AND is_delete = 0
SELECT COUNT(*)
FROM bas_sheep
WHERE electronic_tags = #{tag}
AND is_delete = 0
</select>
</mapper>