farm模块-投入品集合新增

This commit is contained in:
顾君禹
2025-08-25 16:39:01 +08:00
parent aaed30fca7
commit 632b9c9048
10 changed files with 112 additions and 90 deletions

View File

@@ -1,9 +1,9 @@
package cn.iocoder.yudao.module.farm.controller.admin.farmingrecord.vo; 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 io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@@ -65,4 +65,5 @@ public class FarmingRecordSaveReqVO {
@Schema(description = "租户id", example = "23744") @Schema(description = "租户id", example = "23744")
private String tenantId; private String tenantId;
private List<FarmingRecordInputDO> investGoodsList;
} }

View File

@@ -1,7 +1,10 @@
package cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperation.vo; 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 io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.Data;
import java.util.List;
@Schema(description = "管理后台 - 模型管理-农事操作新增/修改 Request VO") @Schema(description = "管理后台 - 模型管理-农事操作新增/修改 Request VO")
@Data @Data
@@ -46,4 +49,5 @@ public class ModelFarmingOperationSaveReqVO {
@Schema(description = "租户id", example = "31485") @Schema(description = "租户id", example = "31485")
private String tenantId; private String tenantId;
private List<ModelFarmingOperationInputDO> investGoodsList;
} }

View File

@@ -50,5 +50,6 @@ public class ModelFarmingOperationInputPageReqVO extends PageParam {
@Schema(description = "租户id", example = "3440") @Schema(description = "租户id", example = "3440")
private String tenantId; private String tenantId;
private String assetType;
private String packageUnit;
} }

View File

@@ -1,68 +1,69 @@
package cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperationinput.vo; package cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperationinput.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import cn.idev.excel.annotation.*; import cn.idev.excel.annotation.*;
@Schema(description = "管理后台 - 模型管理-农事操作-已选择投入品列 Response VO") @Schema(description = "管理后台 - 模型管理-农事操作-已选择投入品列 Response VO")
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
public class ModelFarmingOperationInputRespVO { public class ModelFarmingOperationInputRespVO {
@Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13911") @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13911")
@ExcelProperty("基础id") @ExcelProperty("基础id")
private String id; private String id;
@Schema(description = "农事id", example = "26361") @Schema(description = "农事id", example = "26361")
@ExcelProperty("农事id") @ExcelProperty("农事id")
private String farmingId; private String farmingId;
@Schema(description = "投入品id", example = "5852") @Schema(description = "投入品id", example = "5852")
@ExcelProperty("投入品id") @ExcelProperty("投入品id")
private String inputsId; private String inputsId;
@Schema(description = "用量") @Schema(description = "用量")
@ExcelProperty("用量") @ExcelProperty("用量")
private BigDecimal dose; private BigDecimal dose;
@Schema(description = "单位") @Schema(description = "单位")
@ExcelProperty("单位") @ExcelProperty("单位")
private String unit; private String unit;
@Schema(description = "稀释倍液") @Schema(description = "稀释倍液")
@ExcelProperty("稀释倍液") @ExcelProperty("稀释倍液")
private String diluted; private String diluted;
@Schema(description = "用法") @Schema(description = "用法")
@ExcelProperty("用法") @ExcelProperty("用法")
private String usage; private String usage;
@Schema(description = "创建时间") @Schema(description = "创建时间")
@ExcelProperty("创建时间") @ExcelProperty("创建时间")
private LocalDateTime createTime; private LocalDateTime createTime;
@Schema(description = "基地id", example = "21363") @Schema(description = "基地id", example = "21363")
@ExcelProperty("基地id") @ExcelProperty("基地id")
private String baseId; private String baseId;
@Schema(description = "基地", example = "李四") @Schema(description = "基地", example = "李四")
@ExcelProperty("基地") @ExcelProperty("基地")
private String baseName; private String baseName;
@Schema(description = "地块ID", example = "26067") @Schema(description = "地块ID", example = "26067")
@ExcelProperty("地块ID") @ExcelProperty("地块ID")
private String plotId; private String plotId;
@Schema(description = "地块", example = "张三") @Schema(description = "地块", example = "张三")
@ExcelProperty("地块") @ExcelProperty("地块")
private String plotName; private String plotName;
@Schema(description = "租户id", example = "3440") @Schema(description = "租户id", example = "3440")
@ExcelProperty("租户id") @ExcelProperty("租户id")
private String tenantId; private String tenantId;
private String assetType;
} private String packageUnit;
}

View File

@@ -44,5 +44,6 @@ public class ModelFarmingOperationInputSaveReqVO {
@Schema(description = "租户id", example = "3440") @Schema(description = "租户id", example = "3440")
private String tenantId; private String tenantId;
private String assetType;
private String packageUnit;
} }

View File

@@ -1,14 +1,13 @@
package cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecord; 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 lombok.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; 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 * 种植中心-农事基地-农事记录 DO
@@ -100,6 +99,8 @@ public class FarmingRecordDO extends BaseDO {
private String plotName; private String plotName;
private String tenantId; private String tenantId;
@TableField(exist = false)
private List<FarmingRecordInputDO> investGoodsList;
/** /**
* 获取执行反馈图片URL集合 * 获取执行反馈图片URL集合

View File

@@ -1,13 +1,10 @@
package cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecordinput; 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 lombok.*;
import java.math.BigDecimal; 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 * 种植中心-农事基地-农事记录-投入品 DO

View File

@@ -1,9 +1,12 @@
package cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperation; package cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperation;
import cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperationinput.ModelFarmingOperationInputDO;
import lombok.*; import lombok.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
@@ -73,4 +76,6 @@ public class ModelFarmingOperationDO extends BaseDO {
private String plotName; private String plotName;
private String tenantId; private String tenantId;
private List<ModelFarmingOperationInputDO> investGoodsList;
} }

View File

@@ -71,4 +71,8 @@ public class ModelFarmingOperationInputDO extends BaseDO {
private String plotName; private String plotName;
private String tenantId; private String tenantId;
private String assetType;
private String packageUnit;
} }

View File

@@ -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.controller.admin.farmingrecord.vo.FarmingRecordSaveReqVO;
import cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecord.FarmingRecordDO; 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.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 jakarta.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@@ -30,6 +30,8 @@ public class FarmingRecordServiceImpl implements FarmingRecordService {
@Resource @Resource
private FarmingRecordMapper farmingRecordMapper; private FarmingRecordMapper farmingRecordMapper;
@Resource
private FarmingRecordInputMapper farmingRecordInputMapper;
@Override @Override
public String createFarmingRecord(FarmingRecordSaveReqVO createReqVO) { public String createFarmingRecord(FarmingRecordSaveReqVO createReqVO) {
@@ -38,12 +40,17 @@ public class FarmingRecordServiceImpl implements FarmingRecordService {
FarmingRecordDO farmingRecord = BeanUtils.toBean(createReqVO, FarmingRecordDO.class); FarmingRecordDO farmingRecord = BeanUtils.toBean(createReqVO, FarmingRecordDO.class);
farmingRecord.setId(IdUtil.fastUUID()); farmingRecord.setId(IdUtil.fastUUID());
farmingRecord.setTenantId(String.valueOf(user.getTenantId())); farmingRecord.setTenantId(String.valueOf(user.getTenantId()));
// 处理图片集合转换 // 处理图片集合转换
handleImageConversion(farmingRecord, createReqVO); 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(); return farmingRecord.getId();
} }
@@ -54,10 +61,10 @@ public class FarmingRecordServiceImpl implements FarmingRecordService {
validateFarmingRecordExists(updateReqVO.getId()); validateFarmingRecordExists(updateReqVO.getId());
// 更新 // 更新
FarmingRecordDO updateObj = BeanUtils.toBean(updateReqVO, FarmingRecordDO.class); FarmingRecordDO updateObj = BeanUtils.toBean(updateReqVO, FarmingRecordDO.class);
// 处理图片集合转换 // 处理图片集合转换
handleImageConversion(updateObj, updateReqVO); handleImageConversion(updateObj, updateReqVO);
farmingRecordMapper.updateById(updateObj); farmingRecordMapper.updateById(updateObj);
} }
@@ -75,7 +82,7 @@ public class FarmingRecordServiceImpl implements FarmingRecordService {
farmingRecordMapper.deleteByIds(ids); farmingRecordMapper.deleteByIds(ids);
} }
private void validateFarmingRecordExists(String id) { private void validateFarmingRecordExists(String id) {
if (farmingRecordMapper.selectById(id) == null) { if (farmingRecordMapper.selectById(id) == null) {
throw exception(FARMING_RECORD_NOT_EXISTS); throw exception(FARMING_RECORD_NOT_EXISTS);
} }