From c50da48c1fbaca6d40b7c8c473b9c14bdcdd2498 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A1=BE=E5=90=9B=E7=A6=B9?= <2673609096@qq.com> Date: Mon, 25 Aug 2025 21:58:09 +0800 Subject: [PATCH] =?UTF-8?q?farm=E6=A8=A1=E5=9D=97-=E5=86=9C=E4=BA=8B?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E7=A4=BA=E6=84=8F=E5=9B=BE=E8=BD=AC=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/baseinfo/BaseInfoController.java | 7 +++++ .../vo/ModelFarmingOperationPageReqVO.java | 10 ++++--- .../vo/ModelFarmingOperationRespVO.java | 5 +++- .../vo/ModelFarmingOperationSaveReqVO.java | 4 ++- .../ModelFarmingOperationDO.java | 30 +++++++++++++++++-- .../ModelFarmingOperationInputMapper.java | 2 ++ .../service/baseinfo/BaseInfoService.java | 2 ++ .../service/baseinfo/BaseInfoServiceImpl.java | 8 +++++ .../ModelFarmingOperationServiceImpl.java | 12 +++++++- .../ModelFarmingOperationInputMapper.xml | 7 +++++ 10 files changed, 78 insertions(+), 9 deletions(-) diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/baseinfo/BaseInfoController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/baseinfo/BaseInfoController.java index a3130e92..c80374ba 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/baseinfo/BaseInfoController.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/baseinfo/BaseInfoController.java @@ -85,6 +85,13 @@ public class BaseInfoController { return success(BeanUtils.toBean(pageResult, BaseInfoRespVO.class)); } + @GetMapping("/getList") + @Operation(summary = "获得基地分页") + public CommonResult> getList(@Valid BaseInfoPageReqVO pageReqVO) { + List pageResult = baseInfoService.getList(pageReqVO); + return success(BeanUtils.toBean(pageResult, BaseInfoRespVO.class)); + } + @GetMapping("/export-excel") @Operation(summary = "导出基地 Excel") @ApiAccessLog(operateType = EXPORT) diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperation/vo/ModelFarmingOperationPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperation/vo/ModelFarmingOperationPageReqVO.java index 72cc8d57..445d7f82 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperation/vo/ModelFarmingOperationPageReqVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperation/vo/ModelFarmingOperationPageReqVO.java @@ -1,10 +1,10 @@ package cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperation.vo; -import lombok.*; - -import io.swagger.v3.oas.annotations.media.Schema; import cn.iocoder.yudao.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; + import java.time.LocalDateTime; import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -18,7 +18,7 @@ public class ModelFarmingOperationPageReqVO extends PageParam { @Schema(description = "农事名称id", example = "赵六") private String farmingName; - + private String farmingId; @Schema(description = "操作开始时期(天)") private Integer startingPeriod; @@ -33,6 +33,8 @@ public class ModelFarmingOperationPageReqVO extends PageParam { @Schema(description = "操作示意图") private String sketch; + @Schema(description = "操作示意图集合") + private java.util.List sketchList; @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperation/vo/ModelFarmingOperationRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperation/vo/ModelFarmingOperationRespVO.java index 80b60586..e2805f6a 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperation/vo/ModelFarmingOperationRespVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperation/vo/ModelFarmingOperationRespVO.java @@ -25,7 +25,7 @@ public class ModelFarmingOperationRespVO { @Schema(description = "农事名称id", example = "赵六") @ExcelProperty("农事名称id") private String farmingName; - + private String farmingId; @Schema(description = "操作开始时期(天)") @ExcelProperty("操作开始时期(天)") private Integer startingPeriod; @@ -45,6 +45,9 @@ public class ModelFarmingOperationRespVO { @Schema(description = "操作示意图") @ExcelProperty("操作示意图") private String sketch; + @Schema(description = "操作示意图集合") + @ExcelProperty("操作示意图集合") + private List sketchList; @Schema(description = "创建时间") @ExcelProperty("创建时间") 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 d30e879c..d8da2c43 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 @@ -33,6 +33,8 @@ public class ModelFarmingOperationSaveReqVO { @Schema(description = "操作示意图") private String sketch; + @Schema(description = "操作示意图集合") + private List sketchList; @Schema(description = "基地id", example = "20985") private String baseId; @@ -48,6 +50,6 @@ public class ModelFarmingOperationSaveReqVO { @Schema(description = "租户id", example = "31485") private String tenantId; - + private String farmingId; 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/modelfarmingoperation/ModelFarmingOperationDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelfarmingoperation/ModelFarmingOperationDO.java index f01271e4..e99851a6 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,10 +1,9 @@ package cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperation; import cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperationinput.ModelFarmingOperationInputDO; +import cn.iocoder.yudao.module.farm.framework.util.ImageCollectionUtil; import lombok.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; import java.util.List; import com.baomidou.mybatisplus.annotation.*; @@ -34,6 +33,10 @@ public class ModelFarmingOperationDO extends BaseDO { * 周期id */ private String cycleId; + /** + * 农事名称id + */ + private String farmingId; /** * 农事名称id */ @@ -58,6 +61,11 @@ public class ModelFarmingOperationDO extends BaseDO { * 操作示意图 */ private String sketch; + /** + * 操作示意图集合(业务层使用) + */ + @TableField(exist = false) + private List sketchList; /** * 基地id */ @@ -78,4 +86,22 @@ public class ModelFarmingOperationDO extends BaseDO { private String tenantId; @TableField(exist = false) private List investGoodsList; + + /** + * 获取操作示意图集合 + */ + public List getSketchList() { + if (sketchList == null) { + sketchList = ImageCollectionUtil.toImageList(this.sketch); + } + return sketchList; + } + + /** + * 设置操作示意图集合 + */ + public void setSketchList(List sketchList) { + this.sketchList = sketchList; + this.sketch = ImageCollectionUtil.toDatabaseString(sketchList); + } } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/modelfarmingoperationinput/ModelFarmingOperationInputMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/modelfarmingoperationinput/ModelFarmingOperationInputMapper.java index 2f26e53a..05c393e9 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/modelfarmingoperationinput/ModelFarmingOperationInputMapper.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/modelfarmingoperationinput/ModelFarmingOperationInputMapper.java @@ -35,4 +35,6 @@ public interface ModelFarmingOperationInputMapper extends BaseMapperX selectByFarmingId(String farmingId); + + void deleteByFarmingId(String farmingId); } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoService.java index 9c01a179..c13e2fc6 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoService.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoService.java @@ -68,4 +68,6 @@ public interface BaseInfoService { * @return */ List getBaseNameList(); + + List getList(@Valid BaseInfoPageReqVO pageReqVO); } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoServiceImpl.java index c90c9977..85d7cd01 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoServiceImpl.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoServiceImpl.java @@ -11,6 +11,7 @@ import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO; import cn.iocoder.yudao.module.farm.dal.dataobject.plotinfo.PlotInfoDO; import cn.iocoder.yudao.module.farm.dal.mysql.baseinfo.BaseInfoMapper; import cn.iocoder.yudao.module.farm.dal.mysql.plotinfo.PlotInfoMapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -124,4 +125,11 @@ public class BaseInfoServiceImpl implements BaseInfoService { } + @Override + public List getList(BaseInfoPageReqVO pageReqVO) { + LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); + qw.eq(BaseInfoDO::getTenantId, getLoginUser().getTenantId()); + return baseInfoMapper.selectList(qw); + } + } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelfarmingoperation/ModelFarmingOperationServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelfarmingoperation/ModelFarmingOperationServiceImpl.java index 0a81fcad..592472dc 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelfarmingoperation/ModelFarmingOperationServiceImpl.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelfarmingoperation/ModelFarmingOperationServiceImpl.java @@ -43,7 +43,11 @@ public class ModelFarmingOperationServiceImpl implements ModelFarmingOperationSe modelFarmingOperation.setId(IdUtil.fastUUID()); modelFarmingOperation.setTenantId(String.valueOf(user.getTenantId())); modelFarmingOperationMapper.insert(modelFarmingOperation); - + createReqVO.getInvestGoodsList().forEach(e -> { + e.setId(IdUtil.fastUUID()); + e.setFarmingId(modelFarmingOperation.getId()); + modelFarmingOperationInputMapper.insert(e); + }); // 返回 return modelFarmingOperation.getId(); } @@ -55,6 +59,12 @@ public class ModelFarmingOperationServiceImpl implements ModelFarmingOperationSe // 更新 ModelFarmingOperationDO updateObj = BeanUtils.toBean(updateReqVO, ModelFarmingOperationDO.class); modelFarmingOperationMapper.updateById(updateObj); + modelFarmingOperationInputMapper.deleteByFarmingId(updateObj.getId()); + updateReqVO.getInvestGoodsList().forEach(e -> { + e.setId(IdUtil.fastUUID()); + e.setFarmingId(updateObj.getId()); + modelFarmingOperationInputMapper.insert(e); + }); } @Override diff --git a/yudao-module-farm/src/main/resources/mapper/modelfarmingoperationinput/ModelFarmingOperationInputMapper.xml b/yudao-module-farm/src/main/resources/mapper/modelfarmingoperationinput/ModelFarmingOperationInputMapper.xml index 3d2b1eb5..caa8d8e0 100644 --- a/yudao-module-farm/src/main/resources/mapper/modelfarmingoperationinput/ModelFarmingOperationInputMapper.xml +++ b/yudao-module-farm/src/main/resources/mapper/modelfarmingoperationinput/ModelFarmingOperationInputMapper.xml @@ -2,6 +2,7 @@ +