From e7b52d0f548d85c76472afb7bb595671c82de719 Mon Sep 17 00:00:00 2001
From: zyh <2066096076@qq.com>
Date: Thu, 23 Oct 2025 16:36:01 +0800
Subject: [PATCH 1/3] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=BE=8A=E5=8F=AA?=
=?UTF-8?q?=E4=B8=AD=E7=BE=8A=E5=8F=AA=E7=B1=BB=E5=9E=8B=E6=94=B9=E4=B8=BA?=
=?UTF-8?q?=E9=9D=9E=E5=BF=85=E5=A1=AB=EF=BC=9B=E8=BD=AC=E5=9C=BA=E8=BD=AC?=
=?UTF-8?q?=E7=BE=A4=E9=83=A8=E5=88=86=E6=90=9C=E7=B4=A2=E6=A1=86=E5=8E=BB?=
=?UTF-8?q?=E9=99=A4=E5=88=9B=E5=BB=BA=E6=97=B6=E9=97=B4=E5=92=8C=E4=BA=8B?=
=?UTF-8?q?=E4=BB=B6=E7=B1=BB=E5=9E=8B=EF=BC=9B=E4=B8=89=E4=B8=AA=E6=94=B9?=
=?UTF-8?q?**=E9=A1=B5=E9=9D=A2=E7=9A=84=E6=96=B0=E5=A2=9E=EF=BC=8C?=
=?UTF-8?q?=E6=9F=A5=E8=AF=A2=EF=BC=8C=E5=AF=BC=E5=87=BA=E5=AE=8C=E5=96=84?=
=?UTF-8?q?=EF=BC=9B=E6=AF=8F=E9=A1=B5=E6=9D=A1=E6=95=B0=E8=AE=BE=E7=BD=AE?=
=?UTF-8?q?=EF=BC=9B=E5=A1=AB=E5=86=99=E6=95=B0=E5=AD=97=E7=9A=84=E5=AD=97?=
=?UTF-8?q?=E6=AE=B5=E6=95=B0=E5=8F=AF=E6=8E=92=E5=BA=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../bodyManage/domain/ScBodyMeasure.java | 9 ++++
.../bodyManage/domain/ScBodyScore.java | 9 ++++
.../bodyManage/domain/ScBreastRating.java | 8 +++
.../impl/ScBreastRatingServiceImpl.java | 1 +
.../controller/ScAddSheepController.java | 2 +-
.../manage_sheep/domain/ScAddSheep.java | 1 -
.../manage_sheep/domain/ScChangeComment.java | 15 +++++-
.../manage_sheep/domain/ScChangeEar.java | 52 +++++++++++++++----
.../manage_sheep/domain/ScChangeVariety.java | 42 +++++++++++----
.../impl/ScChangeCommentServiceImpl.java | 7 +++
.../service/impl/ScChangeEarServiceImpl.java | 19 +++++--
.../impl/ScChangeVarietyServiceImpl.java | 9 ++++
.../service/impl/ScTransGroupServiceImpl.java | 1 -
.../impl/ScTransitionInfoServiceImpl.java | 8 ++-
.../produce/other/domain/ScCastrate.java | 8 ++-
.../produce/other/domain/ScFixHoof.java | 7 +++
.../bodyManage/ScBodyMeasureMapper.xml | 25 ++++++++-
.../produce/bodyManage/ScBodyScoreMapper.xml | 7 ++-
.../bodyManage/ScBreastRatingMapper.xml | 8 ++-
.../manage_sheep/ScChangeCommentMapper.xml | 14 ++++-
.../manage_sheep/ScChangeEarMapper.xml | 28 +++++++---
.../manage_sheep/ScChangeVarietyMapper.xml | 14 ++++-
.../manage_sheep/ScTransGroupMapper.xml | 8 +--
.../manage_sheep/ScTransitionInfoMapper.xml | 12 ++---
.../mapper/produce/other/ScCastrateMapper.xml | 9 +++-
.../mapper/produce/other/ScFixHoofMapper.xml | 10 +++-
26 files changed, 277 insertions(+), 56 deletions(-)
diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/bodyManage/domain/ScBodyMeasure.java b/zhyc-module/src/main/java/com/zhyc/module/produce/bodyManage/domain/ScBodyMeasure.java
index 3e73035..ca2ce61 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/produce/bodyManage/domain/ScBodyMeasure.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/produce/bodyManage/domain/ScBodyMeasure.java
@@ -183,4 +183,13 @@ public class ScBodyMeasure extends BaseEntity {
@Excel(name = "技术员")
private String technician;
+ /**
+ * 排序字段
+ */
+ private String orderBy;
+
+ /**
+ * 排序方向
+ */
+ private String sortDirection;
}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/bodyManage/domain/ScBodyScore.java b/zhyc-module/src/main/java/com/zhyc/module/produce/bodyManage/domain/ScBodyScore.java
index 83ded3e..eb010ff 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/produce/bodyManage/domain/ScBodyScore.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/produce/bodyManage/domain/ScBodyScore.java
@@ -77,4 +77,13 @@ public class ScBodyScore extends BaseEntity {
@Excel(name = "技术员")
private String technician;
+ /**
+ * 排序字段
+ */
+ private String orderBy;
+
+ /**
+ * 排序方向
+ */
+ private String sortDirection;
}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/bodyManage/domain/ScBreastRating.java b/zhyc-module/src/main/java/com/zhyc/module/produce/bodyManage/domain/ScBreastRating.java
index 4eda878..057dda1 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/produce/bodyManage/domain/ScBreastRating.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/produce/bodyManage/domain/ScBreastRating.java
@@ -110,5 +110,13 @@ public class ScBreastRating extends BaseEntity {
@Excel(name = "技术员")
private String technician;
+ /**
+ * 排序字段
+ */
+ private String orderBy;
+ /**
+ * 排序方向
+ */
+ private String sortDirection;
}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/bodyManage/service/impl/ScBreastRatingServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/produce/bodyManage/service/impl/ScBreastRatingServiceImpl.java
index e813d43..09cd767 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/produce/bodyManage/service/impl/ScBreastRatingServiceImpl.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/produce/bodyManage/service/impl/ScBreastRatingServiceImpl.java
@@ -1,6 +1,7 @@
package com.zhyc.module.produce.bodyManage.service.impl;
import java.util.List;
+import java.util.Map;
import com.zhyc.common.utils.DateUtils;
import com.zhyc.common.utils.SecurityUtils;
diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/controller/ScAddSheepController.java b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/controller/ScAddSheepController.java
index 4f56d3b..122d593 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/controller/ScAddSheepController.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/controller/ScAddSheepController.java
@@ -96,7 +96,7 @@ public class ScAddSheepController {
// 根据牧场ID查询牧场信息
DaRanch ranch = daRanchService.selectDaRanchById(scAddSheep.getRanchId().longValue());
if (ranch != null) {
- scAddSheep.setRanchName(ranch.getRanch()); // 将牧场名称设置到实体中
+ scAddSheep.setRanchName(ranch.getRanch());
}
}
// 处理羊舍名称
diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/domain/ScAddSheep.java b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/domain/ScAddSheep.java
index bae1352..e462111 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/domain/ScAddSheep.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/domain/ScAddSheep.java
@@ -37,7 +37,6 @@ public class ScAddSheep extends BaseEntity {
private String sheepfoldName;
- // 导出时生成“羊舍名称”列 ,仅 Excel 用,不映射到数据库
@Excel(name = "羊舍名称")
private String sheepfoldNameExcel;
diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/domain/ScChangeComment.java b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/domain/ScChangeComment.java
index 5db6214..2fd53e3 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/domain/ScChangeComment.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/domain/ScChangeComment.java
@@ -1,11 +1,14 @@
package com.zhyc.module.produce.manage_sheep.domain;
+import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import com.zhyc.common.annotation.Excel;
import com.zhyc.common.core.domain.BaseEntity;
+import java.util.Date;
+
/**
* 改备注对象 sc_change_comment
*
@@ -53,5 +56,15 @@ public class ScChangeComment extends BaseEntity {
@Excel(name = "原备注")
private String oldComment;
-
+ /**
+ * 事件日期
+ */
+ @Excel(name = "事件日期", width = 30, dateFormat = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date eventDate;
+ /**
+ * 技术员
+ */
+ @Excel(name = "技术员")
+ private String technician;
}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/domain/ScChangeEar.java b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/domain/ScChangeEar.java
index e7e9411..76dc820 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/domain/ScChangeEar.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/domain/ScChangeEar.java
@@ -1,57 +1,87 @@
package com.zhyc.module.produce.manage_sheep.domain;
+import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import com.zhyc.common.annotation.Excel;
import com.zhyc.common.core.domain.BaseEntity;
+import java.util.Date;
+
/**
* 修改电子耳号记录对象 sc_change_ear
- *
+ *
* @author ruoyi
* @date 2025-07-24
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
-public class ScChangeEar extends BaseEntity
-{
+public class ScChangeEar extends BaseEntity {
private static final long serialVersionUID = 1L;
- /** id */
+ /**
+ * id
+ */
private Integer id;
- /** 羊只id */
+ /**
+ * 羊只id
+ */
private Long sheepId;
@Excel(name = "管理耳号")
private String manageTags;
- /** 羊舍 */
+ /**
+ * 羊舍
+ */
private Long sheepfoldId;
@Excel(name = "羊舍")
private String sheepfoldName;
- /** 事件类型(改管理耳号/改电子耳号) */
+ /**
+ * 事件类型(改管理耳号/改电子耳号)
+ */
@Excel(name = "事件类型")
private String eventType;
- /** 选择更改耳号类型(0电子耳号1管理耳号) */
+ /**
+ * 选择更改耳号类型(0电子耳号1管理耳号)
+ */
@Excel(name = "耳号类型", readConverterExp = "0=电子耳号,1=管理耳号")
private Integer earType;
- /** 新耳号/电子耳号 */
+ /**
+ * 新耳号/电子耳号
+ */
@Excel(name = "新耳号/电子耳号")
private String newTag;
- /** 旧耳号/电子耳号 */
+ /**
+ * 旧耳号/电子耳号
+ */
@Excel(name = "旧耳号/电子耳号")
private String oldTag;
- /** 备注 */
+ /**
+ * 备注
+ */
@Excel(name = "备注")
private String comment;
+ /**
+ * 事件日期
+ */
+ @Excel(name = "事件日期", width = 30, dateFormat = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date eventDate;
+
+ /**
+ * 技术员
+ */
+ @Excel(name = "技术员")
+ private String technician;
}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/domain/ScChangeVariety.java b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/domain/ScChangeVariety.java
index 3c8953c..a93f079 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/domain/ScChangeVariety.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/domain/ScChangeVariety.java
@@ -1,6 +1,7 @@
package com.zhyc.module.produce.manage_sheep.domain;
import java.util.Date;
+
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
@@ -10,26 +11,31 @@ import com.zhyc.common.core.domain.BaseEntity;
/**
* 改品种记录对象 sc_change_variety
- *
+ *
* @author ruoyi
* @date 2025-07-24
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
-public class ScChangeVariety extends BaseEntity
-{
+public class ScChangeVariety extends BaseEntity {
private static final long serialVersionUID = 1L;
- /** $column.columnComment */
+ /**
+ * $column.columnComment
+ */
private Integer id;
- /** 羊只id */
+ /**
+ * 羊只id
+ */
private Integer sheepId;
@Excel(name = "耳号")
private String manageTags;
- /** 羊舍 */
+ /**
+ * 羊舍
+ */
private Long sheepfoldId;
@Excel(name = "羊舍")
private String sheepfoldName;
@@ -40,17 +46,35 @@ public class ScChangeVariety extends BaseEntity
@Excel(name = "事件类型")
private String eventType;
- /** 原品种 */
+ /**
+ * 原品种
+ */
@Excel(name = "原品种")
private String varietyOld;
- /** 新品种 */
+ /**
+ * 新品种
+ */
@Excel(name = "新品种")
private String varietyNew;
- /** 备注 */
+ /**
+ * 备注
+ */
@Excel(name = "备注")
private String comment;
+ /**
+ * 技术员
+ */
+ @Excel(name = "技术员")
+ private String technician;
+
+ /**
+ * 事件日期
+ */
+ @Excel(name = "事件日期",width = 30, dateFormat = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date eventDate;
}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/service/impl/ScChangeCommentServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/service/impl/ScChangeCommentServiceImpl.java
index 3f0f4dd..1a3ae46 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/service/impl/ScChangeCommentServiceImpl.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/service/impl/ScChangeCommentServiceImpl.java
@@ -4,6 +4,7 @@ import java.util.Date;
import java.util.List;
import com.zhyc.common.utils.SecurityUtils;
+import com.zhyc.common.utils.StringUtils;
import com.zhyc.module.base.domain.BasSheep;
import com.zhyc.module.base.service.IBasSheepService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -61,6 +62,12 @@ public class ScChangeCommentServiceImpl implements IScChangeCommentService
@Transactional(rollbackFor = Exception.class)
public int insertScChangeComment(ScChangeComment scChangeComment)
{
+ if (StringUtils.isBlank(scChangeComment.getTechnician())) {
+ throw new RuntimeException("技术员不能为空");
+ }
+ if (scChangeComment.getEventDate() == null) {
+ throw new RuntimeException("事件日期不能为空");
+ }
scChangeComment.setCreateTime(new Date());
scChangeComment.setCreateBy(SecurityUtils.getUsername());
int rows = scChangeCommentMapper.insertScChangeComment(scChangeComment);
diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/service/impl/ScChangeEarServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/service/impl/ScChangeEarServiceImpl.java
index 8f78e50..e9126a5 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/service/impl/ScChangeEarServiceImpl.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/service/impl/ScChangeEarServiceImpl.java
@@ -3,6 +3,7 @@ package com.zhyc.module.produce.manage_sheep.service.impl;
import java.util.List;
import com.zhyc.common.utils.DateUtils;
import com.zhyc.common.utils.SecurityUtils;
+import com.zhyc.common.utils.StringUtils;
import com.zhyc.module.base.domain.BasSheep;
import com.zhyc.module.base.service.IBasSheepService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -81,11 +82,18 @@ public class ScChangeEarServiceImpl implements IScChangeEarService
public int insertScChangeEar(ScChangeEar scChangeEar) {
scChangeEar.setCreateTime(DateUtils.getNowDate());
scChangeEar.setCreateBy(SecurityUtils.getUsername());
-
- // 在新增时,确保旧耳号被正确设置为原始耳号的值
+ if (StringUtils.isBlank(scChangeEar.getTechnician())) {
+ throw new RuntimeException("技术员不能为空");
+ }
+ if (scChangeEar.getEventDate() == null) {
+ throw new RuntimeException("事件日期不能为空");
+ }
if (scChangeEar.getSheepId() == null) {
throw new RuntimeException("未找到对应的羊只ID");
}
+ if (StringUtils.isBlank(scChangeEar.getComment())) {
+ throw new RuntimeException("备注不能为空");
+ }
BasSheep sheep = basSheepService.selectBasSheepById(scChangeEar.getSheepId());
if (sheep == null) {
@@ -113,8 +121,13 @@ public class ScChangeEarServiceImpl implements IScChangeEarService
} else if (scChangeEar.getEarType() == 1) {
sheep.setManageTags(scChangeEar.getNewTag());
}
- basSheepService.updateBasSheep(sheep);
+ // 同步更新羊只主表备注
+ if (StringUtils.isNotBlank(scChangeEar.getComment())) {
+ sheep.setComment(scChangeEar.getComment());
+ }
+
+ basSheepService.updateBasSheep(sheep);
return rows;
}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/service/impl/ScChangeVarietyServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/service/impl/ScChangeVarietyServiceImpl.java
index 9551a56..735aa49 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/service/impl/ScChangeVarietyServiceImpl.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/service/impl/ScChangeVarietyServiceImpl.java
@@ -4,6 +4,7 @@ import java.util.Date;
import java.util.List;
import com.zhyc.common.utils.SecurityUtils;
+import com.zhyc.common.utils.StringUtils;
import com.zhyc.module.base.domain.BasSheep;
import com.zhyc.module.base.domain.BasSheepVariety;
import com.zhyc.module.base.service.IBasSheepService;
@@ -66,6 +67,14 @@ public class ScChangeVarietyServiceImpl implements IScChangeVarietyService
{
scChangeVariety.setCreateTime(new Date());
scChangeVariety.setCreateBy(SecurityUtils.getUsername());
+
+ if (StringUtils.isBlank(scChangeVariety.getTechnician())) {
+ throw new RuntimeException("技术员不能为空");
+ }
+ if (scChangeVariety.getEventDate() == null) {
+ throw new RuntimeException("事件日期不能为空");
+ }
+
int rows = scChangeVarietyMapper.insertScChangeVariety(scChangeVariety);
if (rows <= 0) {
return rows;
diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/service/impl/ScTransGroupServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/service/impl/ScTransGroupServiceImpl.java
index d68d112..d1ffb9c 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/service/impl/ScTransGroupServiceImpl.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/service/impl/ScTransGroupServiceImpl.java
@@ -87,7 +87,6 @@ public class ScTransGroupServiceImpl implements IScTransGroupService {
}
}
return rows;
-// return scTransGroupMapper.insertScTransGroup(scTransGroup);
}
/**
diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/service/impl/ScTransitionInfoServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/service/impl/ScTransitionInfoServiceImpl.java
index 8e619e5..f399396 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/service/impl/ScTransitionInfoServiceImpl.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/service/impl/ScTransitionInfoServiceImpl.java
@@ -114,9 +114,9 @@ public class ScTransitionInfoServiceImpl implements IScTransitionInfoService
Date now = DateUtils.getNowDate();
for (ScTransitionInfo info : transitionInfoList) {
- info.setCreateBy(username); // 设置创建人
- info.setCreateTime(now); // 设置创建时间
- info.setStatus(0); // 设置默认状态
+ info.setCreateBy(username);
+ info.setCreateTime(now);
+ info.setStatus(0);
}
return scTransitionInfoMapper.insertScTransitionInfoBatch(transitionInfoList);
}
@@ -127,12 +127,10 @@ public class ScTransitionInfoServiceImpl implements IScTransitionInfoService
@Override
@Transactional(rollbackFor = Exception.class)
public int approveScTransitionInfo(ScTransitionInfo scTransitionInfo) {
- // 1. 查询当前记录的原始状态
ScTransitionInfo existing = scTransitionInfoMapper.selectScTransitionInfoById(scTransitionInfo.getId());
if (existing == null) {
throw new RuntimeException("转场记录不存在");
}
- // 2. 校验状态:仅允许审批“待审批”的记录
if (existing.getStatus() != 0) {
throw new RuntimeException("该记录已完成审批,无法重复操作");
}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/other/domain/ScCastrate.java b/zhyc-module/src/main/java/com/zhyc/module/produce/other/domain/ScCastrate.java
index aae148e..3426e4b 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/produce/other/domain/ScCastrate.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/produce/other/domain/ScCastrate.java
@@ -1,5 +1,6 @@
package com.zhyc.module.produce.other.domain;
+import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@@ -64,7 +65,12 @@ public class ScCastrate extends BaseEntity {
@Excel(name = "技术员")
private String technician;
-
+ /**
+ * 事件日期
+ */
+ @Excel(name = "事件日期", width = 15, dateFormat = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private String eventDate;
}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/other/domain/ScFixHoof.java b/zhyc-module/src/main/java/com/zhyc/module/produce/other/domain/ScFixHoof.java
index 88833e5..bd2a20b 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/produce/other/domain/ScFixHoof.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/produce/other/domain/ScFixHoof.java
@@ -1,5 +1,6 @@
package com.zhyc.module.produce.other.domain;
+import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@@ -55,4 +56,10 @@ public class ScFixHoof extends BaseEntity
@Excel(name = "技术员")
private String technician;
+ /**
+ * 事件日期(新增字段)
+ */
+ @Excel(name = "事件日期", width = 15, dateFormat = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private String eventDate;
}
diff --git a/zhyc-module/src/main/resources/mapper/produce/bodyManage/ScBodyMeasureMapper.xml b/zhyc-module/src/main/resources/mapper/produce/bodyManage/ScBodyMeasureMapper.xml
index 7e75d9c..8b26f99 100644
--- a/zhyc-module/src/main/resources/mapper/produce/bodyManage/ScBodyMeasureMapper.xml
+++ b/zhyc-module/src/main/resources/mapper/produce/bodyManage/ScBodyMeasureMapper.xml
@@ -102,7 +102,30 @@
and sm.create_time between #{params.beginCreateTime} and #{params.endCreateTime}
- ORDER BY sm.create_time DESC
+
+ ORDER BY
+
+ bs.weaning_weight
+ sm.body_length
+ bs.birth_weight
+ bs.current_weight
+ bs.lactation_day
+ bs.gestation_day
+ post_mating_day
+ bs.parity
+ sm.height
+ sm.bust
+ sm.pipe_length
+ sm.chest_depth
+ sm.hip_height
+ sm.rump_width
+ sm.rump_heignt
+ sm.hip_width
+ sm.hip_cross_height
+ ${orderBy}
+
+ ${sortDirection}
+
@@ -65,6 +73,8 @@
old_comment,
create_by,
create_time,
+ event_date,
+ technician,
#{sheepId},
@@ -72,6 +82,8 @@
#{oldComment},
#{createBy},
#{createTime},
+ #{eventDate},
+ #{technician},
diff --git a/zhyc-module/src/main/resources/mapper/produce/manage_sheep/ScChangeEarMapper.xml b/zhyc-module/src/main/resources/mapper/produce/manage_sheep/ScChangeEarMapper.xml
index 90c3bff..c85b4ab 100644
--- a/zhyc-module/src/main/resources/mapper/produce/manage_sheep/ScChangeEarMapper.xml
+++ b/zhyc-module/src/main/resources/mapper/produce/manage_sheep/ScChangeEarMapper.xml
@@ -16,24 +16,28 @@
+
+
- select sce.id as sce_id,
+ select sce.id as sce_id,
sce.sheep_id,
- bs.manage_tags as manage_tags,
+ bs.manage_tags as manage_tags,
sf.sheepfold_name as sheepfold_name,
case
when sce.ear_type = 0 then '改电子耳号'
when sce.ear_type = 1 then '改管理耳号'
else ''
- end as event_type,
+ end as event_type,
sce.ear_type,
sce.newTag,
- sce.oldTag as oldTag,
+ sce.oldTag as oldTag,
sce.comment,
sce.create_by,
- sce.create_time
+ sce.create_time,
+ sce.event_date,
+ sce.technician
from sc_change_ear sce
LEFT JOIN bas_sheep bs ON sce.sheep_id = bs.id
LEFT JOIN da_sheepfold sf ON bs.sheepfold_id = sf.id
@@ -44,7 +48,11 @@
and sce.sheep_id = #{sheepId}
- and bs.manage_tags LIKE CONCAT('%', #{manageTags}, '%')
+ and (
+ bs.manage_tags LIKE CONCAT('%', #{manageTags}, '%')
+ OR
+ bs.electronic_tags LIKE CONCAT('%', #{manageTags}, '%')
+ )
and bs.sheepfold_id = #{sheepfoldId}
@@ -60,6 +68,10 @@
and sce.create_time between #{params.beginCreateTime} and #{params.endCreateTime}
+
+ and sce.event_date between #{params.beginEventDate} and #{params.endEventDate}
+
ORDER BY sce.create_time DESC
@@ -79,6 +91,8 @@
comment,
create_by,
create_time,
+ event_date,
+ technician,
#{sheepId},
@@ -88,6 +102,8 @@
#{comment},
#{createBy},
#{createTime},
+ #{eventDate},
+ #{technician},
diff --git a/zhyc-module/src/main/resources/mapper/produce/manage_sheep/ScChangeVarietyMapper.xml b/zhyc-module/src/main/resources/mapper/produce/manage_sheep/ScChangeVarietyMapper.xml
index b799809..4370ad8 100644
--- a/zhyc-module/src/main/resources/mapper/produce/manage_sheep/ScChangeVarietyMapper.xml
+++ b/zhyc-module/src/main/resources/mapper/produce/manage_sheep/ScChangeVarietyMapper.xml
@@ -15,6 +15,8 @@
+
+
@@ -27,7 +29,9 @@
scv.variety_new,
scv.comment,
scv.create_by,
- scv.create_time
+ scv.create_time,
+ scv.technician,
+ scv.event_date
from sc_change_variety scv
left join bas_sheep bs on scv.sheep_id = bs.id
left join da_sheepfold sf on bs.sheepfold_id = sf.id
@@ -51,6 +55,10 @@
and params.endCreateTime != null and params.endCreateTime != ''">
and scv.create_time between #{params.beginCreateTime} and #{params.endCreateTime}
+
+ and scv.event_date between #{params.beginEventDate} and #{params.endEventDate}
+
ORDER BY scv.create_time DESC
@@ -69,6 +77,8 @@
comment,
create_by,
create_time,
+ technician,
+ event_date,
#{sheepId},
@@ -77,6 +87,8 @@
#{comment},
#{createBy},
#{createTime},
+ #{technician},
+ #{eventDate},
diff --git a/zhyc-module/src/main/resources/mapper/produce/manage_sheep/ScTransGroupMapper.xml b/zhyc-module/src/main/resources/mapper/produce/manage_sheep/ScTransGroupMapper.xml
index 36bef56..ada406b 100644
--- a/zhyc-module/src/main/resources/mapper/produce/manage_sheep/ScTransGroupMapper.xml
+++ b/zhyc-module/src/main/resources/mapper/produce/manage_sheep/ScTransGroupMapper.xml
@@ -58,7 +58,7 @@
and s.manage_tags like concat('%', #{manageTags}, '%')
- and tg.event_type = #{eventType}
+
and tg.trans_date between #{params.beginTransDate} and #{params.endTransDate}
@@ -67,9 +67,9 @@
and status = #{status}
and tg.variety_id = #{varietyId}
and st.id = #{sheepTypeId}
-
- and tg.create_time between #{params.beginCreateTime} and #{params.endCreateTime}
-
+
+
+
ORDER BY tg.create_time DESC
diff --git a/zhyc-module/src/main/resources/mapper/produce/manage_sheep/ScTransitionInfoMapper.xml b/zhyc-module/src/main/resources/mapper/produce/manage_sheep/ScTransitionInfoMapper.xml
index 66d18ca..89b81f3 100644
--- a/zhyc-module/src/main/resources/mapper/produce/manage_sheep/ScTransitionInfoMapper.xml
+++ b/zhyc-module/src/main/resources/mapper/produce/manage_sheep/ScTransitionInfoMapper.xml
@@ -51,9 +51,9 @@
and bs.manage_tags LIKE CONCAT('%', #{manageTags}, '%')
-
- and t.event_type = #{eventType}
-
+
+
+
and t.trans_type = #{transType}
@@ -63,9 +63,9 @@
and trans_to = #{transTo}
and trans_from = #{transFrom}
and status = #{status}
-
- and t.create_time between #{params.beginCreateTime} and #{params.endCreateTime}
-
+
+
+
ORDER BY t.create_time DESC
diff --git a/zhyc-module/src/main/resources/mapper/produce/other/ScCastrateMapper.xml b/zhyc-module/src/main/resources/mapper/produce/other/ScCastrateMapper.xml
index 5bec3f1..a3b2eac 100644
--- a/zhyc-module/src/main/resources/mapper/produce/other/ScCastrateMapper.xml
+++ b/zhyc-module/src/main/resources/mapper/produce/other/ScCastrateMapper.xml
@@ -17,6 +17,7 @@
+
@@ -31,7 +32,8 @@
sc.comment,
sc.technician,
sc.create_by,
- sc.create_time
+ sc.create_time,
+ sc.event_date as eventDate
from sc_castrate sc
left join bas_sheep bs on sc.sheep_id = bs.id
left join da_sheepfold sf on bs.sheepfold_id = sf.id
@@ -51,6 +53,9 @@
and sc.create_time between #{params.beginCreateTime} and #{params.endCreateTime}
+
+ and sc.event_date between #{params.beginEventDate} and #{params.endEventDate}
+
ORDER BY sc.create_time DESC
@@ -70,6 +75,7 @@
technician,
create_by,
create_time,
+ event_date,
#{sheepId},
@@ -79,6 +85,7 @@
#{technician},
#{createBy},
#{createTime},
+ #{eventDate},
diff --git a/zhyc-module/src/main/resources/mapper/produce/other/ScFixHoofMapper.xml b/zhyc-module/src/main/resources/mapper/produce/other/ScFixHoofMapper.xml
index 92a03c0..77ca28d 100644
--- a/zhyc-module/src/main/resources/mapper/produce/other/ScFixHoofMapper.xml
+++ b/zhyc-module/src/main/resources/mapper/produce/other/ScFixHoofMapper.xml
@@ -15,6 +15,7 @@
+
@@ -28,7 +29,8 @@
fh.comment,
fh.technician,
fh.create_by,
- fh.create_time
+ fh.create_time,
+ fh.event_date as eventDate
from sc_fix_hoof fh
left join bas_sheep bs on fh.sheep_id = bs.id
left join da_sheepfold sf on bs.sheepfold_id = sf.id
@@ -47,6 +49,10 @@
and bs.manage_tags like concat('%', #{manageTags}, '%')
+
+ and fh.event_date between #{params.beginEventDate} and #{params.endEventDate}
+
ORDER BY fh.create_time DESC
@@ -64,6 +70,7 @@
variety_id,
comment,
technician,
+ event_date,
create_by,
create_time)
VALUES
@@ -72,6 +79,7 @@
#{varietyId},
#{comment},
#{technician},
+ #{eventDate},
#{createBy},
#{createTime})
From 5f5d5ef2b000349b26abdf842783c6357461c259 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=BC=82=E6=B3=8A?= <1913856125@qq.com>
Date: Tue, 28 Oct 2025 16:56:45 +0800
Subject: [PATCH 2/3] =?UTF-8?q?=E8=8D=AF=E5=93=81=E4=BD=BF=E7=94=A8?=
=?UTF-8?q?=E8=AE=B0=E5=BD=95=E4=BD=BF=E7=94=A8=E6=97=A5=E6=9C=9F=E5=AD=97?=
=?UTF-8?q?=E6=AE=B5=E5=8F=98=E6=9B=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../controller/SwMedicineUsageController.java | 8 +++++++-
.../biosafety/domain/SwMedicineUsage.java | 11 +++++-----
.../domain/SwMedicineUsageDetails.java | 18 ++++++++---------
.../mapper/SwMedicineUsageMapper.java | 2 ++
.../service/ISwMedicineUsageService.java | 3 +++
.../impl/SwMedicineUsageServiceImpl.java | 5 +++++
.../java/com/zhyc/module/enums/UseType.java | 4 ++++
.../biosafety/SwMedicineUsageMapper.xml | 20 +++++++++++++++++++
8 files changed, 56 insertions(+), 15 deletions(-)
create mode 100644 zhyc-module/src/main/java/com/zhyc/module/enums/UseType.java
diff --git a/zhyc-module/src/main/java/com/zhyc/module/biosafety/controller/SwMedicineUsageController.java b/zhyc-module/src/main/java/com/zhyc/module/biosafety/controller/SwMedicineUsageController.java
index c3661aa..7e09fd5 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/biosafety/controller/SwMedicineUsageController.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/biosafety/controller/SwMedicineUsageController.java
@@ -1,5 +1,6 @@
package com.zhyc.module.biosafety.controller;
+import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
@@ -56,8 +57,13 @@ public class SwMedicineUsageController extends BaseController
public void export(HttpServletResponse response, SwMedicineUsage swMedicineUsage)
{
List list = swMedicineUsageService.selectSwMedicineUsageList(swMedicineUsage);
+ List resultList = new ArrayList<>();
+ for (SwMedicineUsage medicineUsage : list) {
+ medicineUsage.setSwMedicineUsageDetailsList(swMedicineUsageService.selectSwMedicineUsageDetailsById(medicineUsage.getId()));
+ resultList.add(medicineUsage);
+ }
ExcelUtil util = new ExcelUtil(SwMedicineUsage.class);
- util.exportExcel(response, list, "药品使用记录数据");
+ util.exportExcel(response, resultList, "药品使用记录数据");
}
/**
diff --git a/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/SwMedicineUsage.java b/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/SwMedicineUsage.java
index c878cc9..dd837e9 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/SwMedicineUsage.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/SwMedicineUsage.java
@@ -28,27 +28,28 @@ public class SwMedicineUsage extends BaseEntity
private Integer id;
/** 使用名称 */
- @Excel(name = "使用名称")
+ @Excel(name = "使用名称",width = 20, needMerge = true)
private String name;
/** 羊舍名称 */
- @Excel(name = "使用名称")
+ @Excel(name = "使用名称" ,width = 20, needMerge = true)
private String sheepfoldName;
private Integer sheepfoldId;
/** 耳号 */
- @Excel(name = "耳号")
+ @Excel(name = "耳号",width = 20, needMerge = true)
private String sheepNo;
private Integer sheepId;
/** 使用时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
- @Excel(name = "使用日期", width = 30, dateFormat = "yyyy-MM-dd")
+ @Excel(name = "使用日期", width = 30, dateFormat = "yyyy-MM-dd", needMerge = true)
private Date datetime;
/** 使用类型 */
- @Excel(name = "使用类型")
+ @Excel(name = "使用类型",width = 20, needMerge = true)
private String useType;
/** 药品使用记录详情信息 */
+ @Excel
private List swMedicineUsageDetailsList;
diff --git a/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/SwMedicineUsageDetails.java b/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/SwMedicineUsageDetails.java
index 1b67654..94ba417 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/SwMedicineUsageDetails.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/SwMedicineUsageDetails.java
@@ -26,40 +26,40 @@ public class SwMedicineUsageDetails extends BaseEntity
private Long id;
/** 药品使用记录id */
- @Excel(name = "药品使用记录id")
+// @Excel(name = "药品使用记录id")
private Integer mediUsage;
/** 药品id */
- @Excel(name = "药品id")
+// @Excel(name = "药品id")
private Long mediId;
/** 药品名称*/
- @Excel(name = "药品名称")
+ @Excel(name = "药品名称",cellType = Excel.ColumnType.STRING)
private String mediName;
/** 用量 */
- @Excel(name = "用量")
+ @Excel(name = "用量",cellType = Excel.ColumnType.STRING)
private String dosage;
/** 单位 */
- @Excel(name = "单位")
+ @Excel(name = "单位",cellType = Excel.ColumnType.STRING)
private String unit;
/** 使用方法 */
- @Excel(name = "使用方法")
+ @Excel(name = "使用方法",cellType = Excel.ColumnType.STRING)
private String usageId;
/** 使用时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @Excel(name = "使用时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+// @Excel(name = "使用时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date usetime;
/** 生产厂家 */
- @Excel(name = "生产厂家")
+ @Excel(name = "生产厂家",cellType = Excel.ColumnType.STRING)
private String manufacturer;
/** 生产批号 */
- @Excel(name = "生产批号")
+ @Excel(name = "生产批号",cellType = Excel.ColumnType.STRING)
private String batchNumber;
}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/biosafety/mapper/SwMedicineUsageMapper.java b/zhyc-module/src/main/java/com/zhyc/module/biosafety/mapper/SwMedicineUsageMapper.java
index 3d60eb0..32f3ef0 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/biosafety/mapper/SwMedicineUsageMapper.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/biosafety/mapper/SwMedicineUsageMapper.java
@@ -87,4 +87,6 @@ public interface SwMedicineUsageMapper
* @return 结果
*/
public int deleteSwMedicineUsageDetailsByMediUsage(Integer id);
+
+ List selectSwMedicineUsageDetailsById(Integer id);
}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/biosafety/service/ISwMedicineUsageService.java b/zhyc-module/src/main/java/com/zhyc/module/biosafety/service/ISwMedicineUsageService.java
index 70e3dd8..af3d42f 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/biosafety/service/ISwMedicineUsageService.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/biosafety/service/ISwMedicineUsageService.java
@@ -2,6 +2,7 @@ package com.zhyc.module.biosafety.service;
import java.util.List;
import com.zhyc.module.biosafety.domain.SwMedicineUsage;
+import com.zhyc.module.biosafety.domain.SwMedicineUsageDetails;
/**
* 药品使用记录Service接口
@@ -58,4 +59,6 @@ public interface ISwMedicineUsageService
* @return 结果
*/
public int deleteSwMedicineUsageById(Integer id);
+
+ List selectSwMedicineUsageDetailsById(Integer id);
}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/biosafety/service/impl/SwMedicineUsageServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/biosafety/service/impl/SwMedicineUsageServiceImpl.java
index 31d13a6..3f63d29 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/biosafety/service/impl/SwMedicineUsageServiceImpl.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/biosafety/service/impl/SwMedicineUsageServiceImpl.java
@@ -113,6 +113,11 @@ public class SwMedicineUsageServiceImpl implements ISwMedicineUsageService
return swMedicineUsageMapper.deleteSwMedicineUsageById(id);
}
+ @Override
+ public List selectSwMedicineUsageDetailsById(Integer id) {
+ return swMedicineUsageMapper.selectSwMedicineUsageDetailsById(id);
+ }
+
/**
* 新增药品使用记录详情信息
*
diff --git a/zhyc-module/src/main/java/com/zhyc/module/enums/UseType.java b/zhyc-module/src/main/java/com/zhyc/module/enums/UseType.java
new file mode 100644
index 0000000..bfce1ec
--- /dev/null
+++ b/zhyc-module/src/main/java/com/zhyc/module/enums/UseType.java
@@ -0,0 +1,4 @@
+package com.zhyc.module.enums;
+
+public enum UseType {
+}
diff --git a/zhyc-module/src/main/resources/mapper/biosafety/SwMedicineUsageMapper.xml b/zhyc-module/src/main/resources/mapper/biosafety/SwMedicineUsageMapper.xml
index 08d090e..dac1a70 100644
--- a/zhyc-module/src/main/resources/mapper/biosafety/SwMedicineUsageMapper.xml
+++ b/zhyc-module/src/main/resources/mapper/biosafety/SwMedicineUsageMapper.xml
@@ -111,6 +111,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where medi_usage = #{medi_usage}
+
insert into sw_medicine_usage
From 03fef7af495a0eafc85bad5bbe6434a7c5a52a1f Mon Sep 17 00:00:00 2001
From: piaobo <1913856125@qq.com>
Date: Tue, 28 Oct 2025 21:16:11 +0800
Subject: [PATCH 3/3] =?UTF-8?q?=E6=B2=BB=E7=96=97=E8=AE=B0=E5=BD=95?=
=?UTF-8?q?=EF=BC=8C=E4=B8=8D=E8=AE=B8=E9=87=8D=E5=A4=8D=E7=9A=84=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../main/java/com/zhyc/SheepApplication.java | 3 +-
.../module/Exception/BusinessException.java | 8 ++
.../domain/SwMedicineUsageDetails.java | 2 +-
.../module/biosafety/domain/Treatment.java | 12 +-
.../service/impl/TreatmentServiceImpl.java | 132 ++++++++++++------
.../biosafety/SwMedicineUsageMapper.xml | 26 ++--
6 files changed, 126 insertions(+), 57 deletions(-)
create mode 100644 zhyc-module/src/main/java/com/zhyc/module/Exception/BusinessException.java
diff --git a/zhyc-admin/src/main/java/com/zhyc/SheepApplication.java b/zhyc-admin/src/main/java/com/zhyc/SheepApplication.java
index ec34567..0635451 100644
--- a/zhyc-admin/src/main/java/com/zhyc/SheepApplication.java
+++ b/zhyc-admin/src/main/java/com/zhyc/SheepApplication.java
@@ -10,8 +10,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
* @author ruoyi
*/
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
-public class SheepApplication
-{
+public class SheepApplication {
public static void main(String[] args)
{
// System.setProperty("spring.devtools.restart.enabled", "false");
diff --git a/zhyc-module/src/main/java/com/zhyc/module/Exception/BusinessException.java b/zhyc-module/src/main/java/com/zhyc/module/Exception/BusinessException.java
new file mode 100644
index 0000000..68deb51
--- /dev/null
+++ b/zhyc-module/src/main/java/com/zhyc/module/Exception/BusinessException.java
@@ -0,0 +1,8 @@
+package com.zhyc.module.Exception;
+
+// 业务异常
+public class BusinessException extends RuntimeException {
+ public BusinessException(String message) {
+ super(message);
+ }
+}
\ No newline at end of file
diff --git a/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/SwMedicineUsageDetails.java b/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/SwMedicineUsageDetails.java
index 94ba417..1ccd0b3 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/SwMedicineUsageDetails.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/SwMedicineUsageDetails.java
@@ -50,7 +50,7 @@ public class SwMedicineUsageDetails extends BaseEntity
private String usageId;
/** 使用时间 */
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd")
// @Excel(name = "使用时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date usetime;
diff --git a/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/Treatment.java b/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/Treatment.java
index 657abba..2fc778f 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/Treatment.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/Treatment.java
@@ -107,8 +107,16 @@ public class Treatment extends BaseEntity
@Excel(name = "备注")
private String comment;
public void setGender(String gender) {
- this.gender = gender;
- this.genderName = Gender.getDescByCode(Integer.valueOf(gender));
+ this.gender = gender; // 保留原始字符串
+ this.genderName = null; // 先清空
+ if (gender != null && !gender.trim().isEmpty()) {
+ try {
+ this.genderName = Gender.getDescByCode(Integer.valueOf(gender.trim()));
+ } catch (NumberFormatException ex) {
+ // 可选:记录日志、或抛业务异常
+ this.genderName = "未知";
+ }
+ }
}
// 排序查询
diff --git a/zhyc-module/src/main/java/com/zhyc/module/biosafety/service/impl/TreatmentServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/biosafety/service/impl/TreatmentServiceImpl.java
index abb7d57..da29233 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/biosafety/service/impl/TreatmentServiceImpl.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/biosafety/service/impl/TreatmentServiceImpl.java
@@ -5,6 +5,7 @@ import java.util.List;
import com.zhyc.common.utils.DateUtils;
import com.zhyc.common.utils.SecurityUtils;
import com.zhyc.common.utils.bean.BeanUtils;
+import com.zhyc.module.Exception.BusinessException;
import com.zhyc.module.base.domain.SheepFile;
import com.zhyc.module.base.mapper.SheepFileMapper;
import com.zhyc.module.biosafety.domain.Diagnosis;
@@ -71,16 +72,16 @@ public class TreatmentServiceImpl implements ITreatmentService
/**
* 新增治疗记录
- *
+ *
* @param treatment 治疗记录
* @return 结果
*/
@Override
@Transactional
- public int insertTreatment(Treatment treatment)
- {
+ public int insertTreatment(Treatment treatment) {
String username = SecurityUtils.getLoginUser().getUser().getNickName();
-// 使用记录的文件
+
+ // 药品使用记录公共字段
SwMedicineUsage medicineUsage = new SwMedicineUsage();
medicineUsage.setSwMedicineUsageDetailsList(treatment.getUsageDetails());
medicineUsage.setName("羊只治疗");
@@ -88,52 +89,97 @@ public class TreatmentServiceImpl implements ITreatmentService
medicineUsage.setDatetime(treatment.getDatetime());
medicineUsage.setCreateBy(username);
medicineUsage.setCreateTime(DateUtils.getNowDate());
-// 新增单挑数据
- if (treatment.getSheepId()!=null){
- medicineUsage.setSheepId(Math.toIntExact(treatment.getSheepId()));
-// 药品使用记录
- Integer id=medicineUsageService.insertSwMedicineUsage(medicineUsage);
-// 药品使用记录id
- treatment.setUsageId(id);
- treatment.setCreateTime(DateUtils.getNowDate());
- return treatmentMapper.insertTreatment(treatment);
-// 批量新增
- }else {
+ /* ---------------- 单只插入 ---------------- */
+ if (treatment.getSheepId() != null) {
+ // 1. 重复校验
+ Treatment query = new Treatment();
+ query.setDiseaseId(treatment.getDiseaseId());
+ query.setDiseasePid(treatment.getDiseasePid());
+ query.setSheepId(treatment.getSheepId());
+ query.setStatus("0");
- List treatments = new ArrayList<>();
- treatment.setCreateTime(DateUtils.getNowDate());
- for (String sheepId : treatment.getSheepIds()) {
- SheepFile sheepFile = sheepFileMapper.selectSheepFileById(Long.valueOf(sheepId));
- Treatment treat = new Treatment();
- BeanUtils.copyProperties(treatment, treat);
- treat.setSheepId(Long.valueOf(sheepId));
- treat.setVariety(sheepFile.getVariety());
- treat.setSheepType(sheepFile.getName());
- treat.setMonthAge(sheepFile.getMonthAge());
- treat.setGender(String.valueOf(sheepFile.getGender()));
- treat.setBreed(sheepFile.getBreed());
- treat.setParity(sheepFile.getParity());
- treat.setLactDay(sheepFile.getLactationDay());
- treat.setGestDay(sheepFile.getGestationDay());
- medicineUsage.setSheepId(Integer.valueOf(sheepId));
-// 获取药品使用记录的id
- Integer usageId = medicineUsageService.insertSwMedicineUsage(medicineUsage);
- System.out.println(medicineUsage);
- System.out.println(usageId);
- treat.setUsageId(usageId);
- treatments.add(treat);
+
+ // 2. 羊只档案信息
+ SheepFile sheepFile = sheepFileMapper.selectSheepFileById(treatment.getSheepId());
+
+ if (!treatmentMapper.selectTreatmentList(query).isEmpty()) {
+ throw new BusinessException("该羊只已存在相同疾病的治疗记录,不能重复添加");
}
-// 药品使用记录
- medicineUsage.setSwMedicineUsageDetailsList(treatment.getUsageDetails());
+ // 3. 保存药品使用记录
+ medicineUsage.setSheepId(Math.toIntExact(treatment.getSheepId()));
+ Integer usageId = medicineUsageService.insertSwMedicineUsage(medicineUsage);
+ // 4. 组装治疗记录
+ treatment.setUsageId(usageId);
+ treatment.setCreateTime(DateUtils.getNowDate());
+ treatment.setVariety(sheepFile.getVariety());
+ treatment.setSheepType(sheepFile.getName());
+ treatment.setMonthAge(sheepFile.getMonthAge());
+ treatment.setGender(String.valueOf(sheepFile.getGender()));
+ treatment.setBreed(sheepFile.getBreed());
+ treatment.setParity(sheepFile.getParity());
+ treatment.setLactDay(sheepFile.getLactationDay());
+ treatment.setGestDay(sheepFile.getGestationDay());
- return treatmentMapper.insertTreatmentList(treatments);
+ // 5. 插入
+ return treatmentMapper.insertTreatment(treatment);
}
- }
+ /* ---------------- 批量插入 ---------------- */
+ // 1. 收集所有重复耳号
+ List duplicateSheepIds = new ArrayList<>();
+ for (String sheepId : treatment.getSheepIds()) {
+ Treatment query = new Treatment();
+ query.setDiseaseId(treatment.getDiseaseId());
+ query.setDiseasePid(treatment.getDiseasePid());
+ query.setSheepId(Long.valueOf(sheepId));
+ query.setStatus("0");
+ if (!treatmentMapper.selectTreatmentList(query).isEmpty()) {
+ String bsManageTags = sheepFileMapper.selectSheepFileById(Long.valueOf(sheepId)).getBsManageTags();
+ duplicateSheepIds.add(bsManageTags);
+ }
+ }
+
+ // 2. 存在重复则一次性提示
+ if (!duplicateSheepIds.isEmpty()) {
+
+ throw new BusinessException("以下耳号已存在相同疾病记录,无法添加:" + String.join("、", duplicateSheepIds));
+ }
+
+ // 3. 全部合法,开始批量组装
+ List treatments = new ArrayList<>();
+ treatment.setCreateTime(DateUtils.getNowDate());
+
+ for (String sheepId : treatment.getSheepIds()) {
+ SheepFile sheepFile = sheepFileMapper.selectSheepFileById(Long.valueOf(sheepId));
+
+ Treatment treat = new Treatment();
+ BeanUtils.copyProperties(treatment, treat);
+
+ treat.setSheepId(Long.valueOf(sheepId));
+ treat.setVariety(sheepFile.getVariety());
+ treat.setSheepType(sheepFile.getName());
+ treat.setMonthAge(sheepFile.getMonthAge());
+ treat.setGender(String.valueOf(sheepFile.getGender()));
+ treat.setBreed(sheepFile.getBreed());
+ treat.setParity(sheepFile.getParity());
+ treat.setLactDay(sheepFile.getLactationDay());
+ treat.setGestDay(sheepFile.getGestationDay());
+
+ // 药品使用记录
+ medicineUsage.setSheepId(Integer.valueOf(sheepId));
+ Integer usageId = medicineUsageService.insertSwMedicineUsage(medicineUsage);
+ treat.setUsageId(usageId);
+
+ treatments.add(treat);
+ }
+
+ // 4. 批量插入
+ return treatmentMapper.insertTreatmentList(treatments);
+ }
/**
* 修改治疗记录
*
@@ -153,7 +199,9 @@ public class TreatmentServiceImpl implements ITreatmentService
swMedicineUsage.setId(treatment.getUsageId());
swMedicineUsage.setUpdateBy(username);
medicineUsageMapper.updateSwMedicineUsage(swMedicineUsage);
- medicineUsageMapper.batchSwMedicineUsageDetails(treatment.getUsageDetails());
+ if (!treatment.getUsageDetails().isEmpty() || treatment.getUsageDetails().size() != 0){
+ medicineUsageMapper.batchSwMedicineUsageDetails(treatment.getUsageDetails());
+ }
treatment.setUpdateBy(username);
treatment.setUpdateTime(DateUtils.getNowDate());
return treatmentMapper.updateTreatment(treatment);
diff --git a/zhyc-module/src/main/resources/mapper/biosafety/SwMedicineUsageMapper.xml b/zhyc-module/src/main/resources/mapper/biosafety/SwMedicineUsageMapper.xml
index dac1a70..4089456 100644
--- a/zhyc-module/src/main/resources/mapper/biosafety/SwMedicineUsageMapper.xml
+++ b/zhyc-module/src/main/resources/mapper/biosafety/SwMedicineUsageMapper.xml
@@ -3,7 +3,7 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-
+
@@ -96,7 +96,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
ORDER BY smu.datetime DESC
-
+
\ No newline at end of file
+
+