diff --git a/.gitignore b/.gitignore index ed8368a..7feea44 100644 --- a/.gitignore +++ b/.gitignore @@ -45,3 +45,4 @@ nbdist/ !*/build/*.java !*/build/*.html !*/build/*.xml +/zhyc-module/src/main/java/com/zhyc/module/group_management/service/impl/GroupServiceImpl.java diff --git a/zhyc-module/pom.xml b/zhyc-module/pom.xml index a3a00b5..78bc63d 100644 --- a/zhyc-module/pom.xml +++ b/zhyc-module/pom.xml @@ -23,6 +23,10 @@ 1.18.38 provided + + org.projectlombok + lombok + \ No newline at end of file diff --git a/zhyc-module/src/main/java/com/zhyc/module/biosafety/controller/TreatmentController.java b/zhyc-module/src/main/java/com/zhyc/module/biosafety/controller/TreatmentController.java index 0e7605e..85d5591 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/biosafety/controller/TreatmentController.java +++ b/zhyc-module/src/main/java/com/zhyc/module/biosafety/controller/TreatmentController.java @@ -97,7 +97,7 @@ public class TreatmentController extends BaseController */ @PreAuthorize("@ss.hasPermi('treatment:treatment:remove')") @Log(title = "治疗记录", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") + @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(treatmentService.deleteTreatmentByIds(ids)); diff --git a/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/SwPrescription.java b/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/SwPrescription.java index 9afe41d..b8466e1 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/SwPrescription.java +++ b/zhyc-module/src/main/java/com/zhyc/module/biosafety/domain/SwPrescription.java @@ -28,7 +28,7 @@ public class SwPrescription extends BaseEntity private String name; /** 类型(免疫/保健/驱虫/消毒/疾病治疗) */ - @Excel(name = "类型", readConverterExp = "免=疫/保健/驱虫/消毒/疾病治疗") + @Excel(name = "类型", readConverterExp = "免疫/保健/驱虫/消毒/疾病治疗") private Integer persType; /** 备注 */ 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 4ace5d1..67777b8 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 @@ -1,7 +1,11 @@ package com.zhyc.module.biosafety.domain; +import java.util.ArrayList; import java.util.Date; +import java.util.List; + import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.zhyc.common.annotation.Excel; @@ -13,6 +17,7 @@ import com.zhyc.common.core.domain.BaseEntity; * @author ruoyi * @date 2025-07-15 */ +@Data public class Treatment extends BaseEntity { private static final long serialVersionUID = 1L; @@ -80,204 +85,11 @@ public class Treatment extends BaseEntity @Excel(name = "药品使用记录id") private Long usageId; +// 药品使用 + private List usageDetails; + /** 备注 */ @Excel(name = "备注") private String comment; - public void setId(Long id) - { - this.id = id; - } - - public Long getId() - { - return id; - } - - public void setDiagId(Long diagId) - { - this.diagId = diagId; - } - - public Long getDiagId() - { - return diagId; - } - - public void setSheepId(Long sheepId) - { - this.sheepId = sheepId; - } - - public Long getSheepId() - { - return sheepId; - } - - public void setVariety(String variety) - { - this.variety = variety; - } - - public String getVariety() - { - return variety; - } - - public void setSheepType(String sheepType) - { - this.sheepType = sheepType; - } - - public String getSheepType() - { - return sheepType; - } - - public void setMonthAge(Long monthAge) - { - this.monthAge = monthAge; - } - - public Long getMonthAge() - { - return monthAge; - } - - public void setGender(String gender) - { - this.gender = gender; - } - - public String getGender() - { - return gender; - } - - public void setParity(Long parity) - { - this.parity = parity; - } - - public Long getParity() - { - return parity; - } - - public void setBreed(String breed) - { - this.breed = breed; - } - - public String getBreed() - { - return breed; - } - - public void setLactDay(Long lactDay) - { - this.lactDay = lactDay; - } - - public Long getLactDay() - { - return lactDay; - } - - public void setGestDay(Long gestDay) - { - this.gestDay = gestDay; - } - - public Long getGestDay() - { - return gestDay; - } - - public void setDatetime(Date datetime) - { - this.datetime = datetime; - } - - public Date getDatetime() - { - return datetime; - } - - public void setDiseaseId(Long diseaseId) - { - this.diseaseId = diseaseId; - } - - public Long getDiseaseId() - { - return diseaseId; - } - - public void setDiseasePid(String diseasePid) - { - this.diseasePid = diseasePid; - } - - public String getDiseasePid() - { - return diseasePid; - } - - public void setVeterinary(String veterinary) - { - this.veterinary = veterinary; - } - - public String getVeterinary() - { - return veterinary; - } - - public void setUsageId(Long usageId) - { - this.usageId = usageId; - } - - public Long getUsageId() - { - return usageId; - } - - public void setComment(String comment) - { - this.comment = comment; - } - - public String getComment() - { - return comment; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("diagId", getDiagId()) - .append("sheepId", getSheepId()) - .append("variety", getVariety()) - .append("sheepType", getSheepType()) - .append("monthAge", getMonthAge()) - .append("gender", getGender()) - .append("parity", getParity()) - .append("breed", getBreed()) - .append("lactDay", getLactDay()) - .append("gestDay", getGestDay()) - .append("datetime", getDatetime()) - .append("diseaseId", getDiseaseId()) - .append("diseasePid", getDiseasePid()) - .append("veterinary", getVeterinary()) - .append("usageId", getUsageId()) - .append("comment", getComment()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .toString(); - } } 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 502a05b..1d576f5 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 @@ -2,11 +2,14 @@ package com.zhyc.module.biosafety.service.impl; import java.util.List; import com.zhyc.common.utils.DateUtils; +import com.zhyc.module.biosafety.domain.SwMedicineUsage; +import com.zhyc.module.biosafety.domain.SwPrescription; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.zhyc.module.biosafety.mapper.TreatmentMapper; import com.zhyc.module.biosafety.domain.Treatment; import com.zhyc.module.biosafety.service.ITreatmentService; +import org.springframework.transaction.annotation.Transactional; /** * 治疗记录Service业务层处理 @@ -19,6 +22,8 @@ public class TreatmentServiceImpl implements ITreatmentService { @Autowired private TreatmentMapper treatmentMapper; + @Autowired + private SwMedicineUsageServiceImpl medicineUsageService; /** * 查询治疗记录 @@ -51,8 +56,15 @@ public class TreatmentServiceImpl implements ITreatmentService * @return 结果 */ @Override + @Transactional public int insertTreatment(Treatment treatment) { + SwMedicineUsage medicineUsage = new SwMedicineUsage(); + medicineUsage.setName("羊只治疗"); + medicineUsage.setUseType("4"); +// 药品使用记录 + medicineUsage.setSwMedicineUsageDetailsList(treatment.getUsageDetails()); + medicineUsageService.insertSwMedicineUsage(medicineUsage); treatment.setCreateTime(DateUtils.getNowDate()); return treatmentMapper.insertTreatment(treatment); } diff --git a/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/freshMilkTest/controller/NpFreshMilkInspController.java b/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/freshMilkTest/controller/NpFreshMilkInspController.java new file mode 100644 index 0000000..d91901c --- /dev/null +++ b/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/freshMilkTest/controller/NpFreshMilkInspController.java @@ -0,0 +1,104 @@ +package com.zhyc.module.dairyProducts.freshMilkTest.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.zhyc.common.annotation.Log; +import com.zhyc.common.core.controller.BaseController; +import com.zhyc.common.core.domain.AjaxResult; +import com.zhyc.common.enums.BusinessType; +import com.zhyc.module.dairyProducts.freshMilkTest.domain.NpFreshMilkInsp; +import com.zhyc.module.dairyProducts.freshMilkTest.service.INpFreshMilkInspService; +import com.zhyc.common.utils.poi.ExcelUtil; +import com.zhyc.common.core.page.TableDataInfo; + +/** + * 鲜奶生产,成品检验记录Controller + * + * @author ruoyi + * @date 2025-07-18 + */ +@RestController +@RequestMapping("/freshMilkTest/freshMilkTest") +public class NpFreshMilkInspController extends BaseController +{ + @Autowired + private INpFreshMilkInspService npFreshMilkInspService; + + /** + * 查询鲜奶生产,成品检验记录列表 + */ + @PreAuthorize("@ss.hasPermi('freshMilkTest:freshMilkTest:list')") + @GetMapping("/list") + public TableDataInfo list(NpFreshMilkInsp npFreshMilkInsp) + { + startPage(); + List list = npFreshMilkInspService.selectNpFreshMilkInspList(npFreshMilkInsp); + return getDataTable(list); + } + + /** + * 导出鲜奶生产,成品检验记录列表 + */ + @PreAuthorize("@ss.hasPermi('freshMilkTest:freshMilkTest:export')") + @Log(title = "鲜奶生产,成品检验记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, NpFreshMilkInsp npFreshMilkInsp) + { + List list = npFreshMilkInspService.selectNpFreshMilkInspList(npFreshMilkInsp); + ExcelUtil util = new ExcelUtil(NpFreshMilkInsp.class); + util.exportExcel(response, list, "鲜奶生产,成品检验记录数据"); + } + + /** + * 获取鲜奶生产,成品检验记录详细信息 + */ + @PreAuthorize("@ss.hasPermi('freshMilkTest:freshMilkTest:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(npFreshMilkInspService.selectNpFreshMilkInspById(id)); + } + + /** + * 新增鲜奶生产,成品检验记录 + */ + @PreAuthorize("@ss.hasPermi('freshMilkTest:freshMilkTest:add')") + @Log(title = "鲜奶生产,成品检验记录", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody NpFreshMilkInsp npFreshMilkInsp) + { + return toAjax(npFreshMilkInspService.insertNpFreshMilkInsp(npFreshMilkInsp)); + } + + /** + * 修改鲜奶生产,成品检验记录 + */ + @PreAuthorize("@ss.hasPermi('freshMilkTest:freshMilkTest:edit')") + @Log(title = "鲜奶生产,成品检验记录", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody NpFreshMilkInsp npFreshMilkInsp) + { + return toAjax(npFreshMilkInspService.updateNpFreshMilkInsp(npFreshMilkInsp)); + } + + /** + * 删除鲜奶生产,成品检验记录 + */ + @PreAuthorize("@ss.hasPermi('freshMilkTest:freshMilkTest:remove')") + @Log(title = "鲜奶生产,成品检验记录", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(npFreshMilkInspService.deleteNpFreshMilkInspByIds(ids)); + } +} diff --git a/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/freshMilkTest/domain/NpFreshMilkInsp.java b/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/freshMilkTest/domain/NpFreshMilkInsp.java new file mode 100644 index 0000000..a1c7fad --- /dev/null +++ b/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/freshMilkTest/domain/NpFreshMilkInsp.java @@ -0,0 +1,267 @@ +package com.zhyc.module.dairyProducts.freshMilkTest.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.zhyc.common.annotation.Excel; +import com.zhyc.common.core.domain.BaseEntity; + +/** + * 鲜奶生产,成品检验记录对象 np_fresh_milk_insp + * + * @author ruoyi + * @date 2025-07-18 + */ +public class NpFreshMilkInsp extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private Long id; + + /** 来源 */ + @Excel(name = "来源") + private String source; + + /** 检测日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "检测日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date datetime; + + /** 脂肪g/100g */ + @Excel(name = "脂肪g/100g") + private Double fat; + + /** 蛋白质g/100g */ + @Excel(name = "蛋白质g/100g") + private Double protein; + + /** 非脂g/100g */ + @Excel(name = "非脂g/100g") + private Double nonFat; + + /** 酸度oT */ + @Excel(name = "酸度oT") + private Double acidity; + + /** 菌落总数CFU/ml_1 */ + @Excel(name = "菌落总数CFU/ml_1") + private Double bacterialColony1; + + /** 菌落总数CFU/ml_2 */ + @Excel(name = "菌落总数CFU/ml_2") + private Double bacterialColony2; + + /** 菌落总数CFU/ml_3 */ + @Excel(name = "菌落总数CFU/ml_3") + private Double bacterialColony3; + + /** 菌落总数CFU/ml_4 */ + @Excel(name = "菌落总数CFU/ml_4") + private Double bacterialColony4; + + /** 菌落总数CFU/ml_5 */ + @Excel(name = "菌落总数CFU/ml_5") + private Double bacterialColony5; + + /** 大肠菌群CFU/ml */ + @Excel(name = "大肠菌群CFU/ml") + private Double coli; + + /** 乳铁蛋白(mg/L) */ + @Excel(name = "乳铁蛋白", readConverterExp = "m=g/L") + private Double lactoferrin; + + /** 免疫球蛋白(mg/l) */ + @Excel(name = "免疫球蛋白", readConverterExp = "m=g/l") + private Double ig; + + /** 备注 */ + @Excel(name = "备注") + private String commnet; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setSource(String source) + { + this.source = source; + } + + public String getSource() + { + return source; + } + + public void setDatetime(Date datetime) + { + this.datetime = datetime; + } + + public Date getDatetime() + { + return datetime; + } + + public void setFat(Double fat) + { + this.fat = fat; + } + + public Double getFat() + { + return fat; + } + + public void setProtein(Double protein) + { + this.protein = protein; + } + + public Double getProtein() + { + return protein; + } + + public void setNonFat(Double nonFat) + { + this.nonFat = nonFat; + } + + public Double getNonFat() + { + return nonFat; + } + + public void setAcidity(Double acidity) + { + this.acidity = acidity; + } + + public Double getAcidity() + { + return acidity; + } + + public void setBacterialColony1(Double bacterialColony1) + { + this.bacterialColony1 = bacterialColony1; + } + + public Double getBacterialColony1() + { + return bacterialColony1; + } + + public void setBacterialColony2(Double bacterialColony2) + { + this.bacterialColony2 = bacterialColony2; + } + + public Double getBacterialColony2() + { + return bacterialColony2; + } + + public void setBacterialColony3(Double bacterialColony3) + { + this.bacterialColony3 = bacterialColony3; + } + + public Double getBacterialColony3() + { + return bacterialColony3; + } + + public void setBacterialColony4(Double bacterialColony4) + { + this.bacterialColony4 = bacterialColony4; + } + + public Double getBacterialColony4() + { + return bacterialColony4; + } + + public void setBacterialColony5(Double bacterialColony5) + { + this.bacterialColony5 = bacterialColony5; + } + + public Double getBacterialColony5() + { + return bacterialColony5; + } + + public void setColi(Double coli) + { + this.coli = coli; + } + + public Double getColi() + { + return coli; + } + + public void setLactoferrin(Double lactoferrin) + { + this.lactoferrin = lactoferrin; + } + + public Double getLactoferrin() + { + return lactoferrin; + } + + public void setIg(Double ig) + { + this.ig = ig; + } + + public Double getIg() + { + return ig; + } + + public void setCommnet(String commnet) + { + this.commnet = commnet; + } + + public String getCommnet() + { + return commnet; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("source", getSource()) + .append("datetime", getDatetime()) + .append("fat", getFat()) + .append("protein", getProtein()) + .append("nonFat", getNonFat()) + .append("acidity", getAcidity()) + .append("bacterialColony1", getBacterialColony1()) + .append("bacterialColony2", getBacterialColony2()) + .append("bacterialColony3", getBacterialColony3()) + .append("bacterialColony4", getBacterialColony4()) + .append("bacterialColony5", getBacterialColony5()) + .append("coli", getColi()) + .append("lactoferrin", getLactoferrin()) + .append("ig", getIg()) + .append("commnet", getCommnet()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/freshMilkTest/mapper/NpFreshMilkInspMapper.java b/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/freshMilkTest/mapper/NpFreshMilkInspMapper.java new file mode 100644 index 0000000..e0671e5 --- /dev/null +++ b/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/freshMilkTest/mapper/NpFreshMilkInspMapper.java @@ -0,0 +1,61 @@ +package com.zhyc.module.dairyProducts.freshMilkTest.mapper; + +import java.util.List; +import com.zhyc.module.dairyProducts.freshMilkTest.domain.NpFreshMilkInsp; + +/** + * 鲜奶生产,成品检验记录Mapper接口 + * + * @author ruoyi + * @date 2025-07-18 + */ +public interface NpFreshMilkInspMapper +{ + /** + * 查询鲜奶生产,成品检验记录 + * + * @param id 鲜奶生产,成品检验记录主键 + * @return 鲜奶生产,成品检验记录 + */ + public NpFreshMilkInsp selectNpFreshMilkInspById(Long id); + + /** + * 查询鲜奶生产,成品检验记录列表 + * + * @param npFreshMilkInsp 鲜奶生产,成品检验记录 + * @return 鲜奶生产,成品检验记录集合 + */ + public List selectNpFreshMilkInspList(NpFreshMilkInsp npFreshMilkInsp); + + /** + * 新增鲜奶生产,成品检验记录 + * + * @param npFreshMilkInsp 鲜奶生产,成品检验记录 + * @return 结果 + */ + public int insertNpFreshMilkInsp(NpFreshMilkInsp npFreshMilkInsp); + + /** + * 修改鲜奶生产,成品检验记录 + * + * @param npFreshMilkInsp 鲜奶生产,成品检验记录 + * @return 结果 + */ + public int updateNpFreshMilkInsp(NpFreshMilkInsp npFreshMilkInsp); + + /** + * 删除鲜奶生产,成品检验记录 + * + * @param id 鲜奶生产,成品检验记录主键 + * @return 结果 + */ + public int deleteNpFreshMilkInspById(Long id); + + /** + * 批量删除鲜奶生产,成品检验记录 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteNpFreshMilkInspByIds(Long[] ids); +} diff --git a/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/freshMilkTest/service/INpFreshMilkInspService.java b/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/freshMilkTest/service/INpFreshMilkInspService.java new file mode 100644 index 0000000..6c709e4 --- /dev/null +++ b/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/freshMilkTest/service/INpFreshMilkInspService.java @@ -0,0 +1,61 @@ +package com.zhyc.module.dairyProducts.freshMilkTest.service; + +import java.util.List; +import com.zhyc.module.dairyProducts.freshMilkTest.domain.NpFreshMilkInsp; + +/** + * 鲜奶生产,成品检验记录Service接口 + * + * @author ruoyi + * @date 2025-07-18 + */ +public interface INpFreshMilkInspService +{ + /** + * 查询鲜奶生产,成品检验记录 + * + * @param id 鲜奶生产,成品检验记录主键 + * @return 鲜奶生产,成品检验记录 + */ + public NpFreshMilkInsp selectNpFreshMilkInspById(Long id); + + /** + * 查询鲜奶生产,成品检验记录列表 + * + * @param npFreshMilkInsp 鲜奶生产,成品检验记录 + * @return 鲜奶生产,成品检验记录集合 + */ + public List selectNpFreshMilkInspList(NpFreshMilkInsp npFreshMilkInsp); + + /** + * 新增鲜奶生产,成品检验记录 + * + * @param npFreshMilkInsp 鲜奶生产,成品检验记录 + * @return 结果 + */ + public int insertNpFreshMilkInsp(NpFreshMilkInsp npFreshMilkInsp); + + /** + * 修改鲜奶生产,成品检验记录 + * + * @param npFreshMilkInsp 鲜奶生产,成品检验记录 + * @return 结果 + */ + public int updateNpFreshMilkInsp(NpFreshMilkInsp npFreshMilkInsp); + + /** + * 批量删除鲜奶生产,成品检验记录 + * + * @param ids 需要删除的鲜奶生产,成品检验记录主键集合 + * @return 结果 + */ + public int deleteNpFreshMilkInspByIds(Long[] ids); + + /** + * 删除鲜奶生产,成品检验记录信息 + * + * @param id 鲜奶生产,成品检验记录主键 + * @return 结果 + */ + public int deleteNpFreshMilkInspById(Long id); +} diff --git a/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/freshMilkTest/service/impl/NpFreshMilkInspServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/freshMilkTest/service/impl/NpFreshMilkInspServiceImpl.java new file mode 100644 index 0000000..c990280 --- /dev/null +++ b/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/freshMilkTest/service/impl/NpFreshMilkInspServiceImpl.java @@ -0,0 +1,95 @@ +package com.zhyc.module.dairyProducts.freshMilkTest.service.impl; + +import java.util.List; +import com.zhyc.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.zhyc.module.dairyProducts.freshMilkTest.mapper.NpFreshMilkInspMapper; +import com.zhyc.module.dairyProducts.freshMilkTest.domain.NpFreshMilkInsp; +import com.zhyc.module.dairyProducts.freshMilkTest.service.INpFreshMilkInspService; + +/** + * 鲜奶生产,成品检验记录Service业务层处理 + * + * @author ruoyi + * @date 2025-07-18 + */ +@Service +public class NpFreshMilkInspServiceImpl implements INpFreshMilkInspService +{ + @Autowired + private NpFreshMilkInspMapper npFreshMilkInspMapper; + + /** + * 查询鲜奶生产,成品检验记录 + * + * @param id 鲜奶生产,成品检验记录主键 + * @return 鲜奶生产,成品检验记录 + */ + @Override + public NpFreshMilkInsp selectNpFreshMilkInspById(Long id) + { + return npFreshMilkInspMapper.selectNpFreshMilkInspById(id); + } + + /** + * 查询鲜奶生产,成品检验记录列表 + * + * @param npFreshMilkInsp 鲜奶生产,成品检验记录 + * @return 鲜奶生产,成品检验记录 + */ + @Override + public List selectNpFreshMilkInspList(NpFreshMilkInsp npFreshMilkInsp) + { + return npFreshMilkInspMapper.selectNpFreshMilkInspList(npFreshMilkInsp); + } + + /** + * 新增鲜奶生产,成品检验记录 + * + * @param npFreshMilkInsp 鲜奶生产,成品检验记录 + * @return 结果 + */ + @Override + public int insertNpFreshMilkInsp(NpFreshMilkInsp npFreshMilkInsp) + { + npFreshMilkInsp.setCreateTime(DateUtils.getNowDate()); + return npFreshMilkInspMapper.insertNpFreshMilkInsp(npFreshMilkInsp); + } + + /** + * 修改鲜奶生产,成品检验记录 + * + * @param npFreshMilkInsp 鲜奶生产,成品检验记录 + * @return 结果 + */ + @Override + public int updateNpFreshMilkInsp(NpFreshMilkInsp npFreshMilkInsp) + { + return npFreshMilkInspMapper.updateNpFreshMilkInsp(npFreshMilkInsp); + } + + /** + * 批量删除鲜奶生产,成品检验记录 + * + * @param ids 需要删除的鲜奶生产,成品检验记录主键 + * @return 结果 + */ + @Override + public int deleteNpFreshMilkInspByIds(Long[] ids) + { + return npFreshMilkInspMapper.deleteNpFreshMilkInspByIds(ids); + } + + /** + * 删除鲜奶生产,成品检验记录信息 + * + * @param id 鲜奶生产,成品检验记录主键 + * @return 结果 + */ + @Override + public int deleteNpFreshMilkInspById(Long id) + { + return npFreshMilkInspMapper.deleteNpFreshMilkInspById(id); + } +} diff --git a/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/yogurtTest/controller/NpYogurtInspController.java b/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/yogurtTest/controller/NpYogurtInspController.java new file mode 100644 index 0000000..bcb7ed1 --- /dev/null +++ b/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/yogurtTest/controller/NpYogurtInspController.java @@ -0,0 +1,104 @@ +package com.zhyc.module.dairyProducts.yogurtTest.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.zhyc.common.annotation.Log; +import com.zhyc.common.core.controller.BaseController; +import com.zhyc.common.core.domain.AjaxResult; +import com.zhyc.common.enums.BusinessType; +import com.zhyc.module.dairyProducts.yogurtTest.domain.NpYogurtInsp; +import com.zhyc.module.dairyProducts.yogurtTest.service.INpYogurtInspService; +import com.zhyc.common.utils.poi.ExcelUtil; +import com.zhyc.common.core.page.TableDataInfo; + +/** + * 酸奶生产,成品检疫记录Controller + * + * @author ruoyi + * @date 2025-07-17 + */ +@RestController +@RequestMapping("/yogurtTest/yogurtTest") +public class NpYogurtInspController extends BaseController +{ + @Autowired + private INpYogurtInspService npYogurtInspService; + + /** + * 查询酸奶生产,成品检疫记录列表 + */ + @PreAuthorize("@ss.hasPermi('yogurtTest:yogurtTest:list')") + @GetMapping("/list") + public TableDataInfo list(NpYogurtInsp npYogurtInsp) + { + startPage(); + List list = npYogurtInspService.selectNpYogurtInspList(npYogurtInsp); + return getDataTable(list); + } + + /** + * 导出酸奶生产,成品检疫记录列表 + */ + @PreAuthorize("@ss.hasPermi('yogurtTest:yogurtTest:export')") + @Log(title = "酸奶生产,成品检疫记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, NpYogurtInsp npYogurtInsp) + { + List list = npYogurtInspService.selectNpYogurtInspList(npYogurtInsp); + ExcelUtil util = new ExcelUtil(NpYogurtInsp.class); + util.exportExcel(response, list, "酸奶生产,成品检疫记录数据"); + } + + /** + * 获取酸奶生产,成品检疫记录详细信息 + */ + @PreAuthorize("@ss.hasPermi('yogurtTest:yogurtTest:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(npYogurtInspService.selectNpYogurtInspById(id)); + } + + /** + * 新增酸奶生产,成品检疫记录 + */ + @PreAuthorize("@ss.hasPermi('yogurtTest:yogurtTest:add')") + @Log(title = "酸奶生产,成品检疫记录", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody NpYogurtInsp npYogurtInsp) + { + return toAjax(npYogurtInspService.insertNpYogurtInsp(npYogurtInsp)); + } + + /** + * 修改酸奶生产,成品检疫记录 + */ + @PreAuthorize("@ss.hasPermi('yogurtTest:yogurtTest:edit')") + @Log(title = "酸奶生产,成品检疫记录", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody NpYogurtInsp npYogurtInsp) + { + return toAjax(npYogurtInspService.updateNpYogurtInsp(npYogurtInsp)); + } + + /** + * 删除酸奶生产,成品检疫记录 + */ + @PreAuthorize("@ss.hasPermi('yogurtTest:yogurtTest:remove')") + @Log(title = "酸奶生产,成品检疫记录", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(npYogurtInspService.deleteNpYogurtInspByIds(ids)); + } +} diff --git a/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/yogurtTest/domain/NpYogurtInsp.java b/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/yogurtTest/domain/NpYogurtInsp.java new file mode 100644 index 0000000..d3e6110 --- /dev/null +++ b/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/yogurtTest/domain/NpYogurtInsp.java @@ -0,0 +1,268 @@ +package com.zhyc.module.dairyProducts.yogurtTest.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.zhyc.common.annotation.Excel; +import com.zhyc.common.core.domain.BaseEntity; + +/** + * 酸奶生产,成品检疫记录对象 np_yogurt_insp + * + * @author ruoyi + * @date 2025-07-17 + */ +public class NpYogurtInsp extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private Long id; + + /** 来源 */ + @Excel(name = "来源") + private String source; + + /** 检测日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "检测日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date datetime; + + /** 脂肪g/100g */ + @Excel(name = "脂肪g/100g") + private Double fat; + + /** 蛋白质g/100g */ + @Excel(name = "蛋白质g/100g") + private Double protein; + + /** 非脂g/100g + */ + @Excel(name = "非脂g/100g") + private Double nonFat; + + /** 酸度oT */ + @Excel(name = "酸度oT") + private Double acidity; + + /** 菌落总数(CFU/g)_1 */ + @Excel(name = "菌落总数", readConverterExp = "C=FU/g") + private Double bacterialColony1; + + /** 菌落总数(CFU/g)_2 */ + @Excel(name = "菌落总数", readConverterExp = "C=FU/g") + private Double bacterialClony2; + + /** 菌落总数(CFU/g)_3 */ + @Excel(name = "菌落总数", readConverterExp = "C=FU/g") + private Double bacterialClony3; + + /** 菌落总数(CFU/g)_4 */ + @Excel(name = "菌落总数", readConverterExp = "C=FU/g") + private Double bacterialClony4; + + /** 菌落总数(CFU/g)_5 */ + @Excel(name = "菌落总数", readConverterExp = "C=FU/g") + private Double bacterialClony5; + + /** 酵母菌(CFU/g) */ + @Excel(name = "酵母菌(CFU/g)") + private Double yeast; + + /** 霉菌(CFU/g) */ + @Excel(name = "霉菌", readConverterExp = "C=FU/g") + private Double mould; + + /** 乳酸菌数(CFU/g) */ + @Excel(name = "乳酸菌数", readConverterExp = "C=FU/g") + private Double lacto; + + /** 备注 */ + @Excel(name = "备注") + private String comment; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setSource(String source) + { + this.source = source; + } + + public String getSource() + { + return source; + } + + public void setDatetime(Date datetime) + { + this.datetime = datetime; + } + + public Date getDatetime() + { + return datetime; + } + + public void setFat(Double fat) + { + this.fat = fat; + } + + public Double getFat() + { + return fat; + } + + public void setProtein(Double protein) + { + this.protein = protein; + } + + public Double getProtein() + { + return protein; + } + + public void setNonFat(Double nonFat) + { + this.nonFat = nonFat; + } + + public Double getNonFat() + { + return nonFat; + } + + public void setAcidity(Double acidity) + { + this.acidity = acidity; + } + + public Double getAcidity() + { + return acidity; + } + + public void setBacterialColony1(Double bacterialColony1) + { + this.bacterialColony1 = bacterialColony1; + } + + public Double getBacterialColony1() + { + return bacterialColony1; + } + + public void setBacterialClony2(Double bacterialClony2) + { + this.bacterialClony2 = bacterialClony2; + } + + public Double getBacterialClony2() + { + return bacterialClony2; + } + + public void setBacterialClony3(Double bacterialClony3) + { + this.bacterialClony3 = bacterialClony3; + } + + public Double getBacterialClony3() + { + return bacterialClony3; + } + + public void setBacterialClony4(Double bacterialClony4) + { + this.bacterialClony4 = bacterialClony4; + } + + public Double getBacterialClony4() + { + return bacterialClony4; + } + + public void setBacterialClony5(Double bacterialClony5) + { + this.bacterialClony5 = bacterialClony5; + } + + public Double getBacterialClony5() + { + return bacterialClony5; + } + + public void setYeast(Double yeast) + { + this.yeast = yeast; + } + + public Double getYeast() + { + return yeast; + } + + public void setMould(Double mould) + { + this.mould = mould; + } + + public Double getMould() + { + return mould; + } + + public void setLacto(Double lacto) + { + this.lacto = lacto; + } + + public Double getLacto() + { + return lacto; + } + + public void setComment(String comment) + { + this.comment = comment; + } + + public String getComment() + { + return comment; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("source", getSource()) + .append("datetime", getDatetime()) + .append("fat", getFat()) + .append("protein", getProtein()) + .append("nonFat", getNonFat()) + .append("acidity", getAcidity()) + .append("bacterialColony1", getBacterialColony1()) + .append("bacterialClony2", getBacterialClony2()) + .append("bacterialClony3", getBacterialClony3()) + .append("bacterialClony4", getBacterialClony4()) + .append("bacterialClony5", getBacterialClony5()) + .append("yeast", getYeast()) + .append("mould", getMould()) + .append("lacto", getLacto()) + .append("comment", getComment()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/yogurtTest/mapper/NpYogurtInspMapper.java b/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/yogurtTest/mapper/NpYogurtInspMapper.java new file mode 100644 index 0000000..6d0d8dd --- /dev/null +++ b/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/yogurtTest/mapper/NpYogurtInspMapper.java @@ -0,0 +1,61 @@ +package com.zhyc.module.dairyProducts.yogurtTest.mapper; + +import java.util.List; +import com.zhyc.module.dairyProducts.yogurtTest.domain.NpYogurtInsp; + +/** + * 酸奶生产,成品检疫记录Mapper接口 + * + * @author ruoyi + * @date 2025-07-17 + */ +public interface NpYogurtInspMapper +{ + /** + * 查询酸奶生产,成品检疫记录 + * + * @param id 酸奶生产,成品检疫记录主键 + * @return 酸奶生产,成品检疫记录 + */ + public NpYogurtInsp selectNpYogurtInspById(Long id); + + /** + * 查询酸奶生产,成品检疫记录列表 + * + * @param npYogurtInsp 酸奶生产,成品检疫记录 + * @return 酸奶生产,成品检疫记录集合 + */ + public List selectNpYogurtInspList(NpYogurtInsp npYogurtInsp); + + /** + * 新增酸奶生产,成品检疫记录 + * + * @param npYogurtInsp 酸奶生产,成品检疫记录 + * @return 结果 + */ + public int insertNpYogurtInsp(NpYogurtInsp npYogurtInsp); + + /** + * 修改酸奶生产,成品检疫记录 + * + * @param npYogurtInsp 酸奶生产,成品检疫记录 + * @return 结果 + */ + public int updateNpYogurtInsp(NpYogurtInsp npYogurtInsp); + + /** + * 删除酸奶生产,成品检疫记录 + * + * @param id 酸奶生产,成品检疫记录主键 + * @return 结果 + */ + public int deleteNpYogurtInspById(Long id); + + /** + * 批量删除酸奶生产,成品检疫记录 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteNpYogurtInspByIds(Long[] ids); +} diff --git a/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/yogurtTest/service/INpYogurtInspService.java b/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/yogurtTest/service/INpYogurtInspService.java new file mode 100644 index 0000000..b2f8201 --- /dev/null +++ b/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/yogurtTest/service/INpYogurtInspService.java @@ -0,0 +1,61 @@ +package com.zhyc.module.dairyProducts.yogurtTest.service; + +import java.util.List; +import com.zhyc.module.dairyProducts.yogurtTest.domain.NpYogurtInsp; + +/** + * 酸奶生产,成品检疫记录Service接口 + * + * @author ruoyi + * @date 2025-07-17 + */ +public interface INpYogurtInspService +{ + /** + * 查询酸奶生产,成品检疫记录 + * + * @param id 酸奶生产,成品检疫记录主键 + * @return 酸奶生产,成品检疫记录 + */ + public NpYogurtInsp selectNpYogurtInspById(Long id); + + /** + * 查询酸奶生产,成品检疫记录列表 + * + * @param npYogurtInsp 酸奶生产,成品检疫记录 + * @return 酸奶生产,成品检疫记录集合 + */ + public List selectNpYogurtInspList(NpYogurtInsp npYogurtInsp); + + /** + * 新增酸奶生产,成品检疫记录 + * + * @param npYogurtInsp 酸奶生产,成品检疫记录 + * @return 结果 + */ + public int insertNpYogurtInsp(NpYogurtInsp npYogurtInsp); + + /** + * 修改酸奶生产,成品检疫记录 + * + * @param npYogurtInsp 酸奶生产,成品检疫记录 + * @return 结果 + */ + public int updateNpYogurtInsp(NpYogurtInsp npYogurtInsp); + + /** + * 批量删除酸奶生产,成品检疫记录 + * + * @param ids 需要删除的酸奶生产,成品检疫记录主键集合 + * @return 结果 + */ + public int deleteNpYogurtInspByIds(Long[] ids); + + /** + * 删除酸奶生产,成品检疫记录信息 + * + * @param id 酸奶生产,成品检疫记录主键 + * @return 结果 + */ + public int deleteNpYogurtInspById(Long id); +} diff --git a/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/yogurtTest/service/impl/NpYogurtInspServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/yogurtTest/service/impl/NpYogurtInspServiceImpl.java new file mode 100644 index 0000000..e9096cc --- /dev/null +++ b/zhyc-module/src/main/java/com/zhyc/module/dairyProducts/yogurtTest/service/impl/NpYogurtInspServiceImpl.java @@ -0,0 +1,95 @@ +package com.zhyc.module.dairyProducts.yogurtTest.service.impl; + +import java.util.List; +import com.zhyc.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.zhyc.module.dairyProducts.yogurtTest.mapper.NpYogurtInspMapper; +import com.zhyc.module.dairyProducts.yogurtTest.domain.NpYogurtInsp; +import com.zhyc.module.dairyProducts.yogurtTest.service.INpYogurtInspService; + +/** + * 酸奶生产,成品检疫记录Service业务层处理 + * + * @author ruoyi + * @date 2025-07-17 + */ +@Service +public class NpYogurtInspServiceImpl implements INpYogurtInspService +{ + @Autowired + private NpYogurtInspMapper npYogurtInspMapper; + + /** + * 查询酸奶生产,成品检疫记录 + * + * @param id 酸奶生产,成品检疫记录主键 + * @return 酸奶生产,成品检疫记录 + */ + @Override + public NpYogurtInsp selectNpYogurtInspById(Long id) + { + return npYogurtInspMapper.selectNpYogurtInspById(id); + } + + /** + * 查询酸奶生产,成品检疫记录列表 + * + * @param npYogurtInsp 酸奶生产,成品检疫记录 + * @return 酸奶生产,成品检疫记录 + */ + @Override + public List selectNpYogurtInspList(NpYogurtInsp npYogurtInsp) + { + return npYogurtInspMapper.selectNpYogurtInspList(npYogurtInsp); + } + + /** + * 新增酸奶生产,成品检疫记录 + * + * @param npYogurtInsp 酸奶生产,成品检疫记录 + * @return 结果 + */ + @Override + public int insertNpYogurtInsp(NpYogurtInsp npYogurtInsp) + { + npYogurtInsp.setCreateTime(DateUtils.getNowDate()); + return npYogurtInspMapper.insertNpYogurtInsp(npYogurtInsp); + } + + /** + * 修改酸奶生产,成品检疫记录 + * + * @param npYogurtInsp 酸奶生产,成品检疫记录 + * @return 结果 + */ + @Override + public int updateNpYogurtInsp(NpYogurtInsp npYogurtInsp) + { + return npYogurtInspMapper.updateNpYogurtInsp(npYogurtInsp); + } + + /** + * 批量删除酸奶生产,成品检疫记录 + * + * @param ids 需要删除的酸奶生产,成品检疫记录主键 + * @return 结果 + */ + @Override + public int deleteNpYogurtInspByIds(Long[] ids) + { + return npYogurtInspMapper.deleteNpYogurtInspByIds(ids); + } + + /** + * 删除酸奶生产,成品检疫记录信息 + * + * @param id 酸奶生产,成品检疫记录主键 + * @return 结果 + */ + @Override + public int deleteNpYogurtInspById(Long id) + { + return npYogurtInspMapper.deleteNpYogurtInspById(id); + } +} diff --git a/zhyc-module/src/main/java/com/zhyc/module/fileManagement/controller/BasSheepGroupMappingController.java b/zhyc-module/src/main/java/com/zhyc/module/fileManagement/controller/BasSheepGroupMappingController.java index b1d3417..99aac40 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/fileManagement/controller/BasSheepGroupMappingController.java +++ b/zhyc-module/src/main/java/com/zhyc/module/fileManagement/controller/BasSheepGroupMappingController.java @@ -1,17 +1,14 @@ package com.zhyc.module.fileManagement.controller; +import java.util.Arrays; import java.util.List; +import java.util.Map; import javax.servlet.http.HttpServletResponse; + +import com.zhyc.common.utils.StringUtils; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import com.zhyc.common.annotation.Log; import com.zhyc.common.core.controller.BaseController; import com.zhyc.common.core.domain.AjaxResult; @@ -46,6 +43,24 @@ public class BasSheepGroupMappingController extends BaseController return getDataTable(list); } + @PreAuthorize("@ss.hasPermi('sheep_grouping:sheep_grouping:list')") + @GetMapping("/listJoin") + public TableDataInfo list( + @RequestParam(required = false) Long sheepId, + @RequestParam(required = false) Long groupId, + @RequestParam(required = false) String bsManageTags) { + + List earList = null; + if (StringUtils.hasText(bsManageTags)) { + earList = Arrays.asList(bsManageTags.split("[,,\\s]+")); + } + startPage(); + List> list = basSheepGroupMappingService + .selectBasSheepGroupMappingList(sheepId, groupId, earList); + return getDataTable(list); + } + + /** * 导出羊只分组关联列表 */ diff --git a/zhyc-module/src/main/java/com/zhyc/module/fileManagement/mapper/BasSheepGroupMappingMapper.java b/zhyc-module/src/main/java/com/zhyc/module/fileManagement/mapper/BasSheepGroupMappingMapper.java index f38bf34..d919e95 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/fileManagement/mapper/BasSheepGroupMappingMapper.java +++ b/zhyc-module/src/main/java/com/zhyc/module/fileManagement/mapper/BasSheepGroupMappingMapper.java @@ -1,8 +1,10 @@ package com.zhyc.module.fileManagement.mapper; import java.util.List; -import com.zhyc.module.fileManagement.domain.BasSheepGroupMapping; +import java.util.Map; +import com.zhyc.module.fileManagement.domain.BasSheepGroupMapping; +import org.apache.ibatis.annotations.Param; /** * 羊只分组关联Mapper接口 * @@ -27,6 +29,20 @@ public interface BasSheepGroupMappingMapper */ public List selectBasSheepGroupMappingList(BasSheepGroupMapping basSheepGroupMapping); + + /** + * 联表查询羊只分组关联列表(支持耳号列表) + */ + List> selectBasSheepGroupMappingList( + @Param("sheepId") Long sheepId, + @Param("groupId") Long groupId, + @Param("bsManageTags") List bsManageTags + ); + + + + + /** * 新增羊只分组关联 * diff --git a/zhyc-module/src/main/java/com/zhyc/module/fileManagement/service/IBasSheepGroupMappingService.java b/zhyc-module/src/main/java/com/zhyc/module/fileManagement/service/IBasSheepGroupMappingService.java index febb461..0c543e4 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/fileManagement/service/IBasSheepGroupMappingService.java +++ b/zhyc-module/src/main/java/com/zhyc/module/fileManagement/service/IBasSheepGroupMappingService.java @@ -1,6 +1,8 @@ package com.zhyc.module.fileManagement.service; import java.util.List; +import java.util.Map; + import com.zhyc.module.fileManagement.domain.BasSheepGroupMapping; /** @@ -27,6 +29,13 @@ public interface IBasSheepGroupMappingService */ public List selectBasSheepGroupMappingList(BasSheepGroupMapping basSheepGroupMapping); + + /** + * 联表查询羊只分组关联列表(支持耳号列表) + */ + List> selectBasSheepGroupMappingList(Long sheepId, Long groupId, List bsManageTags); + + /** * 新增羊只分组关联 * @@ -58,6 +67,4 @@ public interface IBasSheepGroupMappingService * @return 结果 */ public int deleteBasSheepGroupMappingById(Long id); - - } diff --git a/zhyc-module/src/main/java/com/zhyc/module/fileManagement/service/impl/BasSheepGroupMappingServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/fileManagement/service/impl/BasSheepGroupMappingServiceImpl.java index d428848..f119bed 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/fileManagement/service/impl/BasSheepGroupMappingServiceImpl.java +++ b/zhyc-module/src/main/java/com/zhyc/module/fileManagement/service/impl/BasSheepGroupMappingServiceImpl.java @@ -1,6 +1,8 @@ package com.zhyc.module.fileManagement.service.impl; import java.util.List; +import java.util.Map; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.zhyc.module.fileManagement.mapper.BasSheepGroupMappingMapper; @@ -43,6 +45,13 @@ public class BasSheepGroupMappingServiceImpl implements IBasSheepGroupMappingSer return basSheepGroupMappingMapper.selectBasSheepGroupMappingList(basSheepGroupMapping); } + + @Override + public List> selectBasSheepGroupMappingList( + Long sheepId, Long groupId, List bsManageTags) { + return basSheepGroupMappingMapper.selectBasSheepGroupMappingList(sheepId, groupId, bsManageTags); + } + /** * 新增羊只分组关联 * @@ -91,6 +100,4 @@ public class BasSheepGroupMappingServiceImpl implements IBasSheepGroupMappingSer return basSheepGroupMappingMapper.deleteBasSheepGroupMappingById(id); } - - } diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/add_sheep/controller/ScAddSheepController.java b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/add_sheep/controller/ScAddSheepController.java index 7f9c07a..07d8261 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/add_sheep/controller/ScAddSheepController.java +++ b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/add_sheep/controller/ScAddSheepController.java @@ -5,12 +5,10 @@ import com.zhyc.common.core.domain.AjaxResult; import com.zhyc.common.enums.BusinessType; import com.zhyc.common.exception.ServiceException; import com.zhyc.common.utils.poi.ExcelUtil; -import com.zhyc.module.base.variety.domain.BasSheepVariety; -import com.zhyc.module.base.variety.service.IBasSheepVarietyService; -import com.zhyc.module.fileManagement.domain.DaSheepfold; -import com.zhyc.module.fileManagement.service.IDaSheepfoldService; import com.zhyc.module.produce.manage_sheep.add_sheep.domain.ScAddSheep; import com.zhyc.module.produce.manage_sheep.add_sheep.service.IScAddSheepService; +import com.zhyc.module.fileManagement.domain.DaSheepfold; +import com.zhyc.module.fileManagement.service.IDaSheepfoldService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.PostMapping; @@ -35,8 +33,6 @@ public class ScAddSheepController { @Autowired private IDaSheepfoldService daSheepfoldMapper; - @Autowired - private IBasSheepVarietyService basSheepVarietyService; //新增羊只验证 @PreAuthorize("@ss.hasPermi('produce:add_sheep:add')") @Log(title = "新增", businessType = BusinessType.INSERT) @@ -87,12 +83,7 @@ public class ScAddSheepController { scAddSheep.setSheepfoldNameExcel(fold.getSheepfoldName()); } } - if (scAddSheep.getVarietyId() != null) { - BasSheepVariety variety = basSheepVarietyService.selectBasSheepVarietyById(scAddSheep.getVarietyId().longValue()); - if (variety != null) { - scAddSheep.setVarietyName(variety.getVariety()); - } - } + list.add(scAddSheep); util.exportExcel(response, list, "羊只信息"); } diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/add_sheep/service/impl/ScAddSheepServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/add_sheep/service/impl/ScAddSheepServiceImpl.java index 7d6b1db..95e5e72 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/add_sheep/service/impl/ScAddSheepServiceImpl.java +++ b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/add_sheep/service/impl/ScAddSheepServiceImpl.java @@ -2,23 +2,20 @@ package com.zhyc.module.produce.manage_sheep.add_sheep.service.impl; import com.zhyc.common.exception.ServiceException; import com.zhyc.common.utils.StringUtils; -import com.zhyc.module.base.variety.domain.BasSheepVariety; -import com.zhyc.module.base.variety.service.IBasSheepVarietyService; -import com.zhyc.module.fileManagement.domain.DaSheepfold; -import com.zhyc.module.fileManagement.mapper.DaSheepfoldMapper; import com.zhyc.module.produce.manage_sheep.add_sheep.domain.ScAddSheep; import com.zhyc.module.produce.manage_sheep.add_sheep.mapper.ScAddSheepMapper; import com.zhyc.module.produce.manage_sheep.add_sheep.service.IScAddSheepService; import com.zhyc.module.produce.sheep.domain.BasSheep; +import com.zhyc.module.produce.sheep.mapper.BasSheepMapper; import com.zhyc.module.produce.sheep.service.IBasSheepService; +import com.zhyc.module.produce.sheep.service.impl.BasSheepServiceImpl; +import com.zhyc.module.fileManagement.domain.DaSheepfold; +import com.zhyc.module.fileManagement.mapper.DaSheepfoldMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; @Service public class ScAddSheepServiceImpl implements IScAddSheepService { @@ -32,9 +29,6 @@ public class ScAddSheepServiceImpl implements IScAddSheepService { @Autowired private IBasSheepService basSheepService; - @Autowired - private IBasSheepVarietyService basSheepVarietyService; - @Override public boolean insertScAddSheep(ScAddSheep scAddSheep) { // 1. 重复校验 @@ -68,7 +62,6 @@ public class ScAddSheepServiceImpl implements IScAddSheepService { basSheepService.insertBasSheep(bs); return true; } - @Override public List selectScAddSheepList(ScAddSheep scAddSheep) { return scAddSheepMapper.selectScAddSheepList(scAddSheep); @@ -86,7 +79,6 @@ public class ScAddSheepServiceImpl implements IScAddSheepService { /* ------------------ 导入:羊舍名称 → ID ------------------ */ @Override - @Transactional(rollbackFor = Exception.class) public String importSheep(List list, boolean updateSupport, String operName) { if (list == null || list.isEmpty()) { throw new ServiceException("导入数据不能为空!"); @@ -95,58 +87,50 @@ public class ScAddSheepServiceImpl implements IScAddSheepService { int success = 0, failure = 0; StringBuilder failureMsg = new StringBuilder(); - // 1. 一次性加载全部品种和羊舍,避免循环查库 - Map varietyNameToIdMap = basSheepVarietyService - .selectBasSheepVarietyList(new BasSheepVariety()) - .stream() - .collect(Collectors.toMap( - BasSheepVariety::getVariety, - BasSheepVariety::getId, - (existing, replacement) -> existing // 保留第一个 - )); - - Map sheepfoldNameToIdMap = daSheepfoldMapper - .selectDaSheepfoldList(new DaSheepfold()) - .stream() - .collect(Collectors.toMap( - DaSheepfold::getSheepfoldName, - DaSheepfold::getId, - (existing, replacement) -> existing // 保留第一个 - )); - for (int i = 0; i < list.size(); i++) { ScAddSheep sheep = list.get(i); try { - // 2. 羊舍名称 → ID + /* 1. 羊舍名称 → ID */ if (StringUtils.isNotBlank(sheep.getSheepfoldNameExcel())) { - Long sheepfoldId = sheepfoldNameToIdMap.get(sheep.getSheepfoldNameExcel()); - if (sheepfoldId == null) { - throw new ServiceException("羊舍名称不存在:" + sheep.getSheepfoldNameExcel()); + DaSheepfold param = new DaSheepfold(); + param.setSheepfoldName(sheep.getSheepfoldNameExcel()); + List foldList = daSheepfoldMapper.selectDaSheepfoldList(param); + + if (foldList == null || foldList.isEmpty()) { + failure++; + failureMsg.append("
第") + .append(i + 1) + .append("行:羊舍名称不存在【") + .append(sheep.getSheepfoldNameExcel()) + .append("】"); + continue; } - sheep.setSheepfold(sheepfoldId.intValue()); + sheep.setSheepfold(foldList.get(0).getId().intValue()); } - // 3. 品种名称 → ID - if (StringUtils.isNotBlank(sheep.getVarietyName())) { - Long varietyId = varietyNameToIdMap.get(sheep.getVarietyName()); - if (varietyId == null) { - throw new ServiceException("品种名称不存在:" + sheep.getVarietyName()); - } - sheep.setVarietyId(varietyId.intValue()); - } - - // 4. 耳号非空校验 + /* 2. 耳号非空校验 */ if (StringUtils.isBlank(sheep.getEarNumber())) { - throw new ServiceException("耳号不能为空"); + failure++; + failureMsg.append("
第") + .append(i + 1) + .append("行:耳号不能为空"); + continue; } - // 5. 耳号重复校验 + /* 3. 耳号重复校验(增量导入核心) */ ScAddSheep exist = scAddSheepMapper.selectByEarNumber(sheep.getEarNumber()); if (exist != null) { - if (!updateSupport) { - throw new ServiceException("耳号已存在:" + sheep.getEarNumber()); - } - sheep.setId(exist.getId()); + failure++; + failureMsg.append("
第") + .append(i + 1) + .append("行:耳号已存在【") + .append(sheep.getEarNumber()) + .append("】"); + continue; + } + + /* 4. 插入或更新 */ + if (updateSupport && sheep.getId() != null) { sheep.setUpdateBy(operName); updateScAddSheep(sheep); } else { @@ -156,7 +140,10 @@ public class ScAddSheepServiceImpl implements IScAddSheepService { success++; } catch (Exception e) { failure++; - failureMsg.append("
第").append(i + 1).append("行:").append(e.getMessage()); + failureMsg.append("
第") + .append(i + 1) + .append("行:") + .append(e.getMessage()); } } diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/trans_group/controller/ScTransGroupController.java b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/trans_group/controller/ScTransGroupController.java index 44b8ccf..3c303ff 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/trans_group/controller/ScTransGroupController.java +++ b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/trans_group/controller/ScTransGroupController.java @@ -25,14 +25,13 @@ import com.zhyc.common.core.page.TableDataInfo; /** * 转群记录Controller - * + * * @author ruoyi * @date 2025-07-10 */ @RestController @RequestMapping("produce/manage_sheep/trans_group") -public class ScTransGroupController extends BaseController -{ +public class ScTransGroupController extends BaseController { @Autowired private IScTransGroupService scTransGroupService; @@ -41,8 +40,7 @@ public class ScTransGroupController extends BaseController */ @PreAuthorize("@ss.hasPermi('produce:trans_group:list')") @GetMapping("/list") - public TableDataInfo list(ScTransGroup scTransGroup) - { + public TableDataInfo list(ScTransGroup scTransGroup) { startPage(); List list = scTransGroupService.selectScTransGroupList(scTransGroup); return getDataTable(list); @@ -65,8 +63,7 @@ public class ScTransGroupController extends BaseController */ @PreAuthorize("@ss.hasPermi('produce:trans_group:query')") @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Integer id) - { + public AjaxResult getInfo(@PathVariable("id") Integer id) { return success(scTransGroupService.selectScTransGroupById(id)); } @@ -76,8 +73,7 @@ public class ScTransGroupController extends BaseController @PreAuthorize("@ss.hasPermi('produce:trans_group:add')") @Log(title = "转群记录", businessType = BusinessType.INSERT) @PostMapping - public AjaxResult add(@RequestBody ScTransGroup scTransGroup) - { + public AjaxResult add(@RequestBody ScTransGroup scTransGroup) { return toAjax(scTransGroupService.insertScTransGroup(scTransGroup)); } @@ -87,8 +83,7 @@ public class ScTransGroupController extends BaseController @PreAuthorize("@ss.hasPermi('produce:trans_group:edit')") @Log(title = "转群记录", businessType = BusinessType.UPDATE) @PutMapping - public AjaxResult edit(@RequestBody ScTransGroup scTransGroup) - { + public AjaxResult edit(@RequestBody ScTransGroup scTransGroup) { return toAjax(scTransGroupService.updateScTransGroup(scTransGroup)); } @@ -98,8 +93,7 @@ public class ScTransGroupController extends BaseController @PreAuthorize("@ss.hasPermi('produce:trans_group:remove')") @Log(title = "转群记录", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Integer[] ids) - { + public AjaxResult remove(@PathVariable Integer[] ids) { return toAjax(scTransGroupService.deleteScTransGroupByIds(ids)); } } diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/trans_group/domain/ScTransGroup.java b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/trans_group/domain/ScTransGroup.java index 8ae62eb..5c23503 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/trans_group/domain/ScTransGroup.java +++ b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/trans_group/domain/ScTransGroup.java @@ -11,39 +11,61 @@ import org.springframework.beans.factory.annotation.Autowired; /** * 转群记录对象 sc_trans_group - * + * * @author ruoyi * @date 2025-07-10 */ @Data @AllArgsConstructor @NoArgsConstructor -public class ScTransGroup extends BaseEntity -{ +public class ScTransGroup extends BaseEntity { private static final long serialVersionUID = 1L; - /** $column.columnComment */ + /** + * $column.columnComment + */ private Integer id; - /** 羊只id */ + /** + * 羊只id + */ @Excel(name = "羊只id") private Integer sheepId; - /** 转入羊舍 */ + /** + * 转入羊舍 + */ private String foldTo; - /** 转出羊舍 */ + /** + * 转出羊舍 + */ private String foldFrom; - /** 转出羊舍名称 */ + /** + * 转出羊舍名称 + */ @Excel(name = "转出羊舍") private String foldFromName; - /** 转入羊舍名称 */ + /** + * 转入羊舍名称 + */ @Excel(name = "转入羊舍") private String foldToName; /** 转群原因 */ + /** + * 品种id + */ + private Long varietyId; + + /** + * 品种名称(联表查询返回,非数据库字段) + */ + @Excel(name = "品种") + private String varietyName; + /** 品种id */ private Long varietyId; @@ -52,25 +74,34 @@ public class ScTransGroup extends BaseEntity private String varietyName; private Integer reason; - /** 转群原因描述 用于导出*/ + /** + * 转群原因描述 用于导出 + */ @Excel(name = "转群原因") private String reasonText; - /** 技术员 */ + /** + * 技术员 + */ @Excel(name = "技术员") private String technician; - /** 状态 */ + /** + * 状态 + */ private Integer status; - /** 状态描述 用于导出*/ + /** + * 状态描述 用于导出 + */ @Excel(name = "状态") private String statusText; - /** 备注 */ + /** + * 备注 + */ @Excel(name = "备注") private String comment; - } diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/trans_group/mapper/ScTransGroupMapper.java b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/trans_group/mapper/ScTransGroupMapper.java index 288f672..3e4820e 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/trans_group/mapper/ScTransGroupMapper.java +++ b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/trans_group/mapper/ScTransGroupMapper.java @@ -1,19 +1,19 @@ package com.zhyc.module.produce.manage_sheep.trans_group.mapper; import java.util.List; + import com.zhyc.module.produce.manage_sheep.trans_group.domain.ScTransGroup; /** * 转群记录Mapper接口 - * + * * @author ruoyi * @date 2025-07-10 */ -public interface ScTransGroupMapper -{ +public interface ScTransGroupMapper { /** * 查询转群记录 - * + * * @param id 转群记录主键 * @return 转群记录 */ @@ -21,7 +21,7 @@ public interface ScTransGroupMapper /** * 查询转群记录列表 - * + * * @param scTransGroup 转群记录 * @return 转群记录集合 */ @@ -29,7 +29,7 @@ public interface ScTransGroupMapper /** * 新增转群记录 - * + * * @param scTransGroup 转群记录 * @return 结果 */ @@ -37,7 +37,7 @@ public interface ScTransGroupMapper /** * 修改转群记录 - * + * * @param scTransGroup 转群记录 * @return 结果 */ @@ -45,7 +45,7 @@ public interface ScTransGroupMapper /** * 删除转群记录 - * + * * @param id 转群记录主键 * @return 结果 */ @@ -53,7 +53,7 @@ public interface ScTransGroupMapper /** * 批量删除转群记录 - * + * * @param ids 需要删除的数据主键集合 * @return 结果 */ diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/trans_group/service/IScTransGroupService.java b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/trans_group/service/IScTransGroupService.java index 2e249f5..a5053db 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/trans_group/service/IScTransGroupService.java +++ b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/trans_group/service/IScTransGroupService.java @@ -1,19 +1,19 @@ package com.zhyc.module.produce.manage_sheep.trans_group.service; import java.util.List; + import com.zhyc.module.produce.manage_sheep.trans_group.domain.ScTransGroup; /** * 转群记录Service接口 - * + * * @author ruoyi * @date 2025-07-10 */ -public interface IScTransGroupService -{ +public interface IScTransGroupService { /** * 查询转群记录 - * + * * @param id 转群记录主键 * @return 转群记录 */ @@ -21,7 +21,7 @@ public interface IScTransGroupService /** * 查询转群记录列表 - * + * * @param scTransGroup 转群记录 * @return 转群记录集合 */ @@ -29,7 +29,7 @@ public interface IScTransGroupService /** * 新增转群记录 - * + * * @param scTransGroup 转群记录 * @return 结果 */ @@ -37,7 +37,7 @@ public interface IScTransGroupService /** * 修改转群记录 - * + * * @param scTransGroup 转群记录 * @return 结果 */ @@ -45,7 +45,7 @@ public interface IScTransGroupService /** * 批量删除转群记录 - * + * * @param ids 需要删除的转群记录主键集合 * @return 结果 */ @@ -53,7 +53,7 @@ public interface IScTransGroupService /** * 删除转群记录信息 - * + * * @param id 转群记录主键 * @return 结果 */ diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/transition_info/domain/ScTransitionInfo.java b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/transition_info/domain/ScTransitionInfo.java index bce520a..419d406 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/transition_info/domain/ScTransitionInfo.java +++ b/zhyc-module/src/main/java/com/zhyc/module/produce/manage_sheep/transition_info/domain/ScTransitionInfo.java @@ -10,45 +10,76 @@ import com.zhyc.common.core.domain.BaseEntity; /** * 转场对象 sc_transition_info - * + * * @author ruoyi * @date 2025-07-10 */ @Data @AllArgsConstructor @NoArgsConstructor -public class ScTransitionInfo extends BaseEntity -{ +public class ScTransitionInfo extends BaseEntity { private static final long serialVersionUID = 1L; - /** */ + /** + * + */ private Integer id; - /** 羊只id */ + /** + * 羊只id + */ @Excel(name = "羊只id") private Integer sheepId; - /** 转入牧场 */ + /** + * 品种id + */ + private Long varietyId; + + /** + * 品种名称(联表返回,非数据库字段) + */ + @Excel(name = "品种") + private String varietyName; + + /** + * 转入牧场 + */ @Excel(name = "转入牧场") private String transTo; - /** 当前牧场 */ + /** + * 当前牧场 + */ @Excel(name = "当前牧场") private String transFrom; - /** 转场类型 */ - @Excel(name = "转场类型") + /** + * 转场类型 + */ private Integer transType; - /** 技术员 */ + /** + * 转场类型名称 只用于导出 + */ + @Excel(name = "转场类型") + private String transTypeText; + + /** + * 技术员 + */ @Excel(name = "技术员") private String technician; - /** 状态 */ + /** + * 状态 + */ @Excel(name = "状态") private Integer status; - /** 备注 */ + /** + * 备注 + */ @Excel(name = "备注") private String comment; diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/other/fixHoof/controller/ScFixHoofController.java b/zhyc-module/src/main/java/com/zhyc/module/produce/other/fixHoof/controller/ScFixHoofController.java index fe6de0d..4fabe07 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/produce/other/fixHoof/controller/ScFixHoofController.java +++ b/zhyc-module/src/main/java/com/zhyc/module/produce/other/fixHoof/controller/ScFixHoofController.java @@ -77,9 +77,9 @@ public class ScFixHoofController extends BaseController @PreAuthorize("@ss.hasPermi('produce:fixHoof:add')") @Log(title = "修蹄", businessType = BusinessType.INSERT) @PostMapping - public AjaxResult add(@RequestBody ScFixHoof scFixHoof) - { - return toAjax(scFixHoofService.insertScFixHoof(scFixHoof)); + public AjaxResult add(@RequestBody ScFixHoof dto){ + dto.setSheepId(scFixHoofService.findIdByManageTags(dto.getManageTags()).intValue()); + return toAjax(scFixHoofService.insertScFixHoof(dto)); } /** @@ -88,9 +88,9 @@ public class ScFixHoofController extends BaseController @PreAuthorize("@ss.hasPermi('produce:fixHoof:edit')") @Log(title = "修蹄", businessType = BusinessType.UPDATE) @PutMapping - public AjaxResult edit(@RequestBody ScFixHoof scFixHoof) - { - return toAjax(scFixHoofService.updateScFixHoof(scFixHoof)); + public AjaxResult edit(@RequestBody ScFixHoof dto){ + dto.setSheepId(scFixHoofService.findIdByManageTags(dto.getManageTags()).intValue()); + return toAjax(scFixHoofService.updateScFixHoof(dto)); } /** diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/other/fixHoof/domain/ScFixHoof.java b/zhyc-module/src/main/java/com/zhyc/module/produce/other/fixHoof/domain/ScFixHoof.java index 57bd187..03cd9e3 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/produce/other/fixHoof/domain/ScFixHoof.java +++ b/zhyc-module/src/main/java/com/zhyc/module/produce/other/fixHoof/domain/ScFixHoof.java @@ -25,8 +25,11 @@ public class ScFixHoof extends BaseEntity private Integer id; /** 羊只id */ - @Excel(name = "羊只id") private Integer sheepId; + /** 管理耳号(仅用于接收参数/返回视图,不存库) */ + @Excel(name = "管理耳号") +// @TableField(exist = false) // ← 非数据库字段 + private String manageTags; /** 羊舍id */ private Integer sheepfold; diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/other/fixHoof/mapper/ScFixHoofMapper.java b/zhyc-module/src/main/java/com/zhyc/module/produce/other/fixHoof/mapper/ScFixHoofMapper.java index a5d71a1..e2bea53 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/produce/other/fixHoof/mapper/ScFixHoofMapper.java +++ b/zhyc-module/src/main/java/com/zhyc/module/produce/other/fixHoof/mapper/ScFixHoofMapper.java @@ -1,19 +1,21 @@ package com.zhyc.module.produce.other.fixHoof.mapper; import java.util.List; + import com.zhyc.module.produce.other.fixHoof.domain.ScFixHoof; +import com.zhyc.module.produce.sheep.domain.BasSheep; +import org.apache.ibatis.annotations.Param; /** * 修蹄Mapper接口 - * + * * @author ruoyi * @date 2025-07-10 */ -public interface ScFixHoofMapper -{ +public interface ScFixHoofMapper { /** * 查询修蹄 - * + * * @param id 修蹄主键 * @return 修蹄 */ @@ -21,7 +23,7 @@ public interface ScFixHoofMapper /** * 查询修蹄列表 - * + * * @param scFixHoof 修蹄 * @return 修蹄集合 */ @@ -29,7 +31,7 @@ public interface ScFixHoofMapper /** * 新增修蹄 - * + * * @param scFixHoof 修蹄 * @return 结果 */ @@ -37,7 +39,7 @@ public interface ScFixHoofMapper /** * 修改修蹄 - * + * * @param scFixHoof 修蹄 * @return 结果 */ @@ -45,7 +47,7 @@ public interface ScFixHoofMapper /** * 删除修蹄 - * + * * @param id 修蹄主键 * @return 结果 */ @@ -53,9 +55,11 @@ public interface ScFixHoofMapper /** * 批量删除修蹄 - * + * * @param ids 需要删除的数据主键集合 * @return 结果 */ public int deleteScFixHoofByIds(Integer[] ids); + + } diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/other/fixHoof/service/IScFixHoofService.java b/zhyc-module/src/main/java/com/zhyc/module/produce/other/fixHoof/service/IScFixHoofService.java index 01a2272..11cda69 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/produce/other/fixHoof/service/IScFixHoofService.java +++ b/zhyc-module/src/main/java/com/zhyc/module/produce/other/fixHoof/service/IScFixHoofService.java @@ -58,4 +58,13 @@ public interface IScFixHoofService * @return 结果 */ public int deleteScFixHoofById(Integer id); + + /** + * 根据管理耳号查询 + * @param manageTags + * @return + */ + Long findIdByManageTags(String manageTags); + + } diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/other/fixHoof/service/impl/ScFixHoofServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/produce/other/fixHoof/service/impl/ScFixHoofServiceImpl.java index 5bf5e2a..e60ec7a 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/produce/other/fixHoof/service/impl/ScFixHoofServiceImpl.java +++ b/zhyc-module/src/main/java/com/zhyc/module/produce/other/fixHoof/service/impl/ScFixHoofServiceImpl.java @@ -1,95 +1,119 @@ package com.zhyc.module.produce.other.fixHoof.service.impl; import java.util.List; + +import com.zhyc.common.exception.ServiceException; import com.zhyc.common.utils.DateUtils; +import com.zhyc.common.utils.StringUtils; import com.zhyc.module.produce.other.fixHoof.domain.ScFixHoof; import com.zhyc.module.produce.other.fixHoof.mapper.ScFixHoofMapper; +import com.zhyc.module.produce.sheep.domain.BasSheep; +import com.zhyc.module.produce.sheep.mapper.BasSheepMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.zhyc.module.produce.other.fixHoof.service.IScFixHoofService; +import org.springframework.transaction.annotation.Transactional; /** * 修蹄Service业务层处理 - * + * * @author ruoyi * @date 2025-07-10 */ @Service -public class ScFixHoofServiceImpl implements IScFixHoofService -{ +public class ScFixHoofServiceImpl implements IScFixHoofService { @Autowired private ScFixHoofMapper scFixHoofMapper; + @Autowired + private BasSheepMapper basSheepMapper; + /** * 查询修蹄 - * + * * @param id 修蹄主键 * @return 修蹄 */ @Override - public ScFixHoof selectScFixHoofById(Integer id) - { + public ScFixHoof selectScFixHoofById(Integer id) { return scFixHoofMapper.selectScFixHoofById(id); } /** * 查询修蹄列表 - * + * * @param scFixHoof 修蹄 * @return 修蹄 */ @Override - public List selectScFixHoofList(ScFixHoof scFixHoof) - { + public List selectScFixHoofList(ScFixHoof scFixHoof) { return scFixHoofMapper.selectScFixHoofList(scFixHoof); } /** * 新增修蹄 - * + * * @param scFixHoof 修蹄 * @return 结果 */ @Override - public int insertScFixHoof(ScFixHoof scFixHoof) - { + public int insertScFixHoof(ScFixHoof scFixHoof) { + // 校验羊只是否存在 + BasSheep sheep = basSheepMapper.selectBasSheepById(scFixHoof.getSheepId().longValue()); + if (sheep == null) { + throw new ServiceException("该羊只ID不存在,请检查后再添加"); + } scFixHoof.setCreateTime(DateUtils.getNowDate()); return scFixHoofMapper.insertScFixHoof(scFixHoof); } /** * 修改修蹄 - * + * * @param scFixHoof 修蹄 * @return 结果 */ @Override - public int updateScFixHoof(ScFixHoof scFixHoof) - { + public int updateScFixHoof(ScFixHoof scFixHoof) { return scFixHoofMapper.updateScFixHoof(scFixHoof); } /** * 批量删除修蹄 - * + * * @param ids 需要删除的修蹄主键 * @return 结果 */ @Override - public int deleteScFixHoofByIds(Integer[] ids) - { + public int deleteScFixHoofByIds(Integer[] ids) { return scFixHoofMapper.deleteScFixHoofByIds(ids); } /** * 删除修蹄信息 - * + * * @param id 修蹄主键 * @return 结果 */ @Override - public int deleteScFixHoofById(Integer id) - { + public int deleteScFixHoofById(Integer id) { return scFixHoofMapper.deleteScFixHoofById(id); } + + + /** + * 根据管理耳号查询 + */ + @Override + public Long findIdByManageTags(String manageTags){ + if(StringUtils.isBlank(manageTags)) + throw new ServiceException("管理耳号不能为空"); + BasSheep sheep = basSheepMapper.selectBasSheepByManageTags(manageTags.trim()); + if(sheep == null) + throw new ServiceException("管理耳号不存在:" + manageTags); + return sheep.getId(); + } + + + } diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/sheep/controller/BasSheepController.java b/zhyc-module/src/main/java/com/zhyc/module/produce/sheep/controller/BasSheepController.java index 7efd886..4726cf1 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/produce/sheep/controller/BasSheepController.java +++ b/zhyc-module/src/main/java/com/zhyc/module/produce/sheep/controller/BasSheepController.java @@ -1,20 +1,17 @@ package com.zhyc.module.produce.sheep.controller; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; import com.zhyc.module.produce.sheep.domain.BasSheep; +import com.zhyc.module.produce.sheep.mapper.BasSheepMapper; import com.zhyc.module.produce.sheep.service.IBasSheepService; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import com.zhyc.common.annotation.Log; import com.zhyc.common.core.controller.BaseController; import com.zhyc.common.core.domain.AjaxResult; @@ -35,6 +32,8 @@ public class BasSheepController extends BaseController @Autowired private IBasSheepService basSheepService; + @Autowired + private BasSheepMapper basSheepMapper; /** * 查询羊只基本信息列表 */ @@ -102,4 +101,14 @@ public class BasSheepController extends BaseController { return toAjax(basSheepService.deleteBasSheepByIds(ids)); } + + + @GetMapping("/byManageTags/{manageTags}") + public AjaxResult byManageTags(@PathVariable String manageTags){ + BasSheep sheep = basSheepService.selectBasSheepByManageTags(manageTags.trim()); + return success(sheep); + } + + + } diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/sheep/domain/BasSheep.java b/zhyc-module/src/main/java/com/zhyc/module/produce/sheep/domain/BasSheep.java index 84e2ac6..c75cf31 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/produce/sheep/domain/BasSheep.java +++ b/zhyc-module/src/main/java/com/zhyc/module/produce/sheep/domain/BasSheep.java @@ -38,6 +38,7 @@ public class BasSheep extends BaseEntity /** 羊舍id */ @Excel(name = "羊舍id") private Long sheepfoldId; + private String sheepfoldName; /** 电子耳号 */ @Excel(name = "电子耳号") diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/sheep/mapper/BasSheepMapper.java b/zhyc-module/src/main/java/com/zhyc/module/produce/sheep/mapper/BasSheepMapper.java index e223d22..d31d003 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/produce/sheep/mapper/BasSheepMapper.java +++ b/zhyc-module/src/main/java/com/zhyc/module/produce/sheep/mapper/BasSheepMapper.java @@ -2,6 +2,7 @@ package com.zhyc.module.produce.sheep.mapper; import java.util.List; import com.zhyc.module.produce.sheep.domain.BasSheep; +import org.apache.ibatis.annotations.Param; /** * 羊只基本信息Mapper接口 @@ -58,4 +59,12 @@ public interface BasSheepMapper * @return 结果 */ public int deleteBasSheepByIds(Long[] ids); + + + /** + * 根据管理耳号查询 + */ + BasSheep selectBasSheepByManageTags(String manageTags); + + } diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/sheep/service/IBasSheepService.java b/zhyc-module/src/main/java/com/zhyc/module/produce/sheep/service/IBasSheepService.java index 76efcf7..3d94ce2 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/produce/sheep/service/IBasSheepService.java +++ b/zhyc-module/src/main/java/com/zhyc/module/produce/sheep/service/IBasSheepService.java @@ -58,4 +58,6 @@ public interface IBasSheepService * @return 结果 */ public int deleteBasSheepById(Long id); + + BasSheep selectBasSheepByManageTags(String trim); } diff --git a/zhyc-module/src/main/java/com/zhyc/module/produce/sheep/service/impl/BasSheepServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/produce/sheep/service/impl/BasSheepServiceImpl.java index cdc9cdd..5c4aa1c 100644 --- a/zhyc-module/src/main/java/com/zhyc/module/produce/sheep/service/impl/BasSheepServiceImpl.java +++ b/zhyc-module/src/main/java/com/zhyc/module/produce/sheep/service/impl/BasSheepServiceImpl.java @@ -93,4 +93,10 @@ public class BasSheepServiceImpl implements IBasSheepService { return basSheepMapper.deleteBasSheepById(id); } + + + @Override + public BasSheep selectBasSheepByManageTags(String manageTags){ + return basSheepMapper.selectBasSheepByManageTags(manageTags); + } } diff --git a/zhyc-module/src/main/resources/mapper/dairyProducts/freshMilkTest/NpFreshMilkInspMapper.xml b/zhyc-module/src/main/resources/mapper/dairyProducts/freshMilkTest/NpFreshMilkInspMapper.xml new file mode 100644 index 0000000..399c1cd --- /dev/null +++ b/zhyc-module/src/main/resources/mapper/dairyProducts/freshMilkTest/NpFreshMilkInspMapper.xml @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, source, datetime, fat, protein, non_fat, acidity, bacterial_colony_1, bacterial_colony_2, bacterial_colony_3, bacterial_colony_4, bacterial_colony_5, coli, lactoferrin, ig, commnet, create_by, create_time from np_fresh_milk_insp + + + + + + + + insert into np_fresh_milk_insp + + source, + datetime, + fat, + protein, + non_fat, + acidity, + bacterial_colony_1, + bacterial_colony_2, + bacterial_colony_3, + bacterial_colony_4, + bacterial_colony_5, + coli, + lactoferrin, + ig, + commnet, + create_by, + create_time, + + + #{source}, + #{datetime}, + #{fat}, + #{protein}, + #{nonFat}, + #{acidity}, + #{bacterialColony1}, + #{bacterialColony2}, + #{bacterialColony3}, + #{bacterialColony4}, + #{bacterialColony5}, + #{coli}, + #{lactoferrin}, + #{ig}, + #{commnet}, + #{createBy}, + #{createTime}, + + + + + update np_fresh_milk_insp + + source = #{source}, + datetime = #{datetime}, + fat = #{fat}, + protein = #{protein}, + non_fat = #{nonFat}, + acidity = #{acidity}, + bacterial_colony_1 = #{bacterialColony1}, + bacterial_colony_2 = #{bacterialColony2}, + bacterial_colony_3 = #{bacterialColony3}, + bacterial_colony_4 = #{bacterialColony4}, + bacterial_colony_5 = #{bacterialColony5}, + coli = #{coli}, + lactoferrin = #{lactoferrin}, + ig = #{ig}, + commnet = #{commnet}, + create_by = #{createBy}, + create_time = #{createTime}, + + where id = #{id} + + + + delete from np_fresh_milk_insp where id = #{id} + + + + delete from np_fresh_milk_insp where id in + + #{id} + + + \ No newline at end of file diff --git a/zhyc-module/src/main/resources/mapper/dairyProducts/yogurtTest/NpYogurtInspMapper.xml b/zhyc-module/src/main/resources/mapper/dairyProducts/yogurtTest/NpYogurtInspMapper.xml new file mode 100644 index 0000000..f1aa3c7 --- /dev/null +++ b/zhyc-module/src/main/resources/mapper/dairyProducts/yogurtTest/NpYogurtInspMapper.xml @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, source, datetime, fat, protein, non_fat, acidity, bacterial_colony_1, bacterial_clony_2, bacterial_clony_3, bacterial_clony_4, bacterial_clony_5, yeast, mould, lacto, comment, create_by, create_time from np_yogurt_insp + + + + + + + + insert into np_yogurt_insp + + source, + datetime, + fat, + protein, + non_fat, + acidity, + bacterial_colony_1, + bacterial_clony_2, + bacterial_clony_3, + bacterial_clony_4, + bacterial_clony_5, + yeast, + mould, + lacto, + comment, + create_by, + create_time, + + + #{source}, + #{datetime}, + #{fat}, + #{protein}, + #{nonFat}, + #{acidity}, + #{bacterialColony1}, + #{bacterialClony2}, + #{bacterialClony3}, + #{bacterialClony4}, + #{bacterialClony5}, + #{yeast}, + #{mould}, + #{lacto}, + #{comment}, + #{createBy}, + #{createTime}, + + + + + update np_yogurt_insp + + source = #{source}, + datetime = #{datetime}, + fat = #{fat}, + protein = #{protein}, + non_fat = #{nonFat}, + acidity = #{acidity}, + bacterial_colony_1 = #{bacterialColony1}, + bacterial_clony_2 = #{bacterialClony2}, + bacterial_clony_3 = #{bacterialClony3}, + bacterial_clony_4 = #{bacterialClony4}, + bacterial_clony_5 = #{bacterialClony5}, + yeast = #{yeast}, + mould = #{mould}, + lacto = #{lacto}, + comment = #{comment}, + create_by = #{createBy}, + create_time = #{createTime}, + + where id = #{id} + + + + delete from np_yogurt_insp where id = #{id} + + + + delete from np_yogurt_insp where id in + + #{id} + + + \ No newline at end of file diff --git a/zhyc-module/src/main/resources/mapper/fileManagement/BasSheepGroupMappingMapper.xml b/zhyc-module/src/main/resources/mapper/fileManagement/BasSheepGroupMappingMapper.xml index ef8d1de..f67f033 100644 --- a/zhyc-module/src/main/resources/mapper/fileManagement/BasSheepGroupMappingMapper.xml +++ b/zhyc-module/src/main/resources/mapper/fileManagement/BasSheepGroupMappingMapper.xml @@ -14,13 +14,57 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select id, sheep_id, group_id from bas_sheep_group_mapping - + + SELECT + m.id, + m.sheep_id, + m.group_id, + s.id AS bs_sheep_id, + s.bs_manage_tags, + s.variety, + s.gender, + s.name, + s.birthday, + s.parity, + s.month_age, + s.breed, + s.birth_weight, + s.weaning_weight, + s.current_weight, + s.father_manage_tags, + s.mother_manage_tags, + s.family + FROM bas_sheep_group_mapping m + JOIN sheep_file s ON s.id = m.sheep_id + + AND m.sheep_id = #{sheepId} + AND m.group_id = #{groupId} + + AND s.bs_manage_tags IN + + #{bsManageTag} + + + ORDER BY m.id + + + + + + - - and sheep_id = #{sheepId} - and trans_to = #{transTo} - and trans_from = #{transFrom} - and status = #{status} - and create_time between #{params.beginCreateTime} and #{params.endCreateTime} + + and sheep_id = #{sheepId} + and t.variety_id = #{varietyId} + and trans_to = #{transTo} + and trans_from = #{transFrom} + and status = #{status} + + and create_time between #{params.beginCreateTime} and #{params.endCreateTime} + - + insert into sc_transition_info sheep_id, + variety_id, trans_to, trans_from, trans_type, @@ -48,9 +63,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" comment, create_by, create_time, - + #{sheepId}, + #{varietyId}, #{transTo}, #{transFrom}, #{transType}, @@ -59,13 +75,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{comment}, #{createBy}, #{createTime}, - + update sc_transition_info sheep_id = #{sheepId}, + variety_id = #{varietyId}, trans_to = #{transTo}, trans_from = #{transFrom}, trans_type = #{transType}, @@ -79,11 +96,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from sc_transition_info where id = #{id} + delete + from sc_transition_info + where id = #{id} - delete from sc_transition_info where id in + delete from sc_transition_info where id in #{id} diff --git a/zhyc-module/src/main/resources/mapper/produce/other/fixHoof/ScFixHoofMapper.xml b/zhyc-module/src/main/resources/mapper/produce/other/fixHoof/ScFixHoofMapper.xml index d3e7661..3ec4178 100644 --- a/zhyc-module/src/main/resources/mapper/produce/other/fixHoof/ScFixHoofMapper.xml +++ b/zhyc-module/src/main/resources/mapper/produce/other/fixHoof/ScFixHoofMapper.xml @@ -8,7 +8,6 @@ - @@ -21,15 +20,12 @@ fh.sheep_id, fh.sheepfold, sf.sheepfold_name as sheepfoldName, - fh.variety_id, - bv.variety as varietyName, fh.comment, fh.technician, fh.create_by, fh.create_time from sc_fix_hoof fh left join da_sheepfold sf on fh.sheepfold = sf.id - left join bas_sheep_variety bv on fh.variety_id = bv.id - - INSERT INTO sc_fix_hoof - (sheep_id, - sheepfold, - variety_id, - comment, - technician, - create_by, - create_time) - VALUES - (#{sheepId}, - #{sheepfold}, - #{varietyId}, - #{comment}, - #{technician}, - #{createBy}, - #{createTime}) + + insert into sc_fix_hoof + + and fh.sheep_id like concat('%', #{sheepId}, '%') + and fh.sheepfold = #{sheepfold} + comment, + technician, + create_by, + create_time, + + + #{sheepId}, + #{sheepfold}, + #{comment}, + #{technician}, + #{createBy}, + #{createTime}, + @@ -76,7 +69,6 @@ sheep_id = #{sheepId}, sheepfold = #{sheepfold}, - variety_id=#{varietyId}, comment = #{comment}, technician = #{technician}, create_by = #{createBy}, diff --git a/zhyc-module/src/main/resources/mapper/produce/sheep/BasSheepMapper.xml b/zhyc-module/src/main/resources/mapper/produce/sheep/BasSheepMapper.xml index 18ece91..de4fe9f 100644 --- a/zhyc-module/src/main/resources/mapper/produce/sheep/BasSheepMapper.xml +++ b/zhyc-module/src/main/resources/mapper/produce/sheep/BasSheepMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -53,7 +53,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - + SELECT s.id, + s.sheepfold_id AS sheepfoldId, + sf.sheepfold_name AS sheepfoldName, + s.variety_id AS varietyId, + bv.variety AS varietyName + FROM bas_sheep s + LEFT JOIN da_sheepfold sf ON s.sheepfold_id = sf.id + LEFT JOIN bas_sheep_variety bv ON s.variety_id = bv.id + WHERE s.id = #{id} + + + @@ -234,9 +249,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from bas_sheep where id in + delete from bas_sheep where id in #{id} + + \ No newline at end of file