From 12da9cf3a0c6327d78e4b250d2c032df3c3d4127 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BC=82=E6=B3=8A?= <1913856125@qq.com> Date: Sun, 24 Aug 2025 18:23:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B92.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/zhyc/common/utils/DateUtils.java | 1 + .../module/base/mapper/BasSheepMapper.java | 2 + .../controller/DiagnosisController.java | 1 - .../domain/SwMedicineUsageDetails.java | 8 ++ .../module/biosafety/domain/Treatment.java | 4 + .../biosafety/mapper/TreatmentMapper.java | 3 + .../service/impl/DiagnosisServiceImpl.java | 84 +++++++++++++++++-- .../service/impl/TreatmentServiceImpl.java | 25 +++++- .../service/impl/ScSheepDeathServiceImpl.java | 18 ++++ .../biosafety/SwMedicineUsageMapper.xml | 7 +- .../mapper/biosafety/TreatmentMapper.xml | 14 +++- 11 files changed, 153 insertions(+), 14 deletions(-) diff --git a/zhyc-common/src/main/java/com/zhyc/common/utils/DateUtils.java b/zhyc-common/src/main/java/com/zhyc/common/utils/DateUtils.java index c95401e..0570896 100644 --- a/zhyc-common/src/main/java/com/zhyc/common/utils/DateUtils.java +++ b/zhyc-common/src/main/java/com/zhyc/common/utils/DateUtils.java @@ -8,6 +8,7 @@ import java.time.LocalDateTime; import java.time.LocalTime; import java.time.ZoneId; import java.time.ZonedDateTime; +import java.time.temporal.ChronoUnit; import java.util.Date; import org.apache.commons.lang3.time.DateFormatUtils; diff --git a/zhyc-module/src/main/java/com/zhyc/module/base/mapper/BasSheepMapper.java b/zhyc-module/src/main/java/com/zhyc/module/base/mapper/BasSheepMapper.java index 4baaf89..a953f9a 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/base/mapper/BasSheepMapper.java +++ b/zhyc-module/src/main/java/com/zhyc/module/base/mapper/BasSheepMapper.java @@ -3,6 +3,7 @@ package com.zhyc.module.base.mapper; import java.util.List; import com.zhyc.module.base.domain.BasSheep; +import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; /** @@ -11,6 +12,7 @@ import org.apache.ibatis.annotations.Param; * @author ruoyi * @date 2025-07-15 */ +@Mapper public interface BasSheepMapper { /** diff --git a/zhyc-module/src/main/java/com/zhyc/module/biosafety/controller/DiagnosisController.java b/zhyc-module/src/main/java/com/zhyc/module/biosafety/controller/DiagnosisController.java index 20224ad..3b7aff6 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/biosafety/controller/DiagnosisController.java +++ b/zhyc-module/src/main/java/com/zhyc/module/biosafety/controller/DiagnosisController.java @@ -88,7 +88,6 @@ public class DiagnosisController extends BaseController @PostMapping("/adds") public AjaxResult adds(@RequestBody Diagnosis diagnosis) { - System.out.println(diagnosis); return toAjax(diagnosisService.insertDiagnosisList(diagnosis)); } 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 34e0423..1b67654 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 @@ -1,11 +1,14 @@ package com.zhyc.module.biosafety.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; + /** * 药品使用记录详情对象 sw_medicine_usage_details * @@ -46,6 +49,11 @@ public class SwMedicineUsageDetails extends BaseEntity @Excel(name = "使用方法") private String usageId; + /** 使用时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "使用时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date usetime; + /** 生产厂家 */ @Excel(name = "生产厂家") private String manufacturer; 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 ae2d1a0..653dc53 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 @@ -89,6 +89,10 @@ public class Treatment extends BaseEntity /** 兽医 */ @Excel(name = "兽医") private String veterinary; + /** 治疗状态 */ + @Excel(name = "治疗状态") + private String status; + /** 药品使用记录id */ @Excel(name = "药品使用记录id") diff --git a/zhyc-module/src/main/java/com/zhyc/module/biosafety/mapper/TreatmentMapper.java b/zhyc-module/src/main/java/com/zhyc/module/biosafety/mapper/TreatmentMapper.java index 643d9a0..1d48767 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/biosafety/mapper/TreatmentMapper.java +++ b/zhyc-module/src/main/java/com/zhyc/module/biosafety/mapper/TreatmentMapper.java @@ -63,4 +63,7 @@ public interface TreatmentMapper public int deleteTreatmentByIds(Long[] ids); int insertTreatmentList(List treatments); + + + List selectTreatmentStatus(Long sheepId); } diff --git a/zhyc-module/src/main/java/com/zhyc/module/biosafety/service/impl/DiagnosisServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/biosafety/service/impl/DiagnosisServiceImpl.java index ffa1e60..8447684 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/biosafety/service/impl/DiagnosisServiceImpl.java +++ b/zhyc-module/src/main/java/com/zhyc/module/biosafety/service/impl/DiagnosisServiceImpl.java @@ -1,5 +1,6 @@ package com.zhyc.module.biosafety.service.impl; +import java.util.Date; import java.util.List; import java.util.Objects; @@ -9,13 +10,18 @@ import com.zhyc.module.base.domain.BasSheep; import com.zhyc.module.base.domain.SheepFile; import com.zhyc.module.base.mapper.BasSheepMapper; import com.zhyc.module.base.mapper.SheepFileMapper; +import com.zhyc.module.biosafety.domain.Treatment; import com.zhyc.module.biosafety.mapper.DiagnosisMapper; +import com.zhyc.module.biosafety.mapper.TreatmentMapper; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.zhyc.module.biosafety.domain.Diagnosis; import com.zhyc.module.biosafety.service.IDiagnosisService; import org.springframework.transaction.annotation.Transactional; + + /** * 诊疗结果Service业务层处理 * @@ -31,6 +37,8 @@ public class DiagnosisServiceImpl implements IDiagnosisService private SheepFileMapper sheepFileMapper; @Autowired private BasSheepMapper sheepMapper; + @Autowired + private TreatmentMapper treatmentMapper; /** * 查询诊疗结果 @@ -75,11 +83,24 @@ public class DiagnosisServiceImpl implements IDiagnosisService String username = SecurityUtils.getLoginUser().getUser().getNickName(); diagnosis.setCreateBy(username); diagnosis.setCreateTime(DateUtils.getNowDate()); - if (!Objects.equals(sheepFile.getSheepfoldId(), diagnosis.getSheepfoldId())){ - BasSheep basSheep = new BasSheep(); - basSheep.setId(diagnosis.getSheepId()); - basSheep.setSheepfoldId(diagnosis.getSheepfoldId()); - sheepMapper.updateBasSheep(basSheep); + + if (diagnosis.getSheepfoldId() != null) + if (!Objects.equals(sheepFile.getSheepfoldId(), diagnosis.getSheepfoldId())) { + BasSheep basSheep = new BasSheep(); + basSheep.setId(diagnosis.getSheepId()); + basSheep.setSheepfoldId(diagnosis.getSheepfoldId()); + sheepMapper.updateBasSheep(basSheep); + } + +// 更改治疗记录的状态 + Treatment treatment = new Treatment(); + treatment.setId(diagnosis.getTreatId()); + if (diagnosis.getResult().equals("0")){ + treatment.setStatus("-1"); + treatmentMapper.updateTreatment(treatment); + }else if (diagnosis.getResult().equals("1")){ + treatment.setStatus("2"); + treatmentMapper.updateTreatment(treatment); } // 转入其他羊舍 return diagnosisMapper.insertDiagnosis(diagnosis); @@ -87,9 +108,60 @@ public class DiagnosisServiceImpl implements IDiagnosisService @Override + @Transactional public int insertDiagnosisList(Diagnosis diagnosis) { + if (diagnosis.getTreatIds() != null && diagnosis.getTreatIds().length > 0){ + for (Integer treatId : diagnosis.getTreatIds()) { + System.out.println(treatId); + Treatment treatment = treatmentMapper.selectTreatmentById(Long.valueOf(treatId)); + System.out.println(treatment); +// BasSheep basSheep = sheepMapper.selectBasSheepById(treatment.getSheepId()); - return 0; + Diagnosis diag = new Diagnosis(); + BeanUtils.copyProperties(treatment,diag); + diag.setResult(diagnosis.getResult()); + diag.setParity(String.valueOf(treatment.getParity())); + + + // treatment 和 diagnosis 是你的两个实体对象 + Date start = treatment.getDatetime(); // 已经是 Date + Date end = diagnosis.getDatetime(); // 已经是 Date + diag.setBegindate(start); + diag.setEnddate(end); + long oneDayMillis = 24 * 60 * 60 * 1000L; + long days = (end.getTime() / oneDayMillis) - (start.getTime() / oneDayMillis); + if (days<0){ + days=0; + } + + diag.setTreatDay(days); + diag.setTreatId(treatment.getId()); + + + String username = SecurityUtils.getLoginUser().getUser().getNickName(); + diag.setCreateBy(username); + diag.setCreateTime(DateUtils.getNowDate()); + diagnosisMapper.insertDiagnosis(diag); + treatment.setDiagId(diag.getId()); + + // 更改治疗记录的状态 + if (diagnosis.getResult().equals("0")){ + treatment.setStatus("-1"); + treatmentMapper.updateTreatment(treatment); + }else if (diagnosis.getResult().equals("1")){ + treatment.setStatus("2"); + treatmentMapper.updateTreatment(treatment); + } + if (diagnosis.getSheepfoldId() != null){ + BasSheep basSheep = new BasSheep(); + basSheep.setId(diagnosis.getSheepId()); + basSheep.setSheepfoldId(diagnosis.getSheepfoldId()); + sheepMapper.updateBasSheep(basSheep); + } + } + } + + return 1; } /** 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 1f5c6ab..abb7d57 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 @@ -7,8 +7,10 @@ import com.zhyc.common.utils.SecurityUtils; import com.zhyc.common.utils.bean.BeanUtils; import com.zhyc.module.base.domain.SheepFile; import com.zhyc.module.base.mapper.SheepFileMapper; +import com.zhyc.module.biosafety.domain.Diagnosis; import com.zhyc.module.biosafety.domain.SwMedicineUsage; import com.zhyc.module.biosafety.domain.SwMedicineUsageDetails; +import com.zhyc.module.biosafety.mapper.DiagnosisMapper; import com.zhyc.module.biosafety.mapper.SwMedicineUsageMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -34,6 +36,8 @@ public class TreatmentServiceImpl implements ITreatmentService private SwMedicineUsageMapper medicineUsageMapper; @Autowired private SheepFileMapper sheepFileMapper; + @Autowired + private DiagnosisMapper diagnosisMapper; /** * 查询治疗记录 @@ -47,7 +51,9 @@ public class TreatmentServiceImpl implements ITreatmentService Treatment treatment = treatmentMapper.selectTreatmentById(id); // 获取药品使用记录 SwMedicineUsage swMedicineUsage = medicineUsageService.selectSwMedicineUsageById(treatment.getUsageId()); - treatment.setUsageDetails(swMedicineUsage.getSwMedicineUsageDetailsList()); + if (swMedicineUsage!=null){ + treatment.setUsageDetails(swMedicineUsage.getSwMedicineUsageDetailsList()); + } return treatment; } @@ -176,4 +182,21 @@ public class TreatmentServiceImpl implements ITreatmentService { return treatmentMapper.deleteTreatmentById(id); } + + public void updateTreatmentStatus(Long sheepId) { + List treatments=treatmentMapper.selectTreatmentStatus(sheepId); + Diagnosis diagnosis = new Diagnosis(); + for (Treatment treatment : treatments) { + if (treatment.getDiagId()!=null){ + diagnosis.setId(treatment.getDiagId()); + diagnosis.setResult("-1"); + diagnosisMapper.updateDiagnosis(diagnosis); + if (treatment.getDiagId()!=null){ + Treatment treat = new Treatment(); + treat.setId(treatment.getId()); + treatmentMapper.updateTreatment(treat); + } + } + } + } } 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 15ead5a..0d67390 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 @@ -3,11 +3,17 @@ package com.zhyc.module.produce.breed.service.impl; import java.util.List; import java.util.Map; import com.zhyc.common.utils.DateUtils; +import com.zhyc.module.biosafety.domain.Diagnosis; +import com.zhyc.module.biosafety.domain.Treatment; +import com.zhyc.module.biosafety.mapper.DiagnosisMapper; +import com.zhyc.module.biosafety.mapper.TreatmentMapper; +import com.zhyc.module.biosafety.service.impl.TreatmentServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.zhyc.module.produce.breed.mapper.ScSheepDeathMapper; import com.zhyc.module.produce.breed.domain.ScSheepDeath; import com.zhyc.module.produce.breed.service.IScSheepDeathService; +import org.springframework.transaction.annotation.Transactional; /** * 羊只死淘记录Service业务层处理 @@ -20,6 +26,13 @@ public class ScSheepDeathServiceImpl implements IScSheepDeathService { @Autowired private ScSheepDeathMapper scSheepDeathMapper; + @Autowired + private DiagnosisMapper diagnosisMapper; + @Autowired + private TreatmentServiceImpl treatmentService; + + + /** * 查询羊只死淘记录 @@ -100,6 +113,7 @@ public class ScSheepDeathServiceImpl implements IScSheepDeathService * @return 结果 */ @Override + @Transactional public int insertScSheepDeath(ScSheepDeath scSheepDeath) { // 设置事件类型默认为"死亡" @@ -110,11 +124,15 @@ public class ScSheepDeathServiceImpl implements IScSheepDeathService // 如果有管理耳号,查询并设置羊只ID 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); } } + + treatmentService.updateTreatmentStatus(scSheepDeath.getSheepId()); scSheepDeath.setCreateTime(DateUtils.getNowDate()); + return scSheepDeathMapper.insertScSheepDeath(scSheepDeath); } diff --git a/zhyc-module/src/main/resources/mapper/biosafety/SwMedicineUsageMapper.xml b/zhyc-module/src/main/resources/mapper/biosafety/SwMedicineUsageMapper.xml index e767362..f478719 100644 --- a/zhyc-module/src/main/resources/mapper/biosafety/SwMedicineUsageMapper.xml +++ b/zhyc-module/src/main/resources/mapper/biosafety/SwMedicineUsageMapper.xml @@ -31,6 +31,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -63,7 +64,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + insert into sw_treatment @@ -76,6 +81,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" disease_pid, veterinary, usage_id, + status, comment, update_by, update_time, @@ -98,6 +104,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{diseasePid}, #{veterinary}, #{usageId}, + #{status}, #{comment}, #{updateBy}, #{updateTime}, @@ -110,14 +117,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" insert into sw_treatment (diag_id, sheep_id, variety, sheep_type, month_age, gender, parity, breed, lact_day, gest_day, datetime, - disease_id, disease_pid, veterinary, usage_id, + disease_id, disease_pid, veterinary, usage_id,status , comment, update_by, update_time, create_by, create_time) values (#{t.diagId}, #{t.sheepId}, #{t.variety}, #{t.sheepType}, #{t.monthAge}, #{t.gender}, #{t.parity}, #{t.breed}, #{t.lactDay}, #{t.gestDay}, #{t.datetime}, #{t.diseaseId}, - #{t.diseasePid}, #{t.veterinary},#{t.usageId}, #{t.comment}, + #{t.diseasePid}, #{t.veterinary},#{t.usageId}, #{t.status}, #{t.comment}, #{t.updateBy}, #{t.updateTime},#{t.createBy}, #{t.createTime}) @@ -140,6 +147,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" disease_pid = #{diseasePid}, veterinary = #{veterinary}, usage_id = #{usageId}, + status = #{status}, comment = #{comment}, update_by = #{updateBy}, update_time = #{updateTime},