Merge remote-tracking branch 'origin/main'
This commit is contained in:
@@ -0,0 +1,270 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.controller.admin.dict;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.CommonDictRespVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.FarmingTypeRespVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.SpeciesClassifyLibraryRespVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.farmingnamemaintenance.vo.FarmingNameMaintenancePageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.farmingnamemaintenance.vo.FarmingNameMaintenanceRespVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.farmingnamemaintenance.vo.FarmingNameMaintenanceSaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenancePageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenanceRespVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenanceSaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.inputlibrary.vo.InputLibraryPageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.inputlibrary.vo.InputLibraryRespVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.inputlibrary.vo.InputLibrarySaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.specieslibrary.vo.SpeciesLibraryPageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.specieslibrary.vo.SpeciesLibraryRespVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.specieslibrary.vo.SpeciesLibrarySaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.dal.dataobject.farmingnamemaintenance.FarmingNameMaintenanceDO;
|
||||||
|
import cn.iocoder.yudao.module.farm.dal.dataobject.farmingtypemaintenance.FarmingTypeMaintenanceDO;
|
||||||
|
import cn.iocoder.yudao.module.farm.dal.dataobject.inputlibrary.InputLibraryDO;
|
||||||
|
import cn.iocoder.yudao.module.farm.dal.dataobject.speciesclassifylibrary.SpeciesClassifyLibraryDO;
|
||||||
|
import cn.iocoder.yudao.module.farm.dal.dataobject.specieslibrary.SpeciesLibraryDO;
|
||||||
|
import cn.iocoder.yudao.module.farm.service.farmingnamemaintenance.FarmingNameMaintenanceService;
|
||||||
|
import cn.iocoder.yudao.module.farm.service.farmingtypemaintenance.FarmingTypeMaintenanceService;
|
||||||
|
import cn.iocoder.yudao.module.farm.service.inputlibrary.InputLibraryService;
|
||||||
|
import cn.iocoder.yudao.module.farm.service.speciesclassifylibrary.SpeciesClassifyLibraryService;
|
||||||
|
import cn.iocoder.yudao.module.farm.service.specieslibrary.SpeciesLibraryService;
|
||||||
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import jakarta.validation.Valid;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description: 字典表接口
|
||||||
|
* 农事类型维护: farm_farming_type_maintenance
|
||||||
|
* 农事名称维护: farm_farming_name_maintenance
|
||||||
|
* 物种库维护: farm_species_library
|
||||||
|
* 物种分类库维护 farm_species_classify_library
|
||||||
|
* 投入品库维护: farm_input_library
|
||||||
|
* 灾害库维护: farm_disaster_data
|
||||||
|
* 气象灾害库维护 : farm_weather_disaster_library
|
||||||
|
* @author: binda
|
||||||
|
* @date: 2025/8/16 16:07
|
||||||
|
*/
|
||||||
|
@Tag(name = "管理中心 - 基础数据管理")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/farm/management-center/dict")
|
||||||
|
@Validated
|
||||||
|
public class DictController {
|
||||||
|
|
||||||
|
private final FarmingTypeMaintenanceService farmingTypeMaintenanceService;
|
||||||
|
private final FarmingNameMaintenanceService farmingNameMaintenanceService;
|
||||||
|
private final SpeciesLibraryService speciesLibraryService;
|
||||||
|
private final SpeciesClassifyLibraryService speciesClassifyLibraryService;
|
||||||
|
private final InputLibraryService inputLibraryService;
|
||||||
|
|
||||||
|
public DictController(FarmingTypeMaintenanceService farmingTypeMaintenanceService, FarmingNameMaintenanceService farmingNameMaintenanceService, SpeciesLibraryService speciesLibraryService, SpeciesClassifyLibraryService speciesClassifyLibraryService, InputLibraryService inputLibraryService) {
|
||||||
|
this.farmingTypeMaintenanceService = farmingTypeMaintenanceService;
|
||||||
|
this.farmingNameMaintenanceService = farmingNameMaintenanceService;
|
||||||
|
this.speciesLibraryService = speciesLibraryService;
|
||||||
|
this.speciesClassifyLibraryService = speciesClassifyLibraryService;
|
||||||
|
this.inputLibraryService = inputLibraryService;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 农事类型
|
||||||
|
@Operation(summary = "字典数据维护-农事类型-分页")
|
||||||
|
@GetMapping("/farming-type/page")
|
||||||
|
public CommonResult<PageResult<FarmingTypeMaintenanceRespVO>> getFarmingTypePage(FarmingTypeMaintenancePageReqVO reqVO) {
|
||||||
|
PageResult<FarmingTypeMaintenanceDO> pageResult = farmingTypeMaintenanceService.getFarmingTypeMaintenancePage(reqVO);
|
||||||
|
return success(BeanUtils.toBean(pageResult, FarmingTypeMaintenanceRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "字典数据维护-农事类型-新增")
|
||||||
|
@PostMapping("/farming-type/create")
|
||||||
|
public CommonResult<String> createFarmingType(@RequestBody FarmingTypeMaintenanceSaveReqVO saveVO) {
|
||||||
|
String res = farmingTypeMaintenanceService.createFarmingTypeMaintenance(saveVO);
|
||||||
|
return success(res);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "字典数据维护-农事类型-编辑")
|
||||||
|
@PutMapping("/farming-type/update")
|
||||||
|
public CommonResult<Boolean> updateFarmingType(@RequestBody FarmingTypeMaintenanceSaveReqVO updateVO) {
|
||||||
|
farmingTypeMaintenanceService.updateFarmingTypeMaintenance(updateVO);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "字典数据维护-农事类型-删除")
|
||||||
|
@DeleteMapping("/farming-type/delete/{id}")
|
||||||
|
public CommonResult<Boolean> delFarmingType(@PathVariable("id") String id) {
|
||||||
|
farmingTypeMaintenanceService.deleteFarmingTypeMaintenance(id);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 农事名称
|
||||||
|
@Operation(summary = "字典数据维护-农事名称-分页")
|
||||||
|
@GetMapping("/farming-name/page")
|
||||||
|
public CommonResult<PageResult<FarmingNameMaintenanceRespVO>> getFarmingNameMaintenancePage(@Valid FarmingNameMaintenancePageReqVO pageReqVO) {
|
||||||
|
PageResult<FarmingNameMaintenanceDO> pageResult = farmingNameMaintenanceService.getFarmingNameMaintenancePage(pageReqVO);
|
||||||
|
return success(BeanUtils.toBean(pageResult, FarmingNameMaintenanceRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "字典数据维护-农事名称-新增")
|
||||||
|
@PostMapping("/farming-name/create")
|
||||||
|
public CommonResult<String> createFarmingNameMaintenance(@Valid @RequestBody FarmingNameMaintenanceSaveReqVO createReqVO) {
|
||||||
|
return success(farmingNameMaintenanceService.createFarmingNameMaintenance(createReqVO));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Operation(summary = "字典数据维护-农事名称-编辑")
|
||||||
|
@PutMapping("/farming-name/update")
|
||||||
|
public CommonResult<Boolean> updateFarmingNameMaintenance(@Valid @RequestBody FarmingNameMaintenanceSaveReqVO updateReqVO) {
|
||||||
|
farmingNameMaintenanceService.updateFarmingNameMaintenance(updateReqVO);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Operation(summary = "字典数据维护-农事名称-删除")
|
||||||
|
@DeleteMapping("/farming-name/delete/{id}")
|
||||||
|
public CommonResult<Boolean> deleteFarmingNameMaintenance(@PathVariable("id") String id) {
|
||||||
|
farmingNameMaintenanceService.deleteFarmingNameMaintenance(id);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 物种库维护
|
||||||
|
@Operation(summary = "字典数据维护-物种库-分页")
|
||||||
|
@GetMapping("/species/page")
|
||||||
|
public CommonResult<PageResult<SpeciesLibraryRespVO>> getSpeciesLibraryPage(@Valid SpeciesLibraryPageReqVO pageReqVO) {
|
||||||
|
PageResult<SpeciesLibraryDO> pageResult = speciesLibraryService.getSpeciesLibraryPage(pageReqVO);
|
||||||
|
return success(BeanUtils.toBean(pageResult, SpeciesLibraryRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "字典数据维护-物种库-新增")
|
||||||
|
@PostMapping("/species/create")
|
||||||
|
public CommonResult<String> createSpeciesLibrary(@Valid @RequestBody SpeciesLibrarySaveReqVO createReqVO) {
|
||||||
|
return success(speciesLibraryService.createSpeciesLibrary(createReqVO));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "字典数据维护-物种库-编辑")
|
||||||
|
@PutMapping("/species/update")
|
||||||
|
public CommonResult<Boolean> updateSpeciesLibrary(@Valid @RequestBody SpeciesLibrarySaveReqVO updateReqVO) {
|
||||||
|
speciesLibraryService.updateSpeciesLibrary(updateReqVO);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "字典数据维护-物种库-删除")
|
||||||
|
@DeleteMapping("/species/delete/{id}")
|
||||||
|
public CommonResult<Boolean> deleteSpeciesLibrary(@PathVariable("id") String id) {
|
||||||
|
speciesLibraryService.deleteSpeciesLibrary(id);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 物种类别维护 todo 后续
|
||||||
|
|
||||||
|
|
||||||
|
// 投入品维护
|
||||||
|
@Operation(summary = "字典数据维护-投入品-分页")
|
||||||
|
@GetMapping("/invest-goods/page")
|
||||||
|
public CommonResult<PageResult<InputLibraryRespVO>> getInputLibraryPage(@Valid InputLibraryPageReqVO pageReqVO) {
|
||||||
|
PageResult<InputLibraryDO> pageResult = inputLibraryService.getInputLibraryPage(pageReqVO);
|
||||||
|
return success(BeanUtils.toBean(pageResult, InputLibraryRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "字典数据维护-投入品-新增")
|
||||||
|
@PostMapping("/invest-goods/create")
|
||||||
|
public CommonResult<String> createInputLibrary(@Valid @RequestBody InputLibrarySaveReqVO createReqVO) {
|
||||||
|
return success(inputLibraryService.createInputLibrary(createReqVO));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PutMapping("/invest-goods/update")
|
||||||
|
@Operation(summary = "字典数据维护-投入品-编辑")
|
||||||
|
public CommonResult<Boolean> updateInputLibrary(@Valid @RequestBody InputLibrarySaveReqVO updateReqVO) {
|
||||||
|
inputLibraryService.updateInputLibrary(updateReqVO);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Operation(summary = "字典数据维护-投入品-删除")
|
||||||
|
@DeleteMapping("/invest-goods/delete/{id}")
|
||||||
|
public CommonResult<Boolean> deleteInputLibrary(@PathVariable("id") String id) {
|
||||||
|
inputLibraryService.deleteInputLibrary(id);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 灾害库维护
|
||||||
|
|
||||||
|
|
||||||
|
// 气象灾害库维护
|
||||||
|
|
||||||
|
|
||||||
|
// 下拉框列表
|
||||||
|
@Operation(summary = "字典数据维护-下拉框列表-农事类型")
|
||||||
|
@GetMapping("/list/farming-type")
|
||||||
|
public CommonResult<List<FarmingTypeRespVO>> getFarmingTypeList() {
|
||||||
|
List<FarmingTypeMaintenanceDO> res = farmingTypeMaintenanceService.getFarmingTypeList();
|
||||||
|
return success(BeanUtils.toBean(res, FarmingTypeRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "字典数据维护-下拉框列表-物种类别")
|
||||||
|
@GetMapping("/list/species-classify-library")
|
||||||
|
public CommonResult<List<SpeciesClassifyLibraryRespVO>> getSpeciesClassifyLibraryList() {
|
||||||
|
List<SpeciesClassifyLibraryDO> res = speciesClassifyLibraryService.getSpeciesClassifyLibraryList();
|
||||||
|
return success(BeanUtils.toBean(res, SpeciesClassifyLibraryRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "字典数据维护-下拉框列表-投入品类型")
|
||||||
|
@GetMapping("/list/invest-goods")
|
||||||
|
public CommonResult<List<CommonDictRespVO>> getInvestGoodsList() {
|
||||||
|
// todo 后续维护到字典表
|
||||||
|
List<CommonDictRespVO> list = Arrays.asList(
|
||||||
|
new CommonDictRespVO("1", "肥料", 1),
|
||||||
|
new CommonDictRespVO("2", "药物", 1),
|
||||||
|
new CommonDictRespVO("3", "种子", 1),
|
||||||
|
new CommonDictRespVO("4", "膜", 1),
|
||||||
|
new CommonDictRespVO("99", "其他", 1)
|
||||||
|
);
|
||||||
|
|
||||||
|
return success(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "字典数据维护-下拉框列表-投入品规格-单位1")
|
||||||
|
@GetMapping("/list/units/1")
|
||||||
|
public CommonResult<List<CommonDictRespVO>> getUnits1List() {
|
||||||
|
// todo 后续维护到字典表
|
||||||
|
List<CommonDictRespVO> list = Arrays.asList(
|
||||||
|
new CommonDictRespVO("1", "吨", 1),
|
||||||
|
new CommonDictRespVO("2", "千克", 1),
|
||||||
|
new CommonDictRespVO("3", "斤", 1),
|
||||||
|
new CommonDictRespVO("4", "立方米", 1),
|
||||||
|
new CommonDictRespVO("5", "米", 1),
|
||||||
|
new CommonDictRespVO("6", "克", 1)
|
||||||
|
);
|
||||||
|
|
||||||
|
return success(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "字典数据维护-下拉框列表-投入品规格-单位2")
|
||||||
|
@GetMapping("/list/units/2")
|
||||||
|
public CommonResult<List<CommonDictRespVO>> getUnits2List() {
|
||||||
|
// todo 后续维护到字典表
|
||||||
|
List<CommonDictRespVO> list = Arrays.asList(
|
||||||
|
new CommonDictRespVO("1", "包", 1),
|
||||||
|
new CommonDictRespVO("2", "袋", 1),
|
||||||
|
new CommonDictRespVO("3", "桶", 1),
|
||||||
|
new CommonDictRespVO("4", "车", 1),
|
||||||
|
new CommonDictRespVO("5", "捆", 1),
|
||||||
|
new CommonDictRespVO("6", "立方米", 1),
|
||||||
|
new CommonDictRespVO("7", "箱", 1)
|
||||||
|
);
|
||||||
|
|
||||||
|
return success(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.controller.admin.dict.vo;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description: 投入品类型
|
||||||
|
* @author: binda
|
||||||
|
* @date: 2025/8/17 17:20
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class CommonDictRespVO {
|
||||||
|
|
||||||
|
@Schema(description = "字典-编码")
|
||||||
|
private String code;
|
||||||
|
@Schema(description = "字典-名称")
|
||||||
|
private String name;
|
||||||
|
@Schema(description = "使用状态")
|
||||||
|
private Integer useStatus;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.controller.admin.dict.vo;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description:
|
||||||
|
* @author: binda
|
||||||
|
* @date: 2025/8/17 13:45
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class FarmingTypeReqVO {
|
||||||
|
|
||||||
|
@Schema(description = "使用状态 (0=启用,1=停用)")
|
||||||
|
private Integer useStatus;
|
||||||
|
|
||||||
|
@Schema(description = "农事类型-名称")
|
||||||
|
private String farmingName;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.controller.admin.dict.vo;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description: 字典表 - 农事类型
|
||||||
|
* @author: binda
|
||||||
|
* @date: 2025/8/17 13:28
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class FarmingTypeRespVO {
|
||||||
|
|
||||||
|
@Schema(description = "ID")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@Schema(description = "农事编码")
|
||||||
|
private String farmingCode;
|
||||||
|
|
||||||
|
@Schema(description = "农事类型-名称")
|
||||||
|
private String farmingName;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.controller.admin.dict.vo;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description: 农事类型维护 - 新增
|
||||||
|
* @author: binda
|
||||||
|
* @date: 2025/8/17 13:52
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class FarmingTypeSaveVO {
|
||||||
|
|
||||||
|
@Schema(description = "农事类型-名称")
|
||||||
|
private String farmingName;
|
||||||
|
|
||||||
|
@Schema(description = "使用状态 (0=启用,1=停用)")
|
||||||
|
private Integer useStatus;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.controller.admin.dict.vo;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description: 投入品类型
|
||||||
|
* @author: binda
|
||||||
|
* @date: 2025/8/17 17:20
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class InvestGoodsRespVO {
|
||||||
|
|
||||||
|
@Schema(description = "投入品-编码")
|
||||||
|
private String code;
|
||||||
|
@Schema(description = "投入品-名称")
|
||||||
|
private String name;
|
||||||
|
@Schema(description = "使用状态")
|
||||||
|
private Integer useStatus;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.controller.admin.dict.vo;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description:
|
||||||
|
* @author: binda
|
||||||
|
* @date: 2025/8/17 16:51
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class SpeciesClassifyLibraryReqVO {
|
||||||
|
@Schema(description = "ID")
|
||||||
|
private String id;
|
||||||
|
@Schema(description = "一级分类-编码")
|
||||||
|
private String primaryClassCode;
|
||||||
|
@Schema(description = "一级分类-名称")
|
||||||
|
private String primaryClassName;
|
||||||
|
@Schema(description = "二级分类-编码")
|
||||||
|
private String secondaryClassCode;
|
||||||
|
@Schema(description = "二级分类-名称")
|
||||||
|
private String secondaryClassName;
|
||||||
|
@Schema(description = "使用状态")
|
||||||
|
private Integer useStatus;
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.controller.admin.dict.vo;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description: 物种分类
|
||||||
|
* @author: binda
|
||||||
|
* @date: 2025/8/17 16:43
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class SpeciesClassifyLibraryRespVO {
|
||||||
|
@Schema(description = "ID")
|
||||||
|
private String id;
|
||||||
|
@Schema(description = "一级分类-编码")
|
||||||
|
private String primaryClassCode;
|
||||||
|
@Schema(description = "一级分类-名称")
|
||||||
|
private String primaryClassName;
|
||||||
|
@Schema(description = "二级分类-编码")
|
||||||
|
private String secondaryClassCode;
|
||||||
|
@Schema(description = "二级分类-名称")
|
||||||
|
private String secondaryClassName;
|
||||||
|
@Schema(description = "使用状态")
|
||||||
|
private String useStatus;
|
||||||
|
}
|
||||||
@@ -13,10 +13,12 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
|
|||||||
@Data
|
@Data
|
||||||
public class FarmingTypeMaintenancePageReqVO extends PageParam {
|
public class FarmingTypeMaintenancePageReqVO extends PageParam {
|
||||||
|
|
||||||
@Schema(description = "农事类型", example = "1")
|
@Schema(description = "农事类型-编码", example = "1")
|
||||||
private String farmingType;
|
private String farmingCode;
|
||||||
|
@Schema(description = "农事类型-名称", example = "采收")
|
||||||
|
private String farmingName;
|
||||||
|
|
||||||
@Schema(description = "0=启用,1=停用", example = "2")
|
@Schema(description = "0=启用,1=停用", example = "0")
|
||||||
private Integer useStatus;
|
private Integer useStatus;
|
||||||
|
|
||||||
@Schema(description = "创建时间")
|
@Schema(description = "创建时间")
|
||||||
|
|||||||
@@ -13,8 +13,10 @@ public class FarmingTypeMaintenanceSaveReqVO {
|
|||||||
@Schema(description = "农事类型", example = "1")
|
@Schema(description = "农事类型", example = "1")
|
||||||
private String farmingType;
|
private String farmingType;
|
||||||
|
|
||||||
@Schema(description = "0=启用,1=停用", example = "2")
|
@Schema(description = "0=启用,1=停用", example = "0")
|
||||||
private Integer useStatus;
|
private Integer useStatus;
|
||||||
|
@Schema(description = "0=未删除,1=已删除", example = "0")
|
||||||
|
private Integer deleted;
|
||||||
|
|
||||||
@Schema(description = "基地id", example = "29265")
|
@Schema(description = "基地id", example = "29265")
|
||||||
private String baseId;
|
private String baseId;
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package cn.iocoder.yudao.module.farm.controller.admin.home;
|
package cn.iocoder.yudao.module.farm.controller.admin.home;
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
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.HomeInfoVO;
|
||||||
import cn.iocoder.yudao.module.farm.dal.dataobject.home.HomeInfoDO;
|
import cn.iocoder.yudao.module.farm.controller.admin.home.vo.OutlinedInfoVO;
|
||||||
import cn.iocoder.yudao.module.farm.service.home.HomeService;
|
import cn.iocoder.yudao.module.farm.service.home.HomeService;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.Parameter;
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
@@ -12,6 +12,8 @@ import jakarta.annotation.Resource;
|
|||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -30,12 +32,27 @@ public class HomeController {
|
|||||||
|
|
||||||
@Parameter(name = "baseId", description = "基地ID", required = true)
|
@Parameter(name = "baseId", description = "基地ID", required = true)
|
||||||
@Operation(summary = "农场首页")
|
@Operation(summary = "农场首页")
|
||||||
@GetMapping("/get/{baseId}")
|
@GetMapping("/{baseId}")
|
||||||
public CommonResult<HomeInfoVO> getBaseInfo(@PathVariable("baseId") String baseId) {
|
public CommonResult<HomeInfoVO> getBaseInfo(@PathVariable("baseId") String baseId) {
|
||||||
HomeInfoVO res = homeService.getHomeInfo(baseId);
|
HomeInfoVO res = homeService.getHomeInfo(baseId);
|
||||||
return success(res);
|
return success(res);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Parameter(name = "baseId", description = "基地ID", required = true)
|
||||||
|
@Operation(summary = "农场首页-概要信息")
|
||||||
|
@GetMapping("/outlined/{baseId}")
|
||||||
|
public CommonResult<OutlinedInfoVO> getWeatherInfo(@PathVariable("baseId") String baseId) {
|
||||||
|
OutlinedInfoVO res = homeService.getOutlinedInfo(baseId);
|
||||||
|
return success(res);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "农场首页-基地名称列表")
|
||||||
|
@GetMapping("/baseNames")
|
||||||
|
public CommonResult<List<BaseNameVO>> getBaseNameList() {
|
||||||
|
List<BaseNameVO> res = homeService.getBaseNameList();
|
||||||
|
return success(res);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.controller.admin.home.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description: 基地名称下拉列表
|
||||||
|
* @author: binda
|
||||||
|
* @date: 2025/8/15 18:04
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class BaseNameVO {
|
||||||
|
public String baseId;
|
||||||
|
public String baseName;
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.controller.admin.home.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description: 农场首页-天气
|
||||||
|
* @author: binda
|
||||||
|
* @date: 2025/8/15 14:32
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class OutlinedInfoVO {
|
||||||
|
/**
|
||||||
|
* 今日任务数量
|
||||||
|
*/
|
||||||
|
private Integer taskCount;
|
||||||
|
/**
|
||||||
|
* 告警数量
|
||||||
|
*/
|
||||||
|
private Integer warningCount;
|
||||||
|
/**
|
||||||
|
* 物联设备数量
|
||||||
|
*/
|
||||||
|
private Integer iotCount;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -30,7 +30,8 @@ public class FarmingTypeMaintenanceDO extends BaseDO {
|
|||||||
/**
|
/**
|
||||||
* 农事类型
|
* 农事类型
|
||||||
*/
|
*/
|
||||||
private String farmingType;
|
private String farmingCode;
|
||||||
|
private String farmingName;
|
||||||
/**
|
/**
|
||||||
* 0=启用,1=停用
|
* 0=启用,1=停用
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -0,0 +1,49 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.dal.dataobject.speciesclassifylibrary;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import lombok.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description: 物种分类 DO
|
||||||
|
* @author: binda
|
||||||
|
* @date: 2025/8/17 16:31
|
||||||
|
*/
|
||||||
|
@TableName("farm_species_classify_library")
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class SpeciesClassifyLibraryDO extends BaseDO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
|
@TableId(type = IdType.INPUT)
|
||||||
|
private String id;
|
||||||
|
/**
|
||||||
|
* 一级分类-编码
|
||||||
|
*/
|
||||||
|
private String primaryClassCode;
|
||||||
|
/**
|
||||||
|
* 一级分类-名称
|
||||||
|
*/
|
||||||
|
private String primaryClassName;
|
||||||
|
/**
|
||||||
|
* 二级分类-编码
|
||||||
|
*/
|
||||||
|
private String secondaryClassCode;
|
||||||
|
/**
|
||||||
|
* 二级分类-名称
|
||||||
|
*/
|
||||||
|
private String secondaryClassName;
|
||||||
|
/**
|
||||||
|
* 0=启用,1=停用
|
||||||
|
*/
|
||||||
|
private Integer useStatus;
|
||||||
|
}
|
||||||
@@ -4,8 +4,12 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|||||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
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.mapper.BaseMapperX;
|
||||||
import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenancePageReqVO;
|
import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenancePageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenanceSaveReqVO;
|
||||||
import cn.iocoder.yudao.module.farm.dal.dataobject.farmingtypemaintenance.FarmingTypeMaintenanceDO;
|
import cn.iocoder.yudao.module.farm.dal.dataobject.farmingtypemaintenance.FarmingTypeMaintenanceDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 农事类型维护 Mapper
|
* 农事类型维护 Mapper
|
||||||
@@ -17,7 +21,8 @@ public interface FarmingTypeMaintenanceMapper extends BaseMapperX<FarmingTypeMai
|
|||||||
|
|
||||||
default PageResult<FarmingTypeMaintenanceDO> selectPage(FarmingTypeMaintenancePageReqVO reqVO) {
|
default PageResult<FarmingTypeMaintenanceDO> selectPage(FarmingTypeMaintenancePageReqVO reqVO) {
|
||||||
return selectPage(reqVO, new LambdaQueryWrapperX<FarmingTypeMaintenanceDO>()
|
return selectPage(reqVO, new LambdaQueryWrapperX<FarmingTypeMaintenanceDO>()
|
||||||
.eqIfPresent(FarmingTypeMaintenanceDO::getFarmingType, reqVO.getFarmingType())
|
.eqIfPresent(FarmingTypeMaintenanceDO::getFarmingCode, reqVO.getFarmingCode())
|
||||||
|
.eqIfPresent(FarmingTypeMaintenanceDO::getFarmingName, reqVO.getFarmingName())
|
||||||
.eqIfPresent(FarmingTypeMaintenanceDO::getUseStatus, reqVO.getUseStatus())
|
.eqIfPresent(FarmingTypeMaintenanceDO::getUseStatus, reqVO.getUseStatus())
|
||||||
.betweenIfPresent(FarmingTypeMaintenanceDO::getCreateTime, reqVO.getCreateTime())
|
.betweenIfPresent(FarmingTypeMaintenanceDO::getCreateTime, reqVO.getCreateTime())
|
||||||
.eqIfPresent(FarmingTypeMaintenanceDO::getBaseId, reqVO.getBaseId())
|
.eqIfPresent(FarmingTypeMaintenanceDO::getBaseId, reqVO.getBaseId())
|
||||||
@@ -28,4 +33,5 @@ public interface FarmingTypeMaintenanceMapper extends BaseMapperX<FarmingTypeMai
|
|||||||
.orderByDesc(FarmingTypeMaintenanceDO::getCreateTime));
|
.orderByDesc(FarmingTypeMaintenanceDO::getCreateTime));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<FarmingTypeMaintenanceDO> listForFarmingType(@Param("req") FarmingTypeMaintenanceSaveReqVO reqVO );
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.dal.mysql.speciesclassifylibrary;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.SpeciesClassifyLibraryReqVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.dal.dataobject.speciesclassifylibrary.SpeciesClassifyLibraryDO;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description:
|
||||||
|
* @author: binda
|
||||||
|
* @date: 2025/8/17 16:30
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface SpeciesClassifyLibraryMapper extends BaseMapperX<SpeciesClassifyLibraryDO> {
|
||||||
|
|
||||||
|
List<SpeciesClassifyLibraryDO> getSpeciesClassifyLibraryList(@Param("req") SpeciesClassifyLibraryReqVO reqVO);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.enums;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description: 通用常量
|
||||||
|
* @author: binda
|
||||||
|
* @date: 2025/8/17 15:48
|
||||||
|
*/
|
||||||
|
public class CommonConstants {
|
||||||
|
|
||||||
|
public final static Integer YES_CODE = 1;
|
||||||
|
public final static String YES_NAME = "是";
|
||||||
|
|
||||||
|
public final static Integer NO_CODE = 0;
|
||||||
|
public final static String NO_NAME = "否";
|
||||||
|
}
|
||||||
@@ -4,7 +4,6 @@ import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.F
|
|||||||
import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenanceSaveReqVO;
|
import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenanceSaveReqVO;
|
||||||
import cn.iocoder.yudao.module.farm.dal.dataobject.farmingtypemaintenance.FarmingTypeMaintenanceDO;
|
import cn.iocoder.yudao.module.farm.dal.dataobject.farmingtypemaintenance.FarmingTypeMaintenanceDO;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -61,4 +60,9 @@ public interface FarmingTypeMaintenanceService {
|
|||||||
*/
|
*/
|
||||||
PageResult<FarmingTypeMaintenanceDO> getFarmingTypeMaintenancePage(FarmingTypeMaintenancePageReqVO pageReqVO);
|
PageResult<FarmingTypeMaintenanceDO> getFarmingTypeMaintenancePage(FarmingTypeMaintenancePageReqVO pageReqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 列表查询
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<FarmingTypeMaintenanceDO> getFarmingTypeList();
|
||||||
}
|
}
|
||||||
@@ -1,18 +1,16 @@
|
|||||||
package cn.iocoder.yudao.module.farm.service.farmingtypemaintenance;
|
package cn.iocoder.yudao.module.farm.service.farmingtypemaintenance;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
||||||
import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenancePageReqVO;
|
import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenancePageReqVO;
|
||||||
import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenanceSaveReqVO;
|
import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenanceSaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.enums.CommonConstants;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import cn.iocoder.yudao.module.farm.dal.dataobject.farmingtypemaintenance.FarmingTypeMaintenanceDO;
|
import cn.iocoder.yudao.module.farm.dal.dataobject.farmingtypemaintenance.FarmingTypeMaintenanceDO;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
|
||||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
|
|
||||||
import cn.iocoder.yudao.module.farm.dal.mysql.farmingtypemaintenance.FarmingTypeMaintenanceMapper;
|
import cn.iocoder.yudao.module.farm.dal.mysql.farmingtypemaintenance.FarmingTypeMaintenanceMapper;
|
||||||
@@ -20,8 +18,6 @@ import cn.iocoder.yudao.module.farm.dal.mysql.farmingtypemaintenance.FarmingType
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
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.framework.security.core.util.SecurityFrameworkUtils.getLoginUser;
|
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUser;
|
||||||
import static cn.iocoder.yudao.module.farm.enums.ErrorCodeConstants.FARMING_TYPE_MAINTENANCE_NOT_EXISTS;
|
import static cn.iocoder.yudao.module.farm.enums.ErrorCodeConstants.FARMING_TYPE_MAINTENANCE_NOT_EXISTS;
|
||||||
|
|
||||||
@@ -89,4 +85,11 @@ private void validateFarmingTypeMaintenanceExists(String id) {
|
|||||||
return farmingTypeMaintenanceMapper.selectPage(pageReqVO);
|
return farmingTypeMaintenanceMapper.selectPage(pageReqVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<FarmingTypeMaintenanceDO> getFarmingTypeList() {
|
||||||
|
FarmingTypeMaintenanceSaveReqVO reqVO = new FarmingTypeMaintenanceSaveReqVO();
|
||||||
|
reqVO.setDeleted(CommonConstants.NO_CODE);
|
||||||
|
|
||||||
|
return farmingTypeMaintenanceMapper.listForFarmingType(reqVO);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -1,17 +1,30 @@
|
|||||||
package cn.iocoder.yudao.module.farm.service.home;
|
package cn.iocoder.yudao.module.farm.service.home;
|
||||||
|
|
||||||
|
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.HomeInfoVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.home.vo.OutlinedInfoVO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description:
|
* @description: 首页接口
|
||||||
* @author: binda
|
* @author: binda
|
||||||
* @data: 2025/8/14 19:45
|
* @data: 2025/8/14 19:45
|
||||||
*/
|
*/
|
||||||
public interface HomeService {
|
public interface HomeService {
|
||||||
/**
|
/**
|
||||||
* 首页综合信息
|
* 首页综合信息
|
||||||
* @param baseId
|
* @param baseId 基地ID
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
HomeInfoVO getHomeInfo(String baseId);
|
HomeInfoVO getHomeInfo(String baseId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 首页概要信息
|
||||||
|
* @param baseId 基地ID
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
OutlinedInfoVO getOutlinedInfo(String baseId);
|
||||||
|
|
||||||
|
List<BaseNameVO> getBaseNameList();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
package cn.iocoder.yudao.module.farm.service.home;
|
package cn.iocoder.yudao.module.farm.service.home;
|
||||||
|
|
||||||
|
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.HomeInfoVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.home.vo.OutlinedInfoVO;
|
||||||
import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO;
|
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.plotinfo.PlotInfoDO;
|
||||||
import cn.iocoder.yudao.module.farm.dal.dataobject.productionplan.ProductionPlanDO;
|
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.baseinfo.BaseInfoService;
|
||||||
|
import cn.iocoder.yudao.module.farm.service.deviceplotrelation.DevicePlotRelationService;
|
||||||
import cn.iocoder.yudao.module.farm.service.plotinfo.PlotInfoService;
|
import cn.iocoder.yudao.module.farm.service.plotinfo.PlotInfoService;
|
||||||
import cn.iocoder.yudao.module.farm.service.productionplan.ProductionPlanService;
|
import cn.iocoder.yudao.module.farm.service.productionplan.ProductionPlanService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -23,11 +26,13 @@ public class HomeServiceImpl implements HomeService {
|
|||||||
private final BaseInfoService baseInfoService;
|
private final BaseInfoService baseInfoService;
|
||||||
private final PlotInfoService plotInfoService;
|
private final PlotInfoService plotInfoService;
|
||||||
private final ProductionPlanService productionPlanService;
|
private final ProductionPlanService productionPlanService;
|
||||||
|
private final DevicePlotRelationService driverPropertyInfoService;
|
||||||
|
|
||||||
public HomeServiceImpl(BaseInfoService baseInfoService, PlotInfoService plotInfoService, ProductionPlanService productionPlanService) {
|
public HomeServiceImpl(BaseInfoService baseInfoService, PlotInfoService plotInfoService, ProductionPlanService productionPlanService, DevicePlotRelationService driverPropertyInfoService) {
|
||||||
this.baseInfoService = baseInfoService;
|
this.baseInfoService = baseInfoService;
|
||||||
this.plotInfoService = plotInfoService;
|
this.plotInfoService = plotInfoService;
|
||||||
this.productionPlanService = productionPlanService;
|
this.productionPlanService = productionPlanService;
|
||||||
|
this.driverPropertyInfoService = driverPropertyInfoService;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -108,4 +113,20 @@ public class HomeServiceImpl implements HomeService {
|
|||||||
return resList;
|
return resList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public OutlinedInfoVO getOutlinedInfo(String baseId) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
OutlinedInfoVO res = new OutlinedInfoVO();
|
||||||
|
res.setTaskCount(0); // todo 任务数量
|
||||||
|
res.setWarningCount(0); // todo 告警数量
|
||||||
|
res.setIotCount(0); // todo 物联设备
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<BaseNameVO> getBaseNameList() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.service.speciesclassifylibrary;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.farm.dal.dataobject.speciesclassifylibrary.SpeciesClassifyLibraryDO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description: 物种分类
|
||||||
|
* @author: binda
|
||||||
|
* @data: 2025/8/17 16:27
|
||||||
|
*/
|
||||||
|
public interface SpeciesClassifyLibraryService {
|
||||||
|
List<SpeciesClassifyLibraryDO> getSpeciesClassifyLibraryList();
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.service.speciesclassifylibrary;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.dict.vo.SpeciesClassifyLibraryReqVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.dal.dataobject.speciesclassifylibrary.SpeciesClassifyLibraryDO;
|
||||||
|
import cn.iocoder.yudao.module.farm.dal.mysql.speciesclassifylibrary.SpeciesClassifyLibraryMapper;
|
||||||
|
import cn.iocoder.yudao.module.farm.enums.CommonConstants;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description: 物种分类
|
||||||
|
* @author: binda
|
||||||
|
* @date: 2025/8/17 16:28
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Validated
|
||||||
|
public class SpeciesClassifyLibraryServiceImpl implements SpeciesClassifyLibraryService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SpeciesClassifyLibraryMapper speciesClassifyLibraryMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SpeciesClassifyLibraryDO> getSpeciesClassifyLibraryList() {
|
||||||
|
return speciesClassifyLibraryMapper.getSpeciesClassifyLibraryList(new SpeciesClassifyLibraryReqVO());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,4 +9,45 @@
|
|||||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
<sql id="all_fields">
|
||||||
|
id,
|
||||||
|
farming_code,
|
||||||
|
farming_name,
|
||||||
|
use_status,
|
||||||
|
creator,
|
||||||
|
create_time,
|
||||||
|
updater,
|
||||||
|
update_time,
|
||||||
|
deleted,
|
||||||
|
base_id,
|
||||||
|
base_name,
|
||||||
|
plot_id,
|
||||||
|
plot_name,
|
||||||
|
tenant_id
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<select id="listForFarmingType"
|
||||||
|
parameterType="cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.FarmingTypeMaintenanceSaveReqVO"
|
||||||
|
resultType="cn.iocoder.yudao.module.farm.dal.dataobject.farmingtypemaintenance.FarmingTypeMaintenanceDO">
|
||||||
|
|
||||||
|
SELECT <include refid="all_fields"/> FROM farm_farming_type_maintenance t
|
||||||
|
<where>
|
||||||
|
<if test="req.id != null and req.id != ''">
|
||||||
|
AND t.id = #{req.id}
|
||||||
|
</if>
|
||||||
|
<if test="req.farmingCode != null and req.farmingCode != ''">
|
||||||
|
AND t.farming_code = #{req.farmingCode}
|
||||||
|
</if>
|
||||||
|
<if test="req.farmingName != null and req.farmingName != ''">
|
||||||
|
AND t.farming_name LIKE CONCAT('%', #{req.farmingName}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="req.useStatus != null">
|
||||||
|
AND t.use_status = #{req.useStatus}
|
||||||
|
</if>
|
||||||
|
<if test="req.deleted != null">
|
||||||
|
AND t.deleted = #{req.deleted}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="cn.iocoder.yudao.module.farm.dal.mysql.speciesclassifylibrary.SpeciesClassifyLibraryMapper">
|
||||||
|
|
||||||
|
<!--
|
||||||
|
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||||||
|
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||||||
|
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||||
|
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||||
|
-->
|
||||||
|
|
||||||
|
<sql id="all_fields">
|
||||||
|
id,
|
||||||
|
primary_class_code,
|
||||||
|
primary_class_name,
|
||||||
|
secondary_class_code,
|
||||||
|
secondary_class_name,
|
||||||
|
use_status,
|
||||||
|
creator,
|
||||||
|
create_time,
|
||||||
|
updater,
|
||||||
|
update_time
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<select id="getSpeciesClassifyLibraryList"
|
||||||
|
parameterType="cn.iocoder.yudao.module.farm.controller.admin.dict.vo.SpeciesClassifyLibraryReqVO"
|
||||||
|
resultType="cn.iocoder.yudao.module.farm.dal.dataobject.speciesclassifylibrary.SpeciesClassifyLibraryDO">
|
||||||
|
|
||||||
|
SELECT <include refid="all_fields"/> FROM farm_species_classify_library t
|
||||||
|
<where>
|
||||||
|
<if test="req.id != null">
|
||||||
|
AND id = #{req.id}
|
||||||
|
</if>
|
||||||
|
<if test="req.primaryClassCode != null and req.primaryClassCode != ''">
|
||||||
|
AND primary_class_code = #{req.primaryClassCode}
|
||||||
|
</if>
|
||||||
|
<if test="req.primaryClassName != null and req.primaryClassName != ''">
|
||||||
|
AND primary_class_name LIKE CONCAT('%', #{req.primaryClassName}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="req.secondaryClassCode != null and req.secondaryClassCode != ''">
|
||||||
|
AND secondary_class_code = #{req.secondaryClassCode}
|
||||||
|
</if>
|
||||||
|
<if test="req.secondaryClassName != null and req.secondaryClassName != ''">
|
||||||
|
AND secondary_class_name LIKE CONCAT('%', #{req.secondaryClassName}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="req.useStatus != null">
|
||||||
|
AND use_status = #{req.useStatus}
|
||||||
|
</if>
|
||||||
|
<if test="req.creator != null and req.creator != ''">
|
||||||
|
AND creator = #{req.creator}
|
||||||
|
</if>
|
||||||
|
<if test="req.createTime != null">
|
||||||
|
AND create_time >= #{req.createTime}
|
||||||
|
</if>
|
||||||
|
<if test="req.updater != null and req.updater != ''">
|
||||||
|
AND updater = #{req.updater}
|
||||||
|
</if>
|
||||||
|
<if test="req.updateTime != null">
|
||||||
|
AND update_time >= #{req.updateTime}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
ORDER BY t.id DESC
|
||||||
|
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
Reference in New Issue
Block a user