From e5b9edea502531fad40c4515d4ae2af34fb7bb89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A1=BE=E5=90=9B=E7=A6=B9?= <2673609096@qq.com> Date: Thu, 21 Aug 2025 09:38:59 +0800 Subject: [PATCH] =?UTF-8?q?farm=E6=A8=A1=E5=9D=97-=E7=A7=9F=E5=8F=B7?= =?UTF-8?q?=E6=89=80=E5=B1=9E=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/home/HomeController.java | 8 ++++- .../traceabilitycode/TraceabilityCodeDO.java | 2 +- .../dal/mysql/baseinfo/BaseInfoMapper.java | 3 +- .../PersonnelManagementMapper.java | 1 + .../productionplan/ProductionPlanMapper.java | 3 ++ .../service/baseinfo/BaseInfoService.java | 9 ++--- .../service/baseinfo/BaseInfoServiceImpl.java | 5 +++ .../CropFarmingCenterService.java | 5 +++ .../CropFarmingCenterServiceImpl.java | 21 ++++++++++- .../module/farm/service/home/HomeService.java | 3 ++ .../farm/service/home/HomeServiceImpl.java | 31 ++++++++++++++-- .../PersonnelManagementService.java | 12 +++---- .../PersonnelManagementServiceImpl.java | 36 +++++++++---------- .../mapper/baseinfo/BaseInfoMapper.xml | 5 +++ .../PersonnelManagementMapper.xml | 6 ++++ .../productionplan/ProductionPlanMapper.xml | 10 ++++++ 16 files changed, 124 insertions(+), 36 deletions(-) diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/HomeController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/HomeController.java index 492f742c..2cd30827 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/HomeController.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/HomeController.java @@ -13,6 +13,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.Map; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @@ -53,6 +54,11 @@ public class HomeController { return success(res); } - + @Operation(summary = "农场首页-公司基地及种植") + @GetMapping("/companyBaseFarming") + public CommonResult getCompanyBaseFarming() { + Map res = homeService.getCompanyBaseFarming(); + return success(res); + } } diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/traceabilitycode/TraceabilityCodeDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/traceabilitycode/TraceabilityCodeDO.java index 873297e9..1bdb4333 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/traceabilitycode/TraceabilityCodeDO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/traceabilitycode/TraceabilityCodeDO.java @@ -13,7 +13,7 @@ import java.util.List; import cn.iocoder.yudao.module.farm.framework.util.ImageCollectionUtil; /** - * 溯源-溯源码 DO + * 溯源-溯源码 DO * * @author 芋道源码 */ diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/baseinfo/BaseInfoMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/baseinfo/BaseInfoMapper.java index 62bda433..111dda89 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/baseinfo/BaseInfoMapper.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/baseinfo/BaseInfoMapper.java @@ -1,8 +1,8 @@ package cn.iocoder.yudao.module.farm.dal.mysql.baseinfo; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.farm.controller.admin.baseinfo.vo.BaseInfoPageReqVO; import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO; import org.apache.ibatis.annotations.Mapper; @@ -26,4 +26,5 @@ public interface BaseInfoMapper extends BaseMapperX { .orderByDesc(BaseInfoDO::getCreateTime)); } + int getBaseCount(Long tenantId); } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/personnelmanagement/PersonnelManagementMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/personnelmanagement/PersonnelManagementMapper.java index 9f4d2f32..0bd6a3f6 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/personnelmanagement/PersonnelManagementMapper.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/personnelmanagement/PersonnelManagementMapper.java @@ -32,4 +32,5 @@ public interface PersonnelManagementMapper extends BaseMapperX { + int getCropCount(Long tenantId); + + Double getTotalArea(Long tenantId); // default PageResult selectPage(ProductionPlanPageReqVO reqVO) { // return selectPage(reqVO, new LambdaQueryWrapperX() 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 2979b1e6..fee966b1 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 @@ -38,10 +38,10 @@ public interface BaseInfoService { void deleteBaseInfo(String id); /** - * 批量删除基地 - * - * @param ids 编号 - */ + * 批量删除基地 + * + * @param ids 编号 + */ void deleteBaseInfoListByIds(List ids); /** @@ -60,4 +60,5 @@ public interface BaseInfoService { */ PageResult getBaseInfoPage(BaseInfoPageReqVO pageReqVO); + int getBaseCount(Long tenantId); } \ 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 98c044b6..4b66e6fb 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 @@ -82,4 +82,9 @@ private void validateBaseInfoExists(String id) { return baseInfoMapper.selectPage(pageReqVO); } + @Override + public int getBaseCount(Long tenantId) { + return baseInfoMapper.getBaseCount(tenantId); + } + } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/cropFarmingCenter/CropFarmingCenterService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/cropFarmingCenter/CropFarmingCenterService.java index bb3d8c8d..af9c2d79 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/cropFarmingCenter/CropFarmingCenterService.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/cropFarmingCenter/CropFarmingCenterService.java @@ -17,4 +17,9 @@ public interface CropFarmingCenterService { * @return */ void createProductionPlan(ProductionPlanSaveReqVO createReqVO); + + + int getCropCount(Long tenantId); + + Double getTotalArea(Long tenantId); } diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/cropFarmingCenter/CropFarmingCenterServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/cropFarmingCenter/CropFarmingCenterServiceImpl.java index 77d5b5e0..29eb1a61 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/cropFarmingCenter/CropFarmingCenterServiceImpl.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/cropFarmingCenter/CropFarmingCenterServiceImpl.java @@ -5,6 +5,8 @@ import cn.iocoder.yudao.module.farm.controller.admin.cropFarmingCenter.vo.Produc import cn.iocoder.yudao.module.farm.dal.dataobject.productionplan.ProductionPlanDO; import cn.iocoder.yudao.module.farm.dal.mysql.productionplan.ProductionPlanMapper; import cn.iocoder.yudao.module.farm.enums.CommonConstants; +import cn.iocoder.yudao.module.farm.service.cultivationarea.CultivationAreaService; +import cn.iocoder.yudao.module.farm.service.productionplan.ProductionPlanService; import cn.iocoder.yudao.module.farm.utils.StrHelperUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -21,12 +23,21 @@ import java.util.List; @Slf4j public class CropFarmingCenterServiceImpl implements CropFarmingCenterService { + private final CultivationAreaService cultivationAreaService; + private final ProductionPlanService productionPlanService; private final ProductionPlanMapper productionPlanMapper; - public CropFarmingCenterServiceImpl(ProductionPlanMapper productionPlanMapper) { + public CropFarmingCenterServiceImpl(CultivationAreaService cultivationAreaService, ProductionPlanService productionPlanService, ProductionPlanMapper productionPlanMapper) { + this.cultivationAreaService = cultivationAreaService; + this.productionPlanService = productionPlanService; this.productionPlanMapper = productionPlanMapper; } + + // 创建 + // 1份生产计划 -> n种植区域; 1个种植区域 -> 1基地的n个地块(种植区域) + + @Override public void createProductionPlan(ProductionPlanSaveReqVO reqVO) { @@ -66,5 +77,13 @@ public class CropFarmingCenterServiceImpl implements CropFarmingCenterService { } + @Override + public int getCropCount(Long tenantId) { + return productionPlanMapper.getCropCount(tenantId); + } + @Override + public Double getTotalArea(Long tenantId) { + return productionPlanMapper.getTotalArea(tenantId); + } } diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeService.java index 4573d5a8..c599dce9 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeService.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeService.java @@ -5,6 +5,7 @@ import cn.iocoder.yudao.module.farm.controller.admin.home.vo.HomeInfoVO; import cn.iocoder.yudao.module.farm.controller.admin.home.vo.OutlinedInfoVO; import java.util.List; +import java.util.Map; /** * @description: 首页接口 @@ -27,4 +28,6 @@ public interface HomeService { OutlinedInfoVO getOutlinedInfo(String baseId); List getBaseNameList(); + + Map getCompanyBaseFarming(); } diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeServiceImpl.java index 35b1fc90..f786ecef 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeServiceImpl.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeServiceImpl.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.farm.service.home; +import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.module.farm.controller.admin.home.vo.BaseNameVO; import cn.iocoder.yudao.module.farm.controller.admin.home.vo.HomeInfoVO; import cn.iocoder.yudao.module.farm.controller.admin.home.vo.OutlinedInfoVO; @@ -7,13 +8,19 @@ 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.dataobject.productionplan.ProductionPlanDO; import cn.iocoder.yudao.module.farm.service.baseinfo.BaseInfoService; +import cn.iocoder.yudao.module.farm.service.cropFarmingCenter.CropFarmingCenterService; import cn.iocoder.yudao.module.farm.service.deviceplotrelation.DevicePlotRelationService; +import cn.iocoder.yudao.module.farm.service.personnelmanagement.PersonnelManagementService; import cn.iocoder.yudao.module.farm.service.plotinfo.PlotInfoService; import cn.iocoder.yudao.module.farm.service.productionplan.ProductionPlanService; import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; + +import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUser; /** * @description: 首页信息实现类 @@ -27,12 +34,16 @@ public class HomeServiceImpl implements HomeService { private final PlotInfoService plotInfoService; private final ProductionPlanService productionPlanService; private final DevicePlotRelationService driverPropertyInfoService; + private final CropFarmingCenterService cropFarmingCenterService; + private final PersonnelManagementService personnelManagementService; - public HomeServiceImpl(BaseInfoService baseInfoService, PlotInfoService plotInfoService, ProductionPlanService productionPlanService, DevicePlotRelationService driverPropertyInfoService) { + public HomeServiceImpl(BaseInfoService baseInfoService, PlotInfoService plotInfoService, ProductionPlanService productionPlanService, DevicePlotRelationService driverPropertyInfoService, CropFarmingCenterService cropFarmingCenterService, PersonnelManagementService personnelManagementService) { this.baseInfoService = baseInfoService; this.plotInfoService = plotInfoService; this.productionPlanService = productionPlanService; this.driverPropertyInfoService = driverPropertyInfoService; + this.cropFarmingCenterService = cropFarmingCenterService; + this.personnelManagementService = personnelManagementService; } @Override @@ -69,6 +80,7 @@ public class HomeServiceImpl implements HomeService { /** * 构建地块信息 + * * @param baseId 基地ID * @return 地块集合 */ @@ -117,7 +129,6 @@ public class HomeServiceImpl implements HomeService { public OutlinedInfoVO getOutlinedInfo(String baseId) { - OutlinedInfoVO res = new OutlinedInfoVO(); res.setTaskCount(0); // todo 任务数量 res.setWarningCount(0); // todo 告警数量 @@ -129,4 +140,20 @@ public class HomeServiceImpl implements HomeService { public List getBaseNameList() { return null; } + + @Override + public Map getCompanyBaseFarming() { + LoginUser user = getLoginUser(); + int baseCount = baseInfoService.getBaseCount(user.getTenantId()); // 基地数量 + int cropCount = cropFarmingCenterService.getCropCount(user.getTenantId()); // 作物数量 + Double totalArea = cropFarmingCenterService.getTotalArea(user.getTenantId()); // 总面积 + int personnelCount = personnelManagementService.personnelCount(user.getTenantId()); // 在职人员 + Map map = new HashMap<>(); + + map.put("baseCount", baseCount); + map.put("cropCount", cropCount); + map.put("totalArea", totalArea); + map.put("personnelCount", personnelCount); + return map; + } } diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/personnelmanagement/PersonnelManagementService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/personnelmanagement/PersonnelManagementService.java index 5887de3e..55bbc68f 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/personnelmanagement/PersonnelManagementService.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/personnelmanagement/PersonnelManagementService.java @@ -1,10 +1,9 @@ package cn.iocoder.yudao.module.farm.service.personnelmanagement; +import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.farm.controller.admin.personnelmanagement.vo.PersonnelManagementPageReqVO; import cn.iocoder.yudao.module.farm.controller.admin.personnelmanagement.vo.PersonnelManagementSaveReqVO; import cn.iocoder.yudao.module.farm.dal.dataobject.personnelmanagement.PersonnelManagementDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; import jakarta.validation.Valid; import java.util.List; @@ -39,10 +38,10 @@ public interface PersonnelManagementService { void deletePersonnelManagement(String id); /** - * 批量删除人员管理 - * - * @param ids 编号 - */ + * 批量删除人员管理 + * + * @param ids 编号 + */ void deletePersonnelManagementListByIds(List ids); /** @@ -61,4 +60,5 @@ public interface PersonnelManagementService { */ PageResult getPersonnelManagementPage(PersonnelManagementPageReqVO pageReqVO); + int personnelCount(Long tenantId); } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/personnelmanagement/PersonnelManagementServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/personnelmanagement/PersonnelManagementServiceImpl.java index 2b6bddd5..ce318b2e 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/personnelmanagement/PersonnelManagementServiceImpl.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/personnelmanagement/PersonnelManagementServiceImpl.java @@ -1,30 +1,21 @@ package cn.iocoder.yudao.module.farm.service.personnelmanagement; -import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.IdUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.security.core.LoginUser; +import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.module.farm.controller.admin.personnelmanagement.vo.PersonnelManagementPageReqVO; import cn.iocoder.yudao.module.farm.controller.admin.personnelmanagement.vo.PersonnelManagementSaveReqVO; -import org.springframework.stereotype.Service; -import jakarta.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; - import cn.iocoder.yudao.module.farm.dal.dataobject.personnelmanagement.PersonnelManagementDO; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; -import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; - import cn.iocoder.yudao.module.farm.dal.mysql.personnelmanagement.PersonnelManagementMapper; -import cn.iocoder.yudao.module.farm.framework.util.ImageCollectionUtil; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.diffList; import static cn.iocoder.yudao.module.farm.enums.ErrorCodeConstants.PERSONNEL_MANAGEMENT_NOT_EXISTS; /** @@ -46,10 +37,10 @@ public class PersonnelManagementServiceImpl implements PersonnelManagementServic PersonnelManagementDO personnelManagement = BeanUtils.toBean(createReqVO, PersonnelManagementDO.class); personnelManagement.setId(IdUtil.fastUUID()); personnelManagement.setTenantId(String.valueOf(user.getTenantId())); - + // 处理图片集合转换 handleImageConversion(personnelManagement, createReqVO); - + personnelManagementMapper.insert(personnelManagement); // 返回 @@ -62,10 +53,10 @@ public class PersonnelManagementServiceImpl implements PersonnelManagementServic validatePersonnelManagementExists(updateReqVO.getId()); // 更新 PersonnelManagementDO updateObj = BeanUtils.toBean(updateReqVO, PersonnelManagementDO.class); - + // 处理图片集合转换 handleImageConversion(updateObj, updateReqVO); - + personnelManagementMapper.updateById(updateObj); } @@ -78,12 +69,12 @@ public class PersonnelManagementServiceImpl implements PersonnelManagementServic } @Override - public void deletePersonnelManagementListByIds(List ids) { + public void deletePersonnelManagementListByIds(List ids) { // 删除 personnelManagementMapper.deleteByIds(ids); - } + } -private void validatePersonnelManagementExists(String id) { + private void validatePersonnelManagementExists(String id) { if (personnelManagementMapper.selectById(id) == null) { throw exception(PERSONNEL_MANAGEMENT_NOT_EXISTS); } @@ -113,6 +104,11 @@ private void validatePersonnelManagementExists(String id) { return pageResult; } + @Override + public int personnelCount(Long tenantId) { + return personnelManagementMapper.personnelCount(tenantId); + } + /** * 处理图片集合转换 * 优先使用图片集合,如果图片集合为空则使用字符串 diff --git a/yudao-module-farm/src/main/resources/mapper/baseinfo/BaseInfoMapper.xml b/yudao-module-farm/src/main/resources/mapper/baseinfo/BaseInfoMapper.xml index fb15c40c..c32aa53c 100644 --- a/yudao-module-farm/src/main/resources/mapper/baseinfo/BaseInfoMapper.xml +++ b/yudao-module-farm/src/main/resources/mapper/baseinfo/BaseInfoMapper.xml @@ -9,4 +9,9 @@ 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/personnelmanagement/PersonnelManagementMapper.xml b/yudao-module-farm/src/main/resources/mapper/personnelmanagement/PersonnelManagementMapper.xml index 52ff3196..a97aa9d7 100644 --- a/yudao-module-farm/src/main/resources/mapper/personnelmanagement/PersonnelManagementMapper.xml +++ b/yudao-module-farm/src/main/resources/mapper/personnelmanagement/PersonnelManagementMapper.xml @@ -9,4 +9,10 @@ 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/productionplan/ProductionPlanMapper.xml b/yudao-module-farm/src/main/resources/mapper/productionplan/ProductionPlanMapper.xml index 43aa5bb7..8a2789a1 100644 --- a/yudao-module-farm/src/main/resources/mapper/productionplan/ProductionPlanMapper.xml +++ b/yudao-module-farm/src/main/resources/mapper/productionplan/ProductionPlanMapper.xml @@ -9,4 +9,14 @@ 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> + + \ No newline at end of file