diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecord/vo/FarmingRecordSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecord/vo/FarmingRecordSaveReqVO.java index 02b73667..5992d96e 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecord/vo/FarmingRecordSaveReqVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecord/vo/FarmingRecordSaveReqVO.java @@ -1,9 +1,9 @@ package cn.iocoder.yudao.module.farm.controller.admin.farmingrecord.vo; +import cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecordinput.FarmingRecordInputDO; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; +import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import java.util.List; @@ -65,4 +65,5 @@ public class FarmingRecordSaveReqVO { @Schema(description = "租户id", example = "23744") private String tenantId; + private List investGoodsList; } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperation/vo/ModelFarmingOperationSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperation/vo/ModelFarmingOperationSaveReqVO.java index 4685a7e3..d30e879c 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperation/vo/ModelFarmingOperationSaveReqVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperation/vo/ModelFarmingOperationSaveReqVO.java @@ -1,7 +1,10 @@ package cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperation.vo; +import cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperationinput.ModelFarmingOperationInputDO; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; +import lombok.Data; + +import java.util.List; @Schema(description = "管理后台 - 模型管理-农事操作新增/修改 Request VO") @Data @@ -46,4 +49,5 @@ public class ModelFarmingOperationSaveReqVO { @Schema(description = "租户id", example = "31485") private String tenantId; + private List investGoodsList; } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/vo/ModelFarmingOperationInputPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/vo/ModelFarmingOperationInputPageReqVO.java index 30d9a452..05a05a29 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/vo/ModelFarmingOperationInputPageReqVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/vo/ModelFarmingOperationInputPageReqVO.java @@ -50,5 +50,6 @@ public class ModelFarmingOperationInputPageReqVO extends PageParam { @Schema(description = "租户id", example = "3440") private String tenantId; - + private String assetType; + private String packageUnit; } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/vo/ModelFarmingOperationInputRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/vo/ModelFarmingOperationInputRespVO.java index 0207bda7..f8abcbd7 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/vo/ModelFarmingOperationInputRespVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/vo/ModelFarmingOperationInputRespVO.java @@ -1,68 +1,69 @@ -package cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperationinput.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; - -import java.math.BigDecimal; -import org.springframework.format.annotation.DateTimeFormat; -import java.time.LocalDateTime; -import cn.idev.excel.annotation.*; - -@Schema(description = "管理后台 - 模型管理-农事操作-已选择投入品列 Response VO") -@Data -@ExcelIgnoreUnannotated -public class ModelFarmingOperationInputRespVO { - - @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13911") - @ExcelProperty("基础id") - private String id; - - @Schema(description = "农事id", example = "26361") - @ExcelProperty("农事id") - private String farmingId; - - @Schema(description = "投入品id", example = "5852") - @ExcelProperty("投入品id") - private String inputsId; - - @Schema(description = "用量") - @ExcelProperty("用量") - private BigDecimal dose; - - @Schema(description = "单位") - @ExcelProperty("单位") - private String unit; - - @Schema(description = "稀释倍液") - @ExcelProperty("稀释倍液") - private String diluted; - - @Schema(description = "用法") - @ExcelProperty("用法") - private String usage; - - @Schema(description = "创建时间") - @ExcelProperty("创建时间") - private LocalDateTime createTime; - - @Schema(description = "基地id", example = "21363") - @ExcelProperty("基地id") - private String baseId; - - @Schema(description = "基地", example = "李四") - @ExcelProperty("基地") - private String baseName; - - @Schema(description = "地块ID", example = "26067") - @ExcelProperty("地块ID") - private String plotId; - - @Schema(description = "地块", example = "张三") - @ExcelProperty("地块") - private String plotName; - - @Schema(description = "租户id", example = "3440") - @ExcelProperty("租户id") - private String tenantId; - -} \ No newline at end of file +package cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperationinput.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 模型管理-农事操作-已选择投入品列 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ModelFarmingOperationInputRespVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13911") + @ExcelProperty("基础id") + private String id; + + @Schema(description = "农事id", example = "26361") + @ExcelProperty("农事id") + private String farmingId; + + @Schema(description = "投入品id", example = "5852") + @ExcelProperty("投入品id") + private String inputsId; + + @Schema(description = "用量") + @ExcelProperty("用量") + private BigDecimal dose; + + @Schema(description = "单位") + @ExcelProperty("单位") + private String unit; + + @Schema(description = "稀释倍液") + @ExcelProperty("稀释倍液") + private String diluted; + + @Schema(description = "用法") + @ExcelProperty("用法") + private String usage; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "基地id", example = "21363") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "李四") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "26067") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "张三") + @ExcelProperty("地块") + private String plotName; + + @Schema(description = "租户id", example = "3440") + @ExcelProperty("租户id") + private String tenantId; + private String assetType; + private String packageUnit; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/vo/ModelFarmingOperationInputSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/vo/ModelFarmingOperationInputSaveReqVO.java index 12f84274..b91ca278 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/vo/ModelFarmingOperationInputSaveReqVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/vo/ModelFarmingOperationInputSaveReqVO.java @@ -44,5 +44,6 @@ public class ModelFarmingOperationInputSaveReqVO { @Schema(description = "租户id", example = "3440") private String tenantId; - + private String assetType; + private String packageUnit; } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingrecord/FarmingRecordDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingrecord/FarmingRecordDO.java index a46a4aa3..4aaf07ec 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingrecord/FarmingRecordDO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingrecord/FarmingRecordDO.java @@ -1,14 +1,13 @@ package cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecord; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecordinput.FarmingRecordInputDO; +import cn.iocoder.yudao.module.farm.framework.util.ImageCollectionUtil; +import com.baomidou.mybatisplus.annotation.*; import lombok.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; import java.time.LocalDateTime; import java.util.List; -import com.baomidou.mybatisplus.annotation.*; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import cn.iocoder.yudao.module.farm.framework.util.ImageCollectionUtil; /** * 种植中心-农事基地-农事记录 DO @@ -100,6 +99,8 @@ public class FarmingRecordDO extends BaseDO { private String plotName; private String tenantId; + @TableField(exist = false) + private List investGoodsList; /** * 获取执行反馈图片URL集合 diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingrecordinput/FarmingRecordInputDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingrecordinput/FarmingRecordInputDO.java index a47d3dc1..7c7f79c2 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingrecordinput/FarmingRecordInputDO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingrecordinput/FarmingRecordInputDO.java @@ -1,13 +1,10 @@ package cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecordinput; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.*; import lombok.*; import java.math.BigDecimal; -import java.math.BigDecimal; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import com.baomidou.mybatisplus.annotation.*; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; /** * 种植中心-农事基地-农事记录-投入品 DO diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelfarmingoperation/ModelFarmingOperationDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelfarmingoperation/ModelFarmingOperationDO.java index dde844b9..2d8bd376 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelfarmingoperation/ModelFarmingOperationDO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelfarmingoperation/ModelFarmingOperationDO.java @@ -1,9 +1,12 @@ package cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperation; +import cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperationinput.ModelFarmingOperationInputDO; import lombok.*; import java.time.LocalDateTime; import java.time.LocalDateTime; +import java.util.List; + import com.baomidou.mybatisplus.annotation.*; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; @@ -73,4 +76,6 @@ public class ModelFarmingOperationDO extends BaseDO { private String plotName; private String tenantId; + + private List investGoodsList; } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelfarmingoperationinput/ModelFarmingOperationInputDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelfarmingoperationinput/ModelFarmingOperationInputDO.java index 46dbe198..9070dc55 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelfarmingoperationinput/ModelFarmingOperationInputDO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelfarmingoperationinput/ModelFarmingOperationInputDO.java @@ -71,4 +71,8 @@ public class ModelFarmingOperationInputDO extends BaseDO { private String plotName; private String tenantId; + + + private String assetType; + private String packageUnit; } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecord/FarmingRecordServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecord/FarmingRecordServiceImpl.java index fd2e0335..19a88bea 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecord/FarmingRecordServiceImpl.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecord/FarmingRecordServiceImpl.java @@ -8,7 +8,7 @@ import cn.iocoder.yudao.module.farm.controller.admin.farmingrecord.vo.FarmingRec import cn.iocoder.yudao.module.farm.controller.admin.farmingrecord.vo.FarmingRecordSaveReqVO; import cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecord.FarmingRecordDO; import cn.iocoder.yudao.module.farm.dal.mysql.farmingrecord.FarmingRecordMapper; -import cn.iocoder.yudao.module.farm.framework.util.ImageCollectionUtil; +import cn.iocoder.yudao.module.farm.dal.mysql.farmingrecordinput.FarmingRecordInputMapper; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -30,6 +30,8 @@ public class FarmingRecordServiceImpl implements FarmingRecordService { @Resource private FarmingRecordMapper farmingRecordMapper; + @Resource + private FarmingRecordInputMapper farmingRecordInputMapper; @Override public String createFarmingRecord(FarmingRecordSaveReqVO createReqVO) { @@ -38,12 +40,17 @@ public class FarmingRecordServiceImpl implements FarmingRecordService { FarmingRecordDO farmingRecord = BeanUtils.toBean(createReqVO, FarmingRecordDO.class); farmingRecord.setId(IdUtil.fastUUID()); farmingRecord.setTenantId(String.valueOf(user.getTenantId())); - + // 处理图片集合转换 handleImageConversion(farmingRecord, createReqVO); - - farmingRecordMapper.insert(farmingRecord); + //投入品集合单条保存 + createReqVO.getInvestGoodsList().forEach(e -> { + e.setId(IdUtil.fastUUID()); + e.setFarmRecordId(farmingRecord.getId()); + farmingRecordInputMapper.insert(e); + }); + farmingRecordMapper.insert(farmingRecord); // 返回 return farmingRecord.getId(); } @@ -54,10 +61,10 @@ public class FarmingRecordServiceImpl implements FarmingRecordService { validateFarmingRecordExists(updateReqVO.getId()); // 更新 FarmingRecordDO updateObj = BeanUtils.toBean(updateReqVO, FarmingRecordDO.class); - + // 处理图片集合转换 handleImageConversion(updateObj, updateReqVO); - + farmingRecordMapper.updateById(updateObj); } @@ -75,7 +82,7 @@ public class FarmingRecordServiceImpl implements FarmingRecordService { farmingRecordMapper.deleteByIds(ids); } -private void validateFarmingRecordExists(String id) { + private void validateFarmingRecordExists(String id) { if (farmingRecordMapper.selectById(id) == null) { throw exception(FARMING_RECORD_NOT_EXISTS); }