diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/breed/mapper/ScSheepDeathMapper.java b/zhyc-module/src/main/java/com/zhyc/module/produce/breed/mapper/ScSheepDeathMapper.java index db7647c..853ab39 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/produce/breed/mapper/ScSheepDeathMapper.java +++ b/zhyc-module/src/main/java/com/zhyc/module/produce/breed/mapper/ScSheepDeathMapper.java @@ -70,11 +70,20 @@ public interface ScSheepDeathMapper public int deleteScSheepDeathByIds(Long[] ids); /** - * 更新羊只状态 + * 更新羊只繁育状态 * * @param sheepId 羊只ID - * @param status 状态 + * @param status 繁育状态 * @return 更新结果 */ public int updateSheepFileStatus(@Param("sheepId") Long sheepId, @Param("status") String status); + + /** + * 新增:更新羊只在群状态 + * + * @param sheepId 羊只ID + * @param status 在群状态(1-在群,2-不在群) + * @return 更新结果 + */ + public int updateSheepStatus(@Param("sheepId") Long sheepId, @Param("status") String status); } \ No newline at end of file diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/breed/service/impl/ScSheepDeathServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/produce/breed/service/impl/ScSheepDeathServiceImpl.java index 12e7afd..6db1659 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/produce/breed/service/impl/ScSheepDeathServiceImpl.java +++ b/zhyc-module/src/main/java/com/zhyc/module/produce/breed/service/impl/ScSheepDeathServiceImpl.java @@ -111,7 +111,13 @@ public class ScSheepDeathServiceImpl implements IScSheepDeathService if (scSheepDeath.getManageTags() != null && !scSheepDeath.getManageTags().isEmpty()) { Map sheepInfo = selectSheepFileByManageTags(scSheepDeath.getManageTags()); if (sheepInfo != null) { - scSheepDeath.setSheepId(sheepInfo.get("sheepId") != null ? Long.valueOf(sheepInfo.get("sheepId").toString()) : null); + Long sheepId = sheepInfo.get("sheepId") != null ? Long.valueOf(sheepInfo.get("sheepId").toString()) : null; + scSheepDeath.setSheepId(sheepId); + + // 插入死淘记录后,同时更新羊只在群状态为"不在群"(字典值为2) + if (sheepId != null) { + scSheepDeathMapper.updateSheepStatus(sheepId, "2"); + } } } @@ -132,7 +138,13 @@ public class ScSheepDeathServiceImpl implements IScSheepDeathService if (scSheepDeath.getManageTags() != null && !scSheepDeath.getManageTags().isEmpty()) { Map sheepInfo = selectSheepFileByManageTags(scSheepDeath.getManageTags()); if (sheepInfo != null) { - scSheepDeath.setSheepId(sheepInfo.get("sheepId") != null ? Long.valueOf(sheepInfo.get("sheepId").toString()) : null); + Long sheepId = sheepInfo.get("sheepId") != null ? Long.valueOf(sheepInfo.get("sheepId").toString()) : null; + scSheepDeath.setSheepId(sheepId); + + // 修改死淘记录时,同时更新羊只在群状态为"不在群"(字典值为2) + if (sheepId != null) { + scSheepDeathMapper.updateSheepStatus(sheepId, "2"); + } } } @@ -149,6 +161,15 @@ public class ScSheepDeathServiceImpl implements IScSheepDeathService @Override public int deleteScSheepDeathByIds(Long[] ids) { + // 可选:删除死淘记录前,将对应羊只在群状态改回"在群" + for (Long id : ids) { + ScSheepDeath scSheepDeath = scSheepDeathMapper.selectScSheepDeathById(id); + if (scSheepDeath != null && scSheepDeath.getSheepId() != null) { + // 恢复羊只在群状态为"在群"(字典值为1) + scSheepDeathMapper.updateSheepStatus(scSheepDeath.getSheepId(), "1"); + } + } + return scSheepDeathMapper.deleteScSheepDeathByIds(ids); } @@ -161,6 +182,13 @@ public class ScSheepDeathServiceImpl implements IScSheepDeathService @Override public int deleteScSheepDeathById(Long id) { + // 可选:删除死淘记录前,将对应羊只在群状态改回"在群" + ScSheepDeath scSheepDeath = scSheepDeathMapper.selectScSheepDeathById(id); + if (scSheepDeath != null && scSheepDeath.getSheepId() != null) { + // 恢复羊只在群状态为"在群"(字典值为1) + scSheepDeathMapper.updateSheepStatus(scSheepDeath.getSheepId(), "1"); + } + return scSheepDeathMapper.deleteScSheepDeathById(id); } } \ No newline at end of file diff --git a/zhyc-module/src/main/resources/mapper/produce/breed/ScSheepDeathMapper.xml b/zhyc-module/src/main/resources/mapper/produce/breed/ScSheepDeathMapper.xml index 71c1458..1444e04 100644 --- a/zhyc-module/src/main/resources/mapper/produce/breed/ScSheepDeathMapper.xml +++ b/zhyc-module/src/main/resources/mapper/produce/breed/ScSheepDeathMapper.xml @@ -52,7 +52,7 @@ where id = #{id} - +