diff --git a/yudao-module-farm/pom.xml b/yudao-module-farm/pom.xml index 62ef59e8..ee3a3afa 100644 --- a/yudao-module-farm/pom.xml +++ b/yudao-module-farm/pom.xml @@ -29,6 +29,11 @@ yudao-spring-boot-starter-security + + cn.iocoder.boot + yudao-spring-boot-starter-web + + cn.iocoder.boot yudao-spring-boot-starter-websocket @@ -117,6 +122,22 @@ spring-websocket + + + + + + + + + + + + + + + + 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 new file mode 100644 index 00000000..a0578bec --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/baseinfo/BaseInfoController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.baseinfo; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.baseinfo.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO; +import cn.iocoder.yudao.module.farm.service.baseinfo.BaseInfoService; + +@Tag(name = "管理后台 - 基地") +@RestController +@RequestMapping("/farm/base-info") +@Validated +public class BaseInfoController { + + @Resource + private BaseInfoService baseInfoService; + + @PostMapping("/create") + @Operation(summary = "创建基地") + @PreAuthorize("@ss.hasPermission('farm:base-info:create')") + public CommonResult createBaseInfo(@Valid @RequestBody BaseInfoSaveReqVO createReqVO) { + return success(baseInfoService.createBaseInfo(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新基地") + @PreAuthorize("@ss.hasPermission('farm:base-info:update')") + public CommonResult updateBaseInfo(@Valid @RequestBody BaseInfoSaveReqVO updateReqVO) { + baseInfoService.updateBaseInfo(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除基地") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:base-info:delete')") + public CommonResult deleteBaseInfo(@RequestParam("id") String id) { + baseInfoService.deleteBaseInfo(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除基地") + @PreAuthorize("@ss.hasPermission('farm:base-info:delete')") + public CommonResult deleteBaseInfoList(@RequestParam("ids") List ids) { + baseInfoService.deleteBaseInfoListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得基地") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:base-info:query')") + public CommonResult getBaseInfo(@RequestParam("id") String id) { + BaseInfoDO baseInfo = baseInfoService.getBaseInfo(id); + return success(BeanUtils.toBean(baseInfo, BaseInfoRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得基地分页") + @PreAuthorize("@ss.hasPermission('farm:base-info:query')") + public CommonResult> getBaseInfoPage(@Valid BaseInfoPageReqVO pageReqVO) { + PageResult pageResult = baseInfoService.getBaseInfoPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, BaseInfoRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出基地 Excel") + @PreAuthorize("@ss.hasPermission('farm:base-info:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportBaseInfoExcel(@Valid BaseInfoPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = baseInfoService.getBaseInfoPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "基地.xls", "数据", BaseInfoRespVO.class, + BeanUtils.toBean(list, BaseInfoRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/baseinfo/vo/BaseInfoPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/baseinfo/vo/BaseInfoPageReqVO.java new file mode 100644 index 00000000..4e80c884 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/baseinfo/vo/BaseInfoPageReqVO.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.farm.controller.admin.baseinfo.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import java.math.BigDecimal; +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; + +@Schema(description = "管理后台 - 基地分页 Request VO") +@Data +public class BaseInfoPageReqVO extends PageParam { + + @Schema(description = "基地名称", example = "张三") + private String name; + + @Schema(description = "用户id用,隔开") + private String manager; + + @Schema(description = "面积") + private BigDecimal area; + + @Schema(description = "json字符串保存") + private String point; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "租户编号", example = "27629") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/baseinfo/vo/BaseInfoRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/baseinfo/vo/BaseInfoRespVO.java new file mode 100644 index 00000000..4a3ea8c2 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/baseinfo/vo/BaseInfoRespVO.java @@ -0,0 +1,44 @@ +package cn.iocoder.yudao.module.farm.controller.admin.baseinfo.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 基地 Response VO") +@Data +@ExcelIgnoreUnannotated +public class BaseInfoRespVO { + + @Schema(description = "基地id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13189") + @ExcelProperty("基地id") + private String id; + + @Schema(description = "基地名称", example = "张三") + @ExcelProperty("基地名称") + private String name; + + @Schema(description = "用户id用,隔开") + @ExcelProperty("用户id用,隔开") + private String manager; + + @Schema(description = "面积") + @ExcelProperty("面积") + private BigDecimal area; + + @Schema(description = "json字符串保存") + @ExcelProperty("json字符串保存") + private String point; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "租户编号", example = "27629") + @ExcelProperty("租户编号") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/baseinfo/vo/BaseInfoSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/baseinfo/vo/BaseInfoSaveReqVO.java new file mode 100644 index 00000000..29dbe530 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/baseinfo/vo/BaseInfoSaveReqVO.java @@ -0,0 +1,31 @@ +package cn.iocoder.yudao.module.farm.controller.admin.baseinfo.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 基地新增/修改 Request VO") +@Data +public class BaseInfoSaveReqVO { + + @Schema(description = "基地id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13189") + private String id; + + @Schema(description = "基地名称", example = "张三") + private String name; + + @Schema(description = "用户id用,隔开") + private String manager; + + @Schema(description = "面积") + private BigDecimal area; + + @Schema(description = "json字符串保存") + private String point; + + @Schema(description = "租户编号", example = "27629") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/companyinfo/CompanyInfoController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/companyinfo/CompanyInfoController.java new file mode 100644 index 00000000..2aa0b698 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/companyinfo/CompanyInfoController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.companyinfo; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.companyinfo.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.companyinfo.CompanyInfoDO; +import cn.iocoder.yudao.module.farm.service.companyinfo.CompanyInfoService; + +@Tag(name = "管理后台 - 企业信息") +@RestController +@RequestMapping("/farm/company-info") +@Validated +public class CompanyInfoController { + + @Resource + private CompanyInfoService companyInfoService; + + @PostMapping("/create") + @Operation(summary = "创建企业信息") + @PreAuthorize("@ss.hasPermission('farm:company-info:create')") + public CommonResult createCompanyInfo(@Valid @RequestBody CompanyInfoSaveReqVO createReqVO) { + return success(companyInfoService.createCompanyInfo(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新企业信息") + @PreAuthorize("@ss.hasPermission('farm:company-info:update')") + public CommonResult updateCompanyInfo(@Valid @RequestBody CompanyInfoSaveReqVO updateReqVO) { + companyInfoService.updateCompanyInfo(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除企业信息") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:company-info:delete')") + public CommonResult deleteCompanyInfo(@RequestParam("id") String id) { + companyInfoService.deleteCompanyInfo(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除企业信息") + @PreAuthorize("@ss.hasPermission('farm:company-info:delete')") + public CommonResult deleteCompanyInfoList(@RequestParam("ids") List ids) { + companyInfoService.deleteCompanyInfoListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得企业信息") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:company-info:query')") + public CommonResult getCompanyInfo(@RequestParam("id") String id) { + CompanyInfoDO companyInfo = companyInfoService.getCompanyInfo(id); + return success(BeanUtils.toBean(companyInfo, CompanyInfoRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得企业信息分页") + @PreAuthorize("@ss.hasPermission('farm:company-info:query')") + public CommonResult> getCompanyInfoPage(@Valid CompanyInfoPageReqVO pageReqVO) { + PageResult pageResult = companyInfoService.getCompanyInfoPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, CompanyInfoRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出企业信息 Excel") + @PreAuthorize("@ss.hasPermission('farm:company-info:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportCompanyInfoExcel(@Valid CompanyInfoPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = companyInfoService.getCompanyInfoPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "企业信息.xls", "数据", CompanyInfoRespVO.class, + BeanUtils.toBean(list, CompanyInfoRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/companyinfo/vo/CompanyInfoPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/companyinfo/vo/CompanyInfoPageReqVO.java new file mode 100644 index 00000000..35829673 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/companyinfo/vo/CompanyInfoPageReqVO.java @@ -0,0 +1,65 @@ +package cn.iocoder.yudao.module.farm.controller.admin.companyinfo.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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; + +@Schema(description = "管理后台 - 企业信息分页 Request VO") +@Data +public class CompanyInfoPageReqVO extends PageParam { + + @Schema(description = "企业名称", example = "赵六") + private String name; + + @Schema(description = "负责人") + private String director; + + @Schema(description = "企业电话") + private String phone; + + @Schema(description = "所在地址") + private String address; + + @Schema(description = "详细地址") + private String detailedAddress; + + @Schema(description = "网店名称", example = "张三") + private String storeName; + + @Schema(description = "网店名称") + private String storeAddress; + + @Schema(description = "网店地址") + private String introduce; + + @Schema(description = "宣传图片") + private String publicityImage; + + @Schema(description = "企业logo") + private String logoImage; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "基地id", example = "25213") + private String baseId; + + @Schema(description = "基地", example = "芋艿") + private String baseName; + + @Schema(description = "地块ID", example = "8291") + private String plotId; + + @Schema(description = "地块", example = "王五") + private String plotName; + + @Schema(description = "租户id", example = "9295") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/companyinfo/vo/CompanyInfoRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/companyinfo/vo/CompanyInfoRespVO.java new file mode 100644 index 00000000..c90fd223 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/companyinfo/vo/CompanyInfoRespVO.java @@ -0,0 +1,83 @@ +package cn.iocoder.yudao.module.farm.controller.admin.companyinfo.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 企业信息 Response VO") +@Data +@ExcelIgnoreUnannotated +public class CompanyInfoRespVO { + + @Schema(description = "企业id", requiredMode = Schema.RequiredMode.REQUIRED, example = "22365") + @ExcelProperty("企业id") + private String id; + + @Schema(description = "企业名称", example = "赵六") + @ExcelProperty("企业名称") + private String name; + + @Schema(description = "负责人") + @ExcelProperty("负责人") + private String director; + + @Schema(description = "企业电话") + @ExcelProperty("企业电话") + private String phone; + + @Schema(description = "所在地址") + @ExcelProperty("所在地址") + private String address; + + @Schema(description = "详细地址") + @ExcelProperty("详细地址") + private String detailedAddress; + + @Schema(description = "网店名称", example = "张三") + @ExcelProperty("网店名称") + private String storeName; + + @Schema(description = "网店名称") + @ExcelProperty("网店名称") + private String storeAddress; + + @Schema(description = "网店地址") + @ExcelProperty("网店地址") + private String introduce; + + @Schema(description = "宣传图片") + @ExcelProperty("宣传图片") + private String publicityImage; + + @Schema(description = "企业logo") + @ExcelProperty("企业logo") + private String logoImage; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "基地id", example = "25213") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "芋艿") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "8291") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "王五") + @ExcelProperty("地块") + private String plotName; + + @Schema(description = "租户id", example = "9295") + @ExcelProperty("租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/companyinfo/vo/CompanyInfoSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/companyinfo/vo/CompanyInfoSaveReqVO.java new file mode 100644 index 00000000..6ffe602b --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/companyinfo/vo/CompanyInfoSaveReqVO.java @@ -0,0 +1,60 @@ +package cn.iocoder.yudao.module.farm.controller.admin.companyinfo.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 企业信息新增/修改 Request VO") +@Data +public class CompanyInfoSaveReqVO { + + @Schema(description = "企业id", requiredMode = Schema.RequiredMode.REQUIRED, example = "22365") + private String id; + + @Schema(description = "企业名称", example = "赵六") + private String name; + + @Schema(description = "负责人") + private String director; + + @Schema(description = "企业电话") + private String phone; + + @Schema(description = "所在地址") + private String address; + + @Schema(description = "详细地址") + private String detailedAddress; + + @Schema(description = "网店名称", example = "张三") + private String storeName; + + @Schema(description = "网店名称") + private String storeAddress; + + @Schema(description = "网店地址") + private String introduce; + + @Schema(description = "宣传图片") + private String publicityImage; + + @Schema(description = "企业logo") + private String logoImage; + + @Schema(description = "基地id", example = "25213") + private String baseId; + + @Schema(description = "基地", example = "芋艿") + private String baseName; + + @Schema(description = "地块ID", example = "8291") + private String plotId; + + @Schema(description = "地块", example = "王五") + private String plotName; + + @Schema(description = "租户id", example = "9295") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/cultivationarea/CultivationAreaController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/cultivationarea/CultivationAreaController.java new file mode 100644 index 00000000..c21d9f0c --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/cultivationarea/CultivationAreaController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.cultivationarea; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.cultivationarea.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.cultivationarea.CultivationAreaDO; +import cn.iocoder.yudao.module.farm.service.cultivationarea.CultivationAreaService; + +@Tag(name = "管理后台 - 种植区域") +@RestController +@RequestMapping("/farm/cultivation-area") +@Validated +public class CultivationAreaController { + + @Resource + private CultivationAreaService cultivationAreaService; + + @PostMapping("/create") + @Operation(summary = "创建种植区域") + @PreAuthorize("@ss.hasPermission('farm:cultivation-area:create')") + public CommonResult createCultivationArea(@Valid @RequestBody CultivationAreaSaveReqVO createReqVO) { + return success(cultivationAreaService.createCultivationArea(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新种植区域") + @PreAuthorize("@ss.hasPermission('farm:cultivation-area:update')") + public CommonResult updateCultivationArea(@Valid @RequestBody CultivationAreaSaveReqVO updateReqVO) { + cultivationAreaService.updateCultivationArea(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除种植区域") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:cultivation-area:delete')") + public CommonResult deleteCultivationArea(@RequestParam("id") String id) { + cultivationAreaService.deleteCultivationArea(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除种植区域") + @PreAuthorize("@ss.hasPermission('farm:cultivation-area:delete')") + public CommonResult deleteCultivationAreaList(@RequestParam("ids") List ids) { + cultivationAreaService.deleteCultivationAreaListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得种植区域") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:cultivation-area:query')") + public CommonResult getCultivationArea(@RequestParam("id") String id) { + CultivationAreaDO cultivationArea = cultivationAreaService.getCultivationArea(id); + return success(BeanUtils.toBean(cultivationArea, CultivationAreaRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得种植区域分页") + @PreAuthorize("@ss.hasPermission('farm:cultivation-area:query')") + public CommonResult> getCultivationAreaPage(@Valid CultivationAreaPageReqVO pageReqVO) { + PageResult pageResult = cultivationAreaService.getCultivationAreaPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, CultivationAreaRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出种植区域 Excel") + @PreAuthorize("@ss.hasPermission('farm:cultivation-area:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportCultivationAreaExcel(@Valid CultivationAreaPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = cultivationAreaService.getCultivationAreaPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "种植区域.xls", "数据", CultivationAreaRespVO.class, + BeanUtils.toBean(list, CultivationAreaRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/cultivationarea/vo/CultivationAreaPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/cultivationarea/vo/CultivationAreaPageReqVO.java new file mode 100644 index 00000000..ef0f85df --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/cultivationarea/vo/CultivationAreaPageReqVO.java @@ -0,0 +1,48 @@ +package cn.iocoder.yudao.module.farm.controller.admin.cultivationarea.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import java.math.BigDecimal; +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; + +@Schema(description = "管理后台 - 种植区域分页 Request VO") +@Data +public class CultivationAreaPageReqVO extends PageParam { + + @Schema(description = "基地id", example = "20870") + private String baseId; + + @Schema(description = "基地", example = "王五") + private String baseName; + + @Schema(description = "地块ID", example = "1564") + private String plotId; + + @Schema(description = "地块", example = "张三") + private String plotName; + + @Schema(description = "计划面积") + private BigDecimal planArea; + + @Schema(description = "总面积") + private BigDecimal totalArea; + + @Schema(description = "剩余面积") + private BigDecimal surplusArea; + + @Schema(description = "逻辑删除标识符", example = "1") + private Boolean delStatus; + + @Schema(description = "租户id", example = "11840") + private String tenantId; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/cultivationarea/vo/CultivationAreaRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/cultivationarea/vo/CultivationAreaRespVO.java new file mode 100644 index 00000000..05d21784 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/cultivationarea/vo/CultivationAreaRespVO.java @@ -0,0 +1,60 @@ +package cn.iocoder.yudao.module.farm.controller.admin.cultivationarea.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 种植区域 Response VO") +@Data +@ExcelIgnoreUnannotated +public class CultivationAreaRespVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8369") + @ExcelProperty("基础id") + private String id; + + @Schema(description = "基地id", example = "20870") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "王五") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "1564") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "张三") + @ExcelProperty("地块") + private String plotName; + + @Schema(description = "计划面积") + @ExcelProperty("计划面积") + private BigDecimal planArea; + + @Schema(description = "总面积") + @ExcelProperty("总面积") + private BigDecimal totalArea; + + @Schema(description = "剩余面积") + @ExcelProperty("剩余面积") + private BigDecimal surplusArea; + + @Schema(description = "逻辑删除标识符", example = "1") + @ExcelProperty("逻辑删除标识符") + private Boolean delStatus; + + @Schema(description = "租户id", example = "11840") + @ExcelProperty("租户id") + private String tenantId; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/cultivationarea/vo/CultivationAreaSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/cultivationarea/vo/CultivationAreaSaveReqVO.java new file mode 100644 index 00000000..7587804d --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/cultivationarea/vo/CultivationAreaSaveReqVO.java @@ -0,0 +1,43 @@ +package cn.iocoder.yudao.module.farm.controller.admin.cultivationarea.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 种植区域新增/修改 Request VO") +@Data +public class CultivationAreaSaveReqVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8369") + private String id; + + @Schema(description = "基地id", example = "20870") + private String baseId; + + @Schema(description = "基地", example = "王五") + private String baseName; + + @Schema(description = "地块ID", example = "1564") + private String plotId; + + @Schema(description = "地块", example = "张三") + private String plotName; + + @Schema(description = "计划面积") + private BigDecimal planArea; + + @Schema(description = "总面积") + private BigDecimal totalArea; + + @Schema(description = "剩余面积") + private BigDecimal surplusArea; + + @Schema(description = "逻辑删除标识符", example = "1") + private Boolean delStatus; + + @Schema(description = "租户id", example = "11840") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/DeviceInfoController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/DeviceInfoController.java new file mode 100644 index 00000000..856cb2f2 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/DeviceInfoController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.deviceinfo; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.deviceinfo.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.deviceinfo.DeviceInfoDO; +import cn.iocoder.yudao.module.farm.service.deviceinfo.DeviceInfoService; + +@Tag(name = "管理后台 - 设备信息") +@RestController +@RequestMapping("/farm/device-info") +@Validated +public class DeviceInfoController { + + @Resource + private DeviceInfoService deviceInfoService; + + @PostMapping("/create") + @Operation(summary = "创建设备信息") + @PreAuthorize("@ss.hasPermission('farm:device-info:create')") + public CommonResult createDeviceInfo(@Valid @RequestBody DeviceInfoSaveReqVO createReqVO) { + return success(deviceInfoService.createDeviceInfo(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新设备信息") + @PreAuthorize("@ss.hasPermission('farm:device-info:update')") + public CommonResult updateDeviceInfo(@Valid @RequestBody DeviceInfoSaveReqVO updateReqVO) { + deviceInfoService.updateDeviceInfo(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除设备信息") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:device-info:delete')") + public CommonResult deleteDeviceInfo(@RequestParam("id") String id) { + deviceInfoService.deleteDeviceInfo(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除设备信息") + @PreAuthorize("@ss.hasPermission('farm:device-info:delete')") + public CommonResult deleteDeviceInfoList(@RequestParam("ids") List ids) { + deviceInfoService.deleteDeviceInfoListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得设备信息") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:device-info:query')") + public CommonResult getDeviceInfo(@RequestParam("id") String id) { + DeviceInfoDO deviceInfo = deviceInfoService.getDeviceInfo(id); + return success(BeanUtils.toBean(deviceInfo, DeviceInfoRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得设备信息分页") + @PreAuthorize("@ss.hasPermission('farm:device-info:query')") + public CommonResult> getDeviceInfoPage(@Valid DeviceInfoPageReqVO pageReqVO) { + PageResult pageResult = deviceInfoService.getDeviceInfoPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, DeviceInfoRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出设备信息 Excel") + @PreAuthorize("@ss.hasPermission('farm:device-info:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportDeviceInfoExcel(@Valid DeviceInfoPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = deviceInfoService.getDeviceInfoPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "设备信息.xls", "数据", DeviceInfoRespVO.class, + BeanUtils.toBean(list, DeviceInfoRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/vo/DeviceInfoPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/vo/DeviceInfoPageReqVO.java new file mode 100644 index 00000000..72093215 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/vo/DeviceInfoPageReqVO.java @@ -0,0 +1,117 @@ +package cn.iocoder.yudao.module.farm.controller.admin.deviceinfo.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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; + +@Schema(description = "管理后台 - 设备信息分页 Request VO") +@Data +public class DeviceInfoPageReqVO extends PageParam { + + @Schema(description = "设备名称", example = "赵六") + private String deviceName; + + @Schema(description = "LP设备名称", example = "李四") + private String lpDeviceName; + + @Schema(description = "设备分类编码") + private String categoryCode; + + @Schema(description = "设备分类名称", example = "芋艿") + private String deviceCategoryName; + + @Schema(description = "设备分类ID", example = "15366") + private String deviceCategoryUniqueId; + + @Schema(description = "隔离标识", example = "29422") + private String farmIsolationId; + + @Schema(description = "LP产品标识") + private String lpProductKey; + + @Schema(description = "LP产品名称", example = "李四") + private String lpProductName; + + @Schema(description = "LP产品唯一ID", example = "10175") + private String lpProductUniqueId; + + @Schema(description = "设备状态", example = "2") + private Integer status; + + @Schema(description = "设备类型", example = "2") + private String deviceType; + + @Schema(description = "预留类型字段", example = "1") + private String type; + + @Schema(description = "设备厂商") + private String vendor; + + @Schema(description = "设备描述", example = "随便") + private String description; + + @Schema(description = "分类描述类型", example = "1") + private String categoryDescType; + + @Schema(description = "创建时间戳") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "记录创建时间") + private LocalDateTime createdAt; + + @Schema(description = "记录更新时间") + private LocalDateTime updatedAt; + + @Schema(description = "设备图片") + private String image; + + @Schema(description = "告警状态图片") + private String alarmImage; + + @Schema(description = "离线状态图片") + private String offlineImage; + + @Schema(description = "分类图标") + private String categoryIcon; + + @Schema(description = "电池电量(0-100)") + private Integer battery; + + @Schema(description = "信号强度") + private Short rssi; + + @Schema(description = "物联网卡过期时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] iotCardExpireTime; + + @Schema(description = "是否存在物联网卡") + private Boolean isIotCardExisted; + + @Schema(description = "边缘实例ID", example = "13311") + private String edgeInstanceUniqueId; + + @Schema(description = "数据快照") + private String dataImage; + + @Schema(description = "基地id", example = "9675") + private String baseId; + + @Schema(description = "基地", example = "芋艿") + private String baseName; + + @Schema(description = "地块ID", example = "22883") + private String plotId; + + @Schema(description = "地块", example = "李四") + private String plotName; + + @Schema(description = "租户id", example = "11502") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/vo/DeviceInfoRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/vo/DeviceInfoRespVO.java new file mode 100644 index 00000000..9e31bb98 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/vo/DeviceInfoRespVO.java @@ -0,0 +1,151 @@ +package cn.iocoder.yudao.module.farm.controller.admin.deviceinfo.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 设备信息 Response VO") +@Data +@ExcelIgnoreUnannotated +public class DeviceInfoRespVO { + + @Schema(description = "设备全局唯一标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "9620") + @ExcelProperty("设备全局唯一标识") + private String deviceUniqueId; + + @Schema(description = "设备名称", example = "赵六") + @ExcelProperty("设备名称") + private String deviceName; + + @Schema(description = "LP设备名称", example = "李四") + @ExcelProperty("LP设备名称") + private String lpDeviceName; + + @Schema(description = "设备分类编码") + @ExcelProperty("设备分类编码") + private String categoryCode; + + @Schema(description = "设备分类名称", example = "芋艿") + @ExcelProperty("设备分类名称") + private String deviceCategoryName; + + @Schema(description = "设备分类ID", example = "15366") + @ExcelProperty("设备分类ID") + private String deviceCategoryUniqueId; + + @Schema(description = "隔离标识", example = "29422") + @ExcelProperty("隔离标识") + private String farmIsolationId; + + @Schema(description = "LP产品标识") + @ExcelProperty("LP产品标识") + private String lpProductKey; + + @Schema(description = "LP产品名称", example = "李四") + @ExcelProperty("LP产品名称") + private String lpProductName; + + @Schema(description = "LP产品唯一ID", example = "10175") + @ExcelProperty("LP产品唯一ID") + private String lpProductUniqueId; + + @Schema(description = "设备状态", example = "2") + @ExcelProperty("设备状态") + private Integer status; + + @Schema(description = "设备类型", example = "2") + @ExcelProperty("设备类型") + private String deviceType; + + @Schema(description = "预留类型字段", example = "1") + @ExcelProperty("预留类型字段") + private String type; + + @Schema(description = "设备厂商") + @ExcelProperty("设备厂商") + private String vendor; + + @Schema(description = "设备描述", example = "随便") + @ExcelProperty("设备描述") + private String description; + + @Schema(description = "分类描述类型", example = "1") + @ExcelProperty("分类描述类型") + private String categoryDescType; + + @Schema(description = "创建时间戳") + @ExcelProperty("创建时间戳") + private LocalDateTime createTime; + + @Schema(description = "记录创建时间") + @ExcelProperty("记录创建时间") + private LocalDateTime createdAt; + + @Schema(description = "记录更新时间") + @ExcelProperty("记录更新时间") + private LocalDateTime updatedAt; + + @Schema(description = "设备图片") + @ExcelProperty("设备图片") + private String image; + + @Schema(description = "告警状态图片") + @ExcelProperty("告警状态图片") + private String alarmImage; + + @Schema(description = "离线状态图片") + @ExcelProperty("离线状态图片") + private String offlineImage; + + @Schema(description = "分类图标") + @ExcelProperty("分类图标") + private String categoryIcon; + + @Schema(description = "电池电量(0-100)") + @ExcelProperty("电池电量(0-100)") + private Integer battery; + + @Schema(description = "信号强度") + @ExcelProperty("信号强度") + private Short rssi; + + @Schema(description = "物联网卡过期时间") + @ExcelProperty("物联网卡过期时间") + private LocalDateTime iotCardExpireTime; + + @Schema(description = "是否存在物联网卡") + @ExcelProperty("是否存在物联网卡") + private Boolean isIotCardExisted; + + @Schema(description = "边缘实例ID", example = "13311") + @ExcelProperty("边缘实例ID") + private String edgeInstanceUniqueId; + + @Schema(description = "数据快照") + @ExcelProperty("数据快照") + private String dataImage; + + @Schema(description = "基地id", example = "9675") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "芋艿") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "22883") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "李四") + @ExcelProperty("地块") + private String plotName; + + @Schema(description = "租户id", example = "11502") + @ExcelProperty("租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/vo/DeviceInfoSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/vo/DeviceInfoSaveReqVO.java new file mode 100644 index 00000000..a265e3f8 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceinfo/vo/DeviceInfoSaveReqVO.java @@ -0,0 +1,113 @@ +package cn.iocoder.yudao.module.farm.controller.admin.deviceinfo.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 设备信息新增/修改 Request VO") +@Data +public class DeviceInfoSaveReqVO { + + @Schema(description = "设备全局唯一标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "9620") + private String deviceUniqueId; + + @Schema(description = "设备名称", example = "赵六") + private String deviceName; + + @Schema(description = "LP设备名称", example = "李四") + private String lpDeviceName; + + @Schema(description = "设备分类编码") + private String categoryCode; + + @Schema(description = "设备分类名称", example = "芋艿") + private String deviceCategoryName; + + @Schema(description = "设备分类ID", example = "15366") + private String deviceCategoryUniqueId; + + @Schema(description = "隔离标识", example = "29422") + private String farmIsolationId; + + @Schema(description = "LP产品标识") + private String lpProductKey; + + @Schema(description = "LP产品名称", example = "李四") + private String lpProductName; + + @Schema(description = "LP产品唯一ID", example = "10175") + private String lpProductUniqueId; + + @Schema(description = "设备状态", example = "2") + private Integer status; + + @Schema(description = "设备类型", example = "2") + private String deviceType; + + @Schema(description = "预留类型字段", example = "1") + private String type; + + @Schema(description = "设备厂商") + private String vendor; + + @Schema(description = "设备描述", example = "随便") + private String description; + + @Schema(description = "分类描述类型", example = "1") + private String categoryDescType; + + @Schema(description = "记录创建时间") + private LocalDateTime createdAt; + + @Schema(description = "记录更新时间") + private LocalDateTime updatedAt; + + @Schema(description = "设备图片") + private String image; + + @Schema(description = "告警状态图片") + private String alarmImage; + + @Schema(description = "离线状态图片") + private String offlineImage; + + @Schema(description = "分类图标") + private String categoryIcon; + + @Schema(description = "电池电量(0-100)") + private Integer battery; + + @Schema(description = "信号强度") + private Short rssi; + + @Schema(description = "物联网卡过期时间") + private LocalDateTime iotCardExpireTime; + + @Schema(description = "是否存在物联网卡") + private Boolean isIotCardExisted; + + @Schema(description = "边缘实例ID", example = "13311") + private String edgeInstanceUniqueId; + + @Schema(description = "数据快照") + private String dataImage; + + @Schema(description = "基地id", example = "9675") + private String baseId; + + @Schema(description = "基地", example = "芋艿") + private String baseName; + + @Schema(description = "地块ID", example = "22883") + private String plotId; + + @Schema(description = "地块", example = "李四") + private String plotName; + + @Schema(description = "租户id", example = "11502") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceplotrelation/DevicePlotRelationController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceplotrelation/DevicePlotRelationController.java new file mode 100644 index 00000000..317e53e5 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceplotrelation/DevicePlotRelationController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.deviceplotrelation; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.deviceplotrelation.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.deviceplotrelation.DevicePlotRelationDO; +import cn.iocoder.yudao.module.farm.service.deviceplotrelation.DevicePlotRelationService; + +@Tag(name = "管理后台 - 设备与地块关联") +@RestController +@RequestMapping("/farm/device-plot-relation") +@Validated +public class DevicePlotRelationController { + + @Resource + private DevicePlotRelationService devicePlotRelationService; + + @PostMapping("/create") + @Operation(summary = "创建设备与地块关联") + @PreAuthorize("@ss.hasPermission('farm:device-plot-relation:create')") + public CommonResult createDevicePlotRelation(@Valid @RequestBody DevicePlotRelationSaveReqVO createReqVO) { + return success(devicePlotRelationService.createDevicePlotRelation(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新设备与地块关联") + @PreAuthorize("@ss.hasPermission('farm:device-plot-relation:update')") + public CommonResult updateDevicePlotRelation(@Valid @RequestBody DevicePlotRelationSaveReqVO updateReqVO) { + devicePlotRelationService.updateDevicePlotRelation(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除设备与地块关联") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:device-plot-relation:delete')") + public CommonResult deleteDevicePlotRelation(@RequestParam("id") String id) { + devicePlotRelationService.deleteDevicePlotRelation(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除设备与地块关联") + @PreAuthorize("@ss.hasPermission('farm:device-plot-relation:delete')") + public CommonResult deleteDevicePlotRelationList(@RequestParam("ids") List ids) { + devicePlotRelationService.deleteDevicePlotRelationListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得设备与地块关联") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:device-plot-relation:query')") + public CommonResult getDevicePlotRelation(@RequestParam("id") String id) { + DevicePlotRelationDO devicePlotRelation = devicePlotRelationService.getDevicePlotRelation(id); + return success(BeanUtils.toBean(devicePlotRelation, DevicePlotRelationRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得设备与地块关联分页") + @PreAuthorize("@ss.hasPermission('farm:device-plot-relation:query')") + public CommonResult> getDevicePlotRelationPage(@Valid DevicePlotRelationPageReqVO pageReqVO) { + PageResult pageResult = devicePlotRelationService.getDevicePlotRelationPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, DevicePlotRelationRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出设备与地块关联 Excel") + @PreAuthorize("@ss.hasPermission('farm:device-plot-relation:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportDevicePlotRelationExcel(@Valid DevicePlotRelationPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = devicePlotRelationService.getDevicePlotRelationPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "设备与地块关联.xls", "数据", DevicePlotRelationRespVO.class, + BeanUtils.toBean(list, DevicePlotRelationRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceplotrelation/vo/DevicePlotRelationPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceplotrelation/vo/DevicePlotRelationPageReqVO.java new file mode 100644 index 00000000..b4948fd8 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceplotrelation/vo/DevicePlotRelationPageReqVO.java @@ -0,0 +1,53 @@ +package cn.iocoder.yudao.module.farm.controller.admin.deviceplotrelation.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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; + +@Schema(description = "管理后台 - 设备与地块关联分页 Request VO") +@Data +public class DevicePlotRelationPageReqVO extends PageParam { + + @Schema(description = "设备ID", example = "19588") + private String deviceUniqueId; + + @Schema(description = "设备厂商") + private String vendor; + + @Schema(description = "设备名称", example = "赵六") + private String deviceName; + + @Schema(description = "LP产品标识") + private String lpProductKey; + + @Schema(description = "用户id", example = "30466") + private String userId; + + @Schema(description = "是否存在物联网卡") + private Boolean isIotCardExisted; + + @Schema(description = "基地id", example = "30062") + private String baseId; + + @Schema(description = "基地", example = "李四") + private String baseName; + + @Schema(description = "地块ID", example = "20813") + private String plotId; + + @Schema(description = "地块", example = "李四") + private String plotName; + + @Schema(description = "租户id", example = "8518") + private String tenantId; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceplotrelation/vo/DevicePlotRelationRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceplotrelation/vo/DevicePlotRelationRespVO.java new file mode 100644 index 00000000..89caae11 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceplotrelation/vo/DevicePlotRelationRespVO.java @@ -0,0 +1,67 @@ +package cn.iocoder.yudao.module.farm.controller.admin.deviceplotrelation.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 设备与地块关联 Response VO") +@Data +@ExcelIgnoreUnannotated +public class DevicePlotRelationRespVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "7806") + @ExcelProperty("id") + private String id; + + @Schema(description = "设备ID", example = "19588") + @ExcelProperty("设备ID") + private String deviceUniqueId; + + @Schema(description = "设备厂商") + @ExcelProperty("设备厂商") + private String vendor; + + @Schema(description = "设备名称", example = "赵六") + @ExcelProperty("设备名称") + private String deviceName; + + @Schema(description = "LP产品标识") + @ExcelProperty("LP产品标识") + private String lpProductKey; + + @Schema(description = "用户id", example = "30466") + @ExcelProperty("用户id") + private String userId; + + @Schema(description = "是否存在物联网卡") + @ExcelProperty("是否存在物联网卡") + private Boolean isIotCardExisted; + + @Schema(description = "基地id", example = "30062") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "李四") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "20813") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "李四") + @ExcelProperty("地块") + private String plotName; + + @Schema(description = "租户id", example = "8518") + @ExcelProperty("租户id") + private String tenantId; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceplotrelation/vo/DevicePlotRelationSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceplotrelation/vo/DevicePlotRelationSaveReqVO.java new file mode 100644 index 00000000..8323a102 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/deviceplotrelation/vo/DevicePlotRelationSaveReqVO.java @@ -0,0 +1,48 @@ +package cn.iocoder.yudao.module.farm.controller.admin.deviceplotrelation.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 设备与地块关联新增/修改 Request VO") +@Data +public class DevicePlotRelationSaveReqVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "7806") + private String id; + + @Schema(description = "设备ID", example = "19588") + private String deviceUniqueId; + + @Schema(description = "设备厂商") + private String vendor; + + @Schema(description = "设备名称", example = "赵六") + private String deviceName; + + @Schema(description = "LP产品标识") + private String lpProductKey; + + @Schema(description = "用户id", example = "30466") + private String userId; + + @Schema(description = "是否存在物联网卡") + private Boolean isIotCardExisted; + + @Schema(description = "基地id", example = "30062") + private String baseId; + + @Schema(description = "基地", example = "李四") + private String baseName; + + @Schema(description = "地块ID", example = "20813") + private String plotId; + + @Schema(description = "地块", example = "李四") + private String plotName; + + @Schema(description = "租户id", example = "8518") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/disasterdata/DisasterDataController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/disasterdata/DisasterDataController.java new file mode 100644 index 00000000..3b651ca9 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/disasterdata/DisasterDataController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.disasterdata; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.disasterdata.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.disasterdata.DisasterDataDO; +import cn.iocoder.yudao.module.farm.service.disasterdata.DisasterDataService; + +@Tag(name = "管理后台 - 灾害数据") +@RestController +@RequestMapping("/farm/disaster-data") +@Validated +public class DisasterDataController { + + @Resource + private DisasterDataService disasterDataService; + + @PostMapping("/create") + @Operation(summary = "创建灾害数据") + @PreAuthorize("@ss.hasPermission('farm:disaster-data:create')") + public CommonResult createDisasterData(@Valid @RequestBody DisasterDataSaveReqVO createReqVO) { + return success(disasterDataService.createDisasterData(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新灾害数据") + @PreAuthorize("@ss.hasPermission('farm:disaster-data:update')") + public CommonResult updateDisasterData(@Valid @RequestBody DisasterDataSaveReqVO updateReqVO) { + disasterDataService.updateDisasterData(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除灾害数据") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:disaster-data:delete')") + public CommonResult deleteDisasterData(@RequestParam("id") String id) { + disasterDataService.deleteDisasterData(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除灾害数据") + @PreAuthorize("@ss.hasPermission('farm:disaster-data:delete')") + public CommonResult deleteDisasterDataList(@RequestParam("ids") List ids) { + disasterDataService.deleteDisasterDataListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得灾害数据") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:disaster-data:query')") + public CommonResult getDisasterData(@RequestParam("id") String id) { + DisasterDataDO disasterData = disasterDataService.getDisasterData(id); + return success(BeanUtils.toBean(disasterData, DisasterDataRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得灾害数据分页") + @PreAuthorize("@ss.hasPermission('farm:disaster-data:query')") + public CommonResult> getDisasterDataPage(@Valid DisasterDataPageReqVO pageReqVO) { + PageResult pageResult = disasterDataService.getDisasterDataPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, DisasterDataRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出灾害数据 Excel") + @PreAuthorize("@ss.hasPermission('farm:disaster-data:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportDisasterDataExcel(@Valid DisasterDataPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = disasterDataService.getDisasterDataPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "灾害数据.xls", "数据", DisasterDataRespVO.class, + BeanUtils.toBean(list, DisasterDataRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/disasterdata/vo/DisasterDataPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/disasterdata/vo/DisasterDataPageReqVO.java new file mode 100644 index 00000000..473b15af --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/disasterdata/vo/DisasterDataPageReqVO.java @@ -0,0 +1,51 @@ +package cn.iocoder.yudao.module.farm.controller.admin.disasterdata.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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; + +@Schema(description = "管理后台 - 灾害数据分页 Request VO") +@Data +public class DisasterDataPageReqVO extends PageParam { + + @Schema(description = "基础id", example = "3322") + private String foundationId; + + @Schema(description = "基地id", example = "21300") + private String baseId; + + @Schema(description = "基地名称", example = "芋艿") + private String baseName; + + @Schema(description = "发生月份") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private String[] disasterTime; + + @Schema(description = "灾害类型1=环境,2=病害,3=虫害,4=草害") + private Integer category; + + @Schema(description = "灾害名称", example = "赵六") + private String name; + + @Schema(description = "发生次数", example = "17530") + private Integer disasterCount; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "地块ID", example = "21827") + private String plotId; + + @Schema(description = "地块", example = "王五") + private String plotName; + + @Schema(description = "租户id", example = "20422") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/disasterdata/vo/DisasterDataRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/disasterdata/vo/DisasterDataRespVO.java new file mode 100644 index 00000000..ac845fcd --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/disasterdata/vo/DisasterDataRespVO.java @@ -0,0 +1,63 @@ +package cn.iocoder.yudao.module.farm.controller.admin.disasterdata.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 灾害数据 Response VO") +@Data +@ExcelIgnoreUnannotated +public class DisasterDataRespVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "26665") + @ExcelProperty("id") + private String id; + + @Schema(description = "基础id", example = "3322") + @ExcelProperty("基础id") + private String foundationId; + + @Schema(description = "基地id", example = "21300") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地名称", example = "芋艿") + @ExcelProperty("基地名称") + private String baseName; + + @Schema(description = "发生月份") + @ExcelProperty("发生月份") + private String disasterTime; + + @Schema(description = "灾害类型1=环境,2=病害,3=虫害,4=草害") + @ExcelProperty("灾害类型1=环境,2=病害,3=虫害,4=草害") + private Integer category; + + @Schema(description = "灾害名称", example = "赵六") + @ExcelProperty("灾害名称") + private String name; + + @Schema(description = "发生次数", example = "17530") + @ExcelProperty("发生次数") + private Integer disasterCount; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "地块ID", example = "21827") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "王五") + @ExcelProperty("地块") + private String plotName; + + @Schema(description = "租户id", example = "20422") + @ExcelProperty("租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/disasterdata/vo/DisasterDataSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/disasterdata/vo/DisasterDataSaveReqVO.java new file mode 100644 index 00000000..b88c875c --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/disasterdata/vo/DisasterDataSaveReqVO.java @@ -0,0 +1,45 @@ +package cn.iocoder.yudao.module.farm.controller.admin.disasterdata.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 灾害数据新增/修改 Request VO") +@Data +public class DisasterDataSaveReqVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "26665") + private String id; + + @Schema(description = "基础id", example = "3322") + private String foundationId; + + @Schema(description = "基地id", example = "21300") + private String baseId; + + @Schema(description = "基地名称", example = "芋艿") + private String baseName; + + @Schema(description = "发生月份") + private String disasterTime; + + @Schema(description = "灾害类型1=环境,2=病害,3=虫害,4=草害") + private Integer category; + + @Schema(description = "灾害名称", example = "赵六") + private String name; + + @Schema(description = "发生次数", example = "17530") + private Integer disasterCount; + + @Schema(description = "地块ID", example = "21827") + private String plotId; + + @Schema(description = "地块", example = "王五") + private String plotName; + + @Schema(description = "租户id", example = "20422") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/environmentindexconfig/EnvironmentIndexConfigController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/environmentindexconfig/EnvironmentIndexConfigController.java new file mode 100644 index 00000000..6ba10a6a --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/environmentindexconfig/EnvironmentIndexConfigController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.environmentindexconfig; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.environmentindexconfig.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.environmentindexconfig.EnvironmentIndexConfigDO; +import cn.iocoder.yudao.module.farm.service.environmentindexconfig.EnvironmentIndexConfigService; + +@Tag(name = "管理后台 - 环境指标配置") +@RestController +@RequestMapping("/farm/environment-index-config") +@Validated +public class EnvironmentIndexConfigController { + + @Resource + private EnvironmentIndexConfigService environmentIndexConfigService; + + @PostMapping("/create") + @Operation(summary = "创建环境指标配置") + @PreAuthorize("@ss.hasPermission('farm:environment-index-config:create')") + public CommonResult createEnvironmentIndexConfig(@Valid @RequestBody EnvironmentIndexConfigSaveReqVO createReqVO) { + return success(environmentIndexConfigService.createEnvironmentIndexConfig(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新环境指标配置") + @PreAuthorize("@ss.hasPermission('farm:environment-index-config:update')") + public CommonResult updateEnvironmentIndexConfig(@Valid @RequestBody EnvironmentIndexConfigSaveReqVO updateReqVO) { + environmentIndexConfigService.updateEnvironmentIndexConfig(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除环境指标配置") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:environment-index-config:delete')") + public CommonResult deleteEnvironmentIndexConfig(@RequestParam("id") String id) { + environmentIndexConfigService.deleteEnvironmentIndexConfig(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除环境指标配置") + @PreAuthorize("@ss.hasPermission('farm:environment-index-config:delete')") + public CommonResult deleteEnvironmentIndexConfigList(@RequestParam("ids") List ids) { + environmentIndexConfigService.deleteEnvironmentIndexConfigListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得环境指标配置") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:environment-index-config:query')") + public CommonResult getEnvironmentIndexConfig(@RequestParam("id") String id) { + EnvironmentIndexConfigDO environmentIndexConfig = environmentIndexConfigService.getEnvironmentIndexConfig(id); + return success(BeanUtils.toBean(environmentIndexConfig, EnvironmentIndexConfigRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得环境指标配置分页") + @PreAuthorize("@ss.hasPermission('farm:environment-index-config:query')") + public CommonResult> getEnvironmentIndexConfigPage(@Valid EnvironmentIndexConfigPageReqVO pageReqVO) { + PageResult pageResult = environmentIndexConfigService.getEnvironmentIndexConfigPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, EnvironmentIndexConfigRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出环境指标配置 Excel") + @PreAuthorize("@ss.hasPermission('farm:environment-index-config:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportEnvironmentIndexConfigExcel(@Valid EnvironmentIndexConfigPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = environmentIndexConfigService.getEnvironmentIndexConfigPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "环境指标配置.xls", "数据", EnvironmentIndexConfigRespVO.class, + BeanUtils.toBean(list, EnvironmentIndexConfigRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/environmentindexconfig/vo/EnvironmentIndexConfigPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/environmentindexconfig/vo/EnvironmentIndexConfigPageReqVO.java new file mode 100644 index 00000000..34ceef54 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/environmentindexconfig/vo/EnvironmentIndexConfigPageReqVO.java @@ -0,0 +1,47 @@ +package cn.iocoder.yudao.module.farm.controller.admin.environmentindexconfig.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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; + +@Schema(description = "管理后台 - 环境指标配置分页 Request VO") +@Data +public class EnvironmentIndexConfigPageReqVO extends PageParam { + + @Schema(description = "物种名称", example = "赵六") + private String cultivarName; + + @Schema(description = "物种分类", example = "张三") + private String speciesName; + + @Schema(description = "指标名称", example = "张三") + private String name; + + @Schema(description = "指标描述", example = "你说的对") + private String description; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "基地id", example = "17727") + private String baseId; + + @Schema(description = "基地", example = "芋艿") + private String baseName; + + @Schema(description = "地块ID", example = "22327") + private String plotId; + + @Schema(description = "地块", example = "赵六") + private String plotName; + + @Schema(description = "租户id", example = "7829") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/environmentindexconfig/vo/EnvironmentIndexConfigRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/environmentindexconfig/vo/EnvironmentIndexConfigRespVO.java new file mode 100644 index 00000000..849acd45 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/environmentindexconfig/vo/EnvironmentIndexConfigRespVO.java @@ -0,0 +1,59 @@ +package cn.iocoder.yudao.module.farm.controller.admin.environmentindexconfig.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 环境指标配置 Response VO") +@Data +@ExcelIgnoreUnannotated +public class EnvironmentIndexConfigRespVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "14247") + @ExcelProperty("id") + private String id; + + @Schema(description = "物种名称", example = "赵六") + @ExcelProperty("物种名称") + private String cultivarName; + + @Schema(description = "物种分类", example = "张三") + @ExcelProperty("物种分类") + private String speciesName; + + @Schema(description = "指标名称", example = "张三") + @ExcelProperty("指标名称") + private String name; + + @Schema(description = "指标描述", example = "你说的对") + @ExcelProperty("指标描述") + private String description; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "基地id", example = "17727") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "芋艿") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "22327") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "赵六") + @ExcelProperty("地块") + private String plotName; + + @Schema(description = "租户id", example = "7829") + @ExcelProperty("租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/environmentindexconfig/vo/EnvironmentIndexConfigSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/environmentindexconfig/vo/EnvironmentIndexConfigSaveReqVO.java new file mode 100644 index 00000000..29410308 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/environmentindexconfig/vo/EnvironmentIndexConfigSaveReqVO.java @@ -0,0 +1,42 @@ +package cn.iocoder.yudao.module.farm.controller.admin.environmentindexconfig.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 环境指标配置新增/修改 Request VO") +@Data +public class EnvironmentIndexConfigSaveReqVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "14247") + private String id; + + @Schema(description = "物种名称", example = "赵六") + private String cultivarName; + + @Schema(description = "物种分类", example = "张三") + private String speciesName; + + @Schema(description = "指标名称", example = "张三") + private String name; + + @Schema(description = "指标描述", example = "你说的对") + private String description; + + @Schema(description = "基地id", example = "17727") + private String baseId; + + @Schema(description = "基地", example = "芋艿") + private String baseName; + + @Schema(description = "地块ID", example = "22327") + private String plotId; + + @Schema(description = "地块", example = "赵六") + private String plotName; + + @Schema(description = "租户id", example = "7829") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingnamemaintenance/FarmingNameMaintenanceController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingnamemaintenance/FarmingNameMaintenanceController.java new file mode 100644 index 00000000..518112e1 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingnamemaintenance/FarmingNameMaintenanceController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.farmingnamemaintenance; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.farmingnamemaintenance.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.farmingnamemaintenance.FarmingNameMaintenanceDO; +import cn.iocoder.yudao.module.farm.service.farmingnamemaintenance.FarmingNameMaintenanceService; + +@Tag(name = "管理后台 - 农事名称维护") +@RestController +@RequestMapping("/farm/ing-name-maintenance") +@Validated +public class FarmingNameMaintenanceController { + + @Resource + private FarmingNameMaintenanceService ingNameMaintenanceService; + + @PostMapping("/create") + @Operation(summary = "创建农事名称维护") + @PreAuthorize("@ss.hasPermission('farm:ing-name-maintenance:create')") + public CommonResult createingNameMaintenance(@Valid @RequestBody FarmingNameMaintenanceSaveReqVO createReqVO) { + return success(ingNameMaintenanceService.createingNameMaintenance(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新农事名称维护") + @PreAuthorize("@ss.hasPermission('farm:ing-name-maintenance:update')") + public CommonResult updateingNameMaintenance(@Valid @RequestBody FarmingNameMaintenanceSaveReqVO updateReqVO) { + ingNameMaintenanceService.updateingNameMaintenance(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除农事名称维护") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:ing-name-maintenance:delete')") + public CommonResult deleteingNameMaintenance(@RequestParam("id") String id) { + ingNameMaintenanceService.deleteingNameMaintenance(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除农事名称维护") + @PreAuthorize("@ss.hasPermission('farm:ing-name-maintenance:delete')") + public CommonResult deleteingNameMaintenanceList(@RequestParam("ids") List ids) { + ingNameMaintenanceService.deleteingNameMaintenanceListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得农事名称维护") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:ing-name-maintenance:query')") + public CommonResult getingNameMaintenance(@RequestParam("id") String id) { + FarmingNameMaintenanceDO ingNameMaintenance = ingNameMaintenanceService.getingNameMaintenance(id); + return success(BeanUtils.toBean(ingNameMaintenance, FarmingNameMaintenanceRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得农事名称维护分页") + @PreAuthorize("@ss.hasPermission('farm:ing-name-maintenance:query')") + public CommonResult> getingNameMaintenancePage(@Valid FarmingNameMaintenancePageReqVO pageReqVO) { + PageResult pageResult = ingNameMaintenanceService.getingNameMaintenancePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, FarmingNameMaintenanceRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出农事名称维护 Excel") + @PreAuthorize("@ss.hasPermission('farm:ing-name-maintenance:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportingNameMaintenanceExcel(@Valid FarmingNameMaintenancePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = ingNameMaintenanceService.getingNameMaintenancePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "农事名称维护.xls", "数据", FarmingNameMaintenanceRespVO.class, + BeanUtils.toBean(list, FarmingNameMaintenanceRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingnamemaintenance/vo/FarmingNameMaintenancePageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingnamemaintenance/vo/FarmingNameMaintenancePageReqVO.java new file mode 100644 index 00000000..9e3c3b10 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingnamemaintenance/vo/FarmingNameMaintenancePageReqVO.java @@ -0,0 +1,44 @@ +package cn.iocoder.yudao.module.farm.controller.admin.farmingnamemaintenance.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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; + +@Schema(description = "管理后台 - 农事名称维护分页 Request VO") +@Data +public class FarmingNameMaintenancePageReqVO extends PageParam { + + @Schema(description = "农事名称", example = "李四") + private String farmingName; + + @Schema(description = "农事类型", example = "1") + private String farmingType; + + @Schema(description = "0=启用,1=停用", example = "2") + private Integer useStatus; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "基地id", example = "23381") + private String baseId; + + @Schema(description = "基地", example = "赵六") + private String baseName; + + @Schema(description = "地块ID", example = "20315") + private String plotId; + + @Schema(description = "地块", example = "张三") + private String plotName; + + @Schema(description = "租户id", example = "15178") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingnamemaintenance/vo/FarmingNameMaintenanceRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingnamemaintenance/vo/FarmingNameMaintenanceRespVO.java new file mode 100644 index 00000000..1ec50e18 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingnamemaintenance/vo/FarmingNameMaintenanceRespVO.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.farm.controller.admin.farmingnamemaintenance.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 农事名称维护 Response VO") +@Data +@ExcelIgnoreUnannotated +public class FarmingNameMaintenanceRespVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "31981") + @ExcelProperty("id") + private String id; + + @Schema(description = "农事名称", example = "李四") + @ExcelProperty("农事名称") + private String farmingName; + + @Schema(description = "农事类型", example = "1") + @ExcelProperty("农事类型") + private String farmingType; + + @Schema(description = "0=启用,1=停用", example = "2") + @ExcelProperty("0=启用,1=停用") + private Integer useStatus; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "基地id", example = "23381") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "赵六") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "20315") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "张三") + @ExcelProperty("地块") + private String plotName; + + @Schema(description = "租户id", example = "15178") + @ExcelProperty("租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingnamemaintenance/vo/FarmingNameMaintenanceSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingnamemaintenance/vo/FarmingNameMaintenanceSaveReqVO.java new file mode 100644 index 00000000..4fd59153 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingnamemaintenance/vo/FarmingNameMaintenanceSaveReqVO.java @@ -0,0 +1,39 @@ +package cn.iocoder.yudao.module.farm.controller.admin.farmingnamemaintenance.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 农事名称维护新增/修改 Request VO") +@Data +public class FarmingNameMaintenanceSaveReqVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "31981") + private String id; + + @Schema(description = "农事名称", example = "李四") + private String farmingName; + + @Schema(description = "农事类型", example = "1") + private String farmingType; + + @Schema(description = "0=启用,1=停用", example = "2") + private Integer useStatus; + + @Schema(description = "基地id", example = "23381") + private String baseId; + + @Schema(description = "基地", example = "赵六") + private String baseName; + + @Schema(description = "地块ID", example = "20315") + private String plotId; + + @Schema(description = "地块", example = "张三") + private String plotName; + + @Schema(description = "租户id", example = "15178") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecord/FarmingRecordController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecord/FarmingRecordController.java new file mode 100644 index 00000000..947a4224 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecord/FarmingRecordController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.farmingrecord; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.farmingrecord.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecord.FarmingRecordDO; +import cn.iocoder.yudao.module.farm.service.farmingrecord.FarmingRecordService; + +@Tag(name = "管理后台 - 种植中心-农事基地-农事记录") +@RestController +@RequestMapping("/farm/ing-record") +@Validated +public class FarmingRecordController { + + @Resource + private FarmingRecordService ingRecordService; + + @PostMapping("/create") + @Operation(summary = "创建种植中心-农事基地-农事记录") + @PreAuthorize("@ss.hasPermission('farm:ing-record:create')") + public CommonResult createingRecord(@Valid @RequestBody FarmingRecordSaveReqVO createReqVO) { + return success(ingRecordService.createingRecord(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新种植中心-农事基地-农事记录") + @PreAuthorize("@ss.hasPermission('farm:ing-record:update')") + public CommonResult updateingRecord(@Valid @RequestBody FarmingRecordSaveReqVO updateReqVO) { + ingRecordService.updateingRecord(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除种植中心-农事基地-农事记录") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:ing-record:delete')") + public CommonResult deleteingRecord(@RequestParam("id") String id) { + ingRecordService.deleteingRecord(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除种植中心-农事基地-农事记录") + @PreAuthorize("@ss.hasPermission('farm:ing-record:delete')") + public CommonResult deleteingRecordList(@RequestParam("ids") List ids) { + ingRecordService.deleteingRecordListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得种植中心-农事基地-农事记录") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:ing-record:query')") + public CommonResult getingRecord(@RequestParam("id") String id) { + FarmingRecordDO ingRecord = ingRecordService.getingRecord(id); + return success(BeanUtils.toBean(ingRecord, FarmingRecordRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得种植中心-农事基地-农事记录分页") + @PreAuthorize("@ss.hasPermission('farm:ing-record:query')") + public CommonResult> getingRecordPage(@Valid FarmingRecordPageReqVO pageReqVO) { + PageResult pageResult = ingRecordService.getingRecordPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, FarmingRecordRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出种植中心-农事基地-农事记录 Excel") + @PreAuthorize("@ss.hasPermission('farm:ing-record:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportingRecordExcel(@Valid FarmingRecordPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = ingRecordService.getingRecordPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "种植中心-农事基地-农事记录.xls", "数据", FarmingRecordRespVO.class, + BeanUtils.toBean(list, FarmingRecordRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecord/vo/FarmingRecordPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecord/vo/FarmingRecordPageReqVO.java new file mode 100644 index 00000000..136bdff7 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecord/vo/FarmingRecordPageReqVO.java @@ -0,0 +1,69 @@ +package cn.iocoder.yudao.module.farm.controller.admin.farmingrecord.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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; + +@Schema(description = "管理后台 - 种植中心-农事基地-农事记录分页 Request VO") +@Data +public class FarmingRecordPageReqVO extends PageParam { + + @Schema(description = "任务类型", example = "1") + private String taskType; + + @Schema(description = "任务名称", example = "芋艿") + private String taskName; + + @Schema(description = "任务范围") + private String taskScope; + + @Schema(description = "任务时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] taskTime; + + @Schema(description = "所属地块", example = "10480") + private String plotId; + + @Schema(description = "生产计划ID", example = "24782") + private String productionPlanId; + + @Schema(description = "执行人") + private String executor; + + @Schema(description = "实际用工") + private Integer actualLaborCost; + + @Schema(description = "实际投入品ID", example = "5691") + private String actualInputId; + + @Schema(description = "执行反馈-备注") + private String feedbackNotes; + + @Schema(description = "执行反馈-图片URL", example = "https://www.iocoder.cn") + private String feedbackImageUrl; + + @Schema(description = "逻辑删除标识符", example = "1") + private Boolean delStatus; + + @Schema(description = "基地id", example = "28798") + private String baseId; + + @Schema(description = "基地", example = "李四") + private String baseName; + + @Schema(description = "地块", example = "赵六") + private String plotName; + + @Schema(description = "租户id", example = "23744") + private String tenantId; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecord/vo/FarmingRecordRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecord/vo/FarmingRecordRespVO.java new file mode 100644 index 00000000..a32b4c80 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecord/vo/FarmingRecordRespVO.java @@ -0,0 +1,87 @@ +package cn.iocoder.yudao.module.farm.controller.admin.farmingrecord.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 种植中心-农事基地-农事记录 Response VO") +@Data +@ExcelIgnoreUnannotated +public class FarmingRecordRespVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "22116") + @ExcelProperty("基础id") + private String id; + + @Schema(description = "任务类型", example = "1") + @ExcelProperty("任务类型") + private String taskType; + + @Schema(description = "任务名称", example = "芋艿") + @ExcelProperty("任务名称") + private String taskName; + + @Schema(description = "任务范围") + @ExcelProperty("任务范围") + private String taskScope; + + @Schema(description = "任务时间") + @ExcelProperty("任务时间") + private LocalDateTime taskTime; + + @Schema(description = "所属地块", example = "10480") + @ExcelProperty("所属地块") + private String plotId; + + @Schema(description = "生产计划ID", example = "24782") + @ExcelProperty("生产计划ID") + private String productionPlanId; + + @Schema(description = "执行人") + @ExcelProperty("执行人") + private String executor; + + @Schema(description = "实际用工") + @ExcelProperty("实际用工") + private Integer actualLaborCost; + + @Schema(description = "实际投入品ID", example = "5691") + @ExcelProperty("实际投入品ID") + private String actualInputId; + + @Schema(description = "执行反馈-备注") + @ExcelProperty("执行反馈-备注") + private String feedbackNotes; + + @Schema(description = "执行反馈-图片URL", example = "https://www.iocoder.cn") + @ExcelProperty("执行反馈-图片URL") + private String feedbackImageUrl; + + @Schema(description = "逻辑删除标识符", example = "1") + @ExcelProperty("逻辑删除标识符") + private Boolean delStatus; + + @Schema(description = "基地id", example = "28798") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "李四") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块", example = "赵六") + @ExcelProperty("地块") + private String plotName; + + @Schema(description = "租户id", example = "23744") + @ExcelProperty("租户id") + private String tenantId; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecord/vo/FarmingRecordSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecord/vo/FarmingRecordSaveReqVO.java new file mode 100644 index 00000000..42a9c05b --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecord/vo/FarmingRecordSaveReqVO.java @@ -0,0 +1,65 @@ +package cn.iocoder.yudao.module.farm.controller.admin.farmingrecord.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 种植中心-农事基地-农事记录新增/修改 Request VO") +@Data +public class FarmingRecordSaveReqVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "22116") + private String id; + + @Schema(description = "任务类型", example = "1") + private String taskType; + + @Schema(description = "任务名称", example = "芋艿") + private String taskName; + + @Schema(description = "任务范围") + private String taskScope; + + @Schema(description = "任务时间") + private LocalDateTime taskTime; + + @Schema(description = "所属地块", example = "10480") + private String plotId; + + @Schema(description = "生产计划ID", example = "24782") + private String productionPlanId; + + @Schema(description = "执行人") + private String executor; + + @Schema(description = "实际用工") + private Integer actualLaborCost; + + @Schema(description = "实际投入品ID", example = "5691") + private String actualInputId; + + @Schema(description = "执行反馈-备注") + private String feedbackNotes; + + @Schema(description = "执行反馈-图片URL", example = "https://www.iocoder.cn") + private String feedbackImageUrl; + + @Schema(description = "逻辑删除标识符", example = "1") + private Boolean delStatus; + + @Schema(description = "基地id", example = "28798") + private String baseId; + + @Schema(description = "基地", example = "李四") + private String baseName; + + @Schema(description = "地块", example = "赵六") + private String plotName; + + @Schema(description = "租户id", example = "23744") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecordinput/FarmingRecordInputController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecordinput/FarmingRecordInputController.java new file mode 100644 index 00000000..a2a8a109 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecordinput/FarmingRecordInputController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.farmingrecordinput; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.farmingrecordinput.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecordinput.FarmingRecordInputDO; +import cn.iocoder.yudao.module.farm.service.farmingrecordinput.FarmingRecordInputService; + +@Tag(name = "管理后台 - 种植中心-农事基地-农事记录-投入品") +@RestController +@RequestMapping("/farm/ing-record-input") +@Validated +public class FarmingRecordInputController { + + @Resource + private FarmingRecordInputService ingRecordInputService; + + @PostMapping("/create") + @Operation(summary = "创建种植中心-农事基地-农事记录-投入品") + @PreAuthorize("@ss.hasPermission('farm:ing-record-input:create')") + public CommonResult createingRecordInput(@Valid @RequestBody FarmingRecordInputSaveReqVO createReqVO) { + return success(ingRecordInputService.createingRecordInput(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新种植中心-农事基地-农事记录-投入品") + @PreAuthorize("@ss.hasPermission('farm:ing-record-input:update')") + public CommonResult updateingRecordInput(@Valid @RequestBody FarmingRecordInputSaveReqVO updateReqVO) { + ingRecordInputService.updateingRecordInput(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除种植中心-农事基地-农事记录-投入品") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:ing-record-input:delete')") + public CommonResult deleteingRecordInput(@RequestParam("id") String id) { + ingRecordInputService.deleteingRecordInput(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除种植中心-农事基地-农事记录-投入品") + @PreAuthorize("@ss.hasPermission('farm:ing-record-input:delete')") + public CommonResult deleteingRecordInputList(@RequestParam("ids") List ids) { + ingRecordInputService.deleteingRecordInputListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得种植中心-农事基地-农事记录-投入品") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:ing-record-input:query')") + public CommonResult getingRecordInput(@RequestParam("id") String id) { + FarmingRecordInputDO ingRecordInput = ingRecordInputService.getingRecordInput(id); + return success(BeanUtils.toBean(ingRecordInput, FarmingRecordInputRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得种植中心-农事基地-农事记录-投入品分页") + @PreAuthorize("@ss.hasPermission('farm:ing-record-input:query')") + public CommonResult> getingRecordInputPage(@Valid FarmingRecordInputPageReqVO pageReqVO) { + PageResult pageResult = ingRecordInputService.getingRecordInputPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, FarmingRecordInputRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出种植中心-农事基地-农事记录-投入品 Excel") + @PreAuthorize("@ss.hasPermission('farm:ing-record-input:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportingRecordInputExcel(@Valid FarmingRecordInputPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = ingRecordInputService.getingRecordInputPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "种植中心-农事基地-农事记录-投入品.xls", "数据", FarmingRecordInputRespVO.class, + BeanUtils.toBean(list, FarmingRecordInputRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecordinput/vo/FarmingRecordInputPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecordinput/vo/FarmingRecordInputPageReqVO.java new file mode 100644 index 00000000..50fe12cb --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecordinput/vo/FarmingRecordInputPageReqVO.java @@ -0,0 +1,69 @@ +package cn.iocoder.yudao.module.farm.controller.admin.farmingrecordinput.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import java.math.BigDecimal; +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; + +@Schema(description = "管理后台 - 种植中心-农事基地-农事记录-投入品分页 Request VO") +@Data +public class FarmingRecordInputPageReqVO extends PageParam { + + @Schema(description = "农事记录ID", example = "11421") + private String farmRecordId; + + @Schema(description = "投入品-父类") + private String inputParentCategory; + + @Schema(description = "投入品-子类") + private String inputChildCategory; + + @Schema(description = "稀释倍液 (如为: 药物时需展示输入框)") + private String dilutionRatio; + + @Schema(description = "单用用量 (如为: 肥料选项时)") + private String singleUseOption; + + @Schema(description = "单用用量-值") + private BigDecimal singleUseValue; + + @Schema(description = "单用用量-单位") + private String singleUseUnit; + + @Schema(description = "施用范围") + private String applicationScope; + + @Schema(description = "用量") + private BigDecimal dosage; + + @Schema(description = "用法") + private String usage; + + @Schema(description = "逻辑删除标识符", example = "1") + private Boolean delStatus; + + @Schema(description = "基地id", example = "17710") + private String baseId; + + @Schema(description = "基地", example = "芋艿") + private String baseName; + + @Schema(description = "地块ID", example = "10042") + private String plotId; + + @Schema(description = "地块", example = "赵六") + private String plotName; + + @Schema(description = "租户id", example = "1677") + private String tenantId; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecordinput/vo/FarmingRecordInputRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecordinput/vo/FarmingRecordInputRespVO.java new file mode 100644 index 00000000..5d7f32d9 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecordinput/vo/FarmingRecordInputRespVO.java @@ -0,0 +1,88 @@ +package cn.iocoder.yudao.module.farm.controller.admin.farmingrecordinput.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 种植中心-农事基地-农事记录-投入品 Response VO") +@Data +@ExcelIgnoreUnannotated +public class FarmingRecordInputRespVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "16612") + @ExcelProperty("基础id") + private String id; + + @Schema(description = "农事记录ID", example = "11421") + @ExcelProperty("农事记录ID") + private String farmRecordId; + + @Schema(description = "投入品-父类") + @ExcelProperty("投入品-父类") + private String inputParentCategory; + + @Schema(description = "投入品-子类") + @ExcelProperty("投入品-子类") + private String inputChildCategory; + + @Schema(description = "稀释倍液 (如为: 药物时需展示输入框)") + @ExcelProperty("稀释倍液 (如为: 药物时需展示输入框)") + private String dilutionRatio; + + @Schema(description = "单用用量 (如为: 肥料选项时)") + @ExcelProperty("单用用量 (如为: 肥料选项时)") + private String singleUseOption; + + @Schema(description = "单用用量-值") + @ExcelProperty("单用用量-值") + private BigDecimal singleUseValue; + + @Schema(description = "单用用量-单位") + @ExcelProperty("单用用量-单位") + private String singleUseUnit; + + @Schema(description = "施用范围") + @ExcelProperty("施用范围") + private String applicationScope; + + @Schema(description = "用量") + @ExcelProperty("用量") + private BigDecimal dosage; + + @Schema(description = "用法") + @ExcelProperty("用法") + private String usage; + + @Schema(description = "逻辑删除标识符", example = "1") + @ExcelProperty("逻辑删除标识符") + private Boolean delStatus; + + @Schema(description = "基地id", example = "17710") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "芋艿") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "10042") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "赵六") + @ExcelProperty("地块") + private String plotName; + + @Schema(description = "租户id", example = "1677") + @ExcelProperty("租户id") + private String tenantId; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecordinput/vo/FarmingRecordInputSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecordinput/vo/FarmingRecordInputSaveReqVO.java new file mode 100644 index 00000000..c44b5407 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingrecordinput/vo/FarmingRecordInputSaveReqVO.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.farm.controller.admin.farmingrecordinput.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 种植中心-农事基地-农事记录-投入品新增/修改 Request VO") +@Data +public class FarmingRecordInputSaveReqVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "16612") + private String id; + + @Schema(description = "农事记录ID", example = "11421") + private String farmRecordId; + + @Schema(description = "投入品-父类") + private String inputParentCategory; + + @Schema(description = "投入品-子类") + private String inputChildCategory; + + @Schema(description = "稀释倍液 (如为: 药物时需展示输入框)") + private String dilutionRatio; + + @Schema(description = "单用用量 (如为: 肥料选项时)") + private String singleUseOption; + + @Schema(description = "单用用量-值") + private BigDecimal singleUseValue; + + @Schema(description = "单用用量-单位") + private String singleUseUnit; + + @Schema(description = "施用范围") + private String applicationScope; + + @Schema(description = "用量") + private BigDecimal dosage; + + @Schema(description = "用法") + private String usage; + + @Schema(description = "逻辑删除标识符", example = "1") + private Boolean delStatus; + + @Schema(description = "基地id", example = "17710") + private String baseId; + + @Schema(description = "基地", example = "芋艿") + private String baseName; + + @Schema(description = "地块ID", example = "10042") + private String plotId; + + @Schema(description = "地块", example = "赵六") + private String plotName; + + @Schema(description = "租户id", example = "1677") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingtypemaintenance/FarmingTypeMaintenanceController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingtypemaintenance/FarmingTypeMaintenanceController.java new file mode 100644 index 00000000..7b8b0ed9 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingtypemaintenance/FarmingTypeMaintenanceController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.farmingtypemaintenance.FarmingTypeMaintenanceDO; +import cn.iocoder.yudao.module.farm.service.farmingtypemaintenance.FarmingTypeMaintenanceService; + +@Tag(name = "管理后台 - 农事类型维护") +@RestController +@RequestMapping("/farm/ing-type-maintenance") +@Validated +public class FarmingTypeMaintenanceController { + + @Resource + private FarmingTypeMaintenanceService ingTypeMaintenanceService; + + @PostMapping("/create") + @Operation(summary = "创建农事类型维护") + @PreAuthorize("@ss.hasPermission('farm:ing-type-maintenance:create')") + public CommonResult createingTypeMaintenance(@Valid @RequestBody FarmingTypeMaintenanceSaveReqVO createReqVO) { + return success(ingTypeMaintenanceService.createingTypeMaintenance(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新农事类型维护") + @PreAuthorize("@ss.hasPermission('farm:ing-type-maintenance:update')") + public CommonResult updateingTypeMaintenance(@Valid @RequestBody FarmingTypeMaintenanceSaveReqVO updateReqVO) { + ingTypeMaintenanceService.updateingTypeMaintenance(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除农事类型维护") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:ing-type-maintenance:delete')") + public CommonResult deleteingTypeMaintenance(@RequestParam("id") String id) { + ingTypeMaintenanceService.deleteingTypeMaintenance(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除农事类型维护") + @PreAuthorize("@ss.hasPermission('farm:ing-type-maintenance:delete')") + public CommonResult deleteingTypeMaintenanceList(@RequestParam("ids") List ids) { + ingTypeMaintenanceService.deleteingTypeMaintenanceListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得农事类型维护") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:ing-type-maintenance:query')") + public CommonResult getingTypeMaintenance(@RequestParam("id") String id) { + FarmingTypeMaintenanceDO ingTypeMaintenance = ingTypeMaintenanceService.getingTypeMaintenance(id); + return success(BeanUtils.toBean(ingTypeMaintenance, FarmingTypeMaintenanceRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得农事类型维护分页") + @PreAuthorize("@ss.hasPermission('farm:ing-type-maintenance:query')") + public CommonResult> getingTypeMaintenancePage(@Valid FarmingTypeMaintenancePageReqVO pageReqVO) { + PageResult pageResult = ingTypeMaintenanceService.getingTypeMaintenancePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, FarmingTypeMaintenanceRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出农事类型维护 Excel") + @PreAuthorize("@ss.hasPermission('farm:ing-type-maintenance:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportingTypeMaintenanceExcel(@Valid FarmingTypeMaintenancePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = ingTypeMaintenanceService.getingTypeMaintenancePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "农事类型维护.xls", "数据", FarmingTypeMaintenanceRespVO.class, + BeanUtils.toBean(list, FarmingTypeMaintenanceRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingtypemaintenance/vo/FarmingTypeMaintenancePageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingtypemaintenance/vo/FarmingTypeMaintenancePageReqVO.java new file mode 100644 index 00000000..16b074f2 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingtypemaintenance/vo/FarmingTypeMaintenancePageReqVO.java @@ -0,0 +1,41 @@ +package cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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; + +@Schema(description = "管理后台 - 农事类型维护分页 Request VO") +@Data +public class FarmingTypeMaintenancePageReqVO extends PageParam { + + @Schema(description = "农事类型", example = "1") + private String farmingType; + + @Schema(description = "0=启用,1=停用", example = "2") + private Integer useStatus; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "基地id", example = "29265") + private String baseId; + + @Schema(description = "基地", example = "张三") + private String baseName; + + @Schema(description = "地块ID", example = "28838") + private String plotId; + + @Schema(description = "地块", example = "张三") + private String plotName; + + @Schema(description = "租户id", example = "6207") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingtypemaintenance/vo/FarmingTypeMaintenanceRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingtypemaintenance/vo/FarmingTypeMaintenanceRespVO.java new file mode 100644 index 00000000..08bf09bc --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingtypemaintenance/vo/FarmingTypeMaintenanceRespVO.java @@ -0,0 +1,51 @@ +package cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 农事类型维护 Response VO") +@Data +@ExcelIgnoreUnannotated +public class FarmingTypeMaintenanceRespVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "29520") + @ExcelProperty("基础id") + private String id; + + @Schema(description = "农事类型", example = "1") + @ExcelProperty("农事类型") + private String farmingType; + + @Schema(description = "0=启用,1=停用", example = "2") + @ExcelProperty("0=启用,1=停用") + private Integer useStatus; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "基地id", example = "29265") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "张三") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "28838") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "张三") + @ExcelProperty("地块") + private String plotName; + + @Schema(description = "租户id", example = "6207") + @ExcelProperty("租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingtypemaintenance/vo/FarmingTypeMaintenanceSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingtypemaintenance/vo/FarmingTypeMaintenanceSaveReqVO.java new file mode 100644 index 00000000..0ec5ebf5 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/farmingtypemaintenance/vo/FarmingTypeMaintenanceSaveReqVO.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 农事类型维护新增/修改 Request VO") +@Data +public class FarmingTypeMaintenanceSaveReqVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "29520") + private String id; + + @Schema(description = "农事类型", example = "1") + private String farmingType; + + @Schema(description = "0=启用,1=停用", example = "2") + private Integer useStatus; + + @Schema(description = "基地id", example = "29265") + private String baseId; + + @Schema(description = "基地", example = "张三") + private String baseName; + + @Schema(description = "地块ID", example = "28838") + private String plotId; + + @Schema(description = "地块", example = "张三") + private String plotName; + + @Schema(description = "租户id", example = "6207") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/fertilizerindex/FertilizerIndexController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/fertilizerindex/FertilizerIndexController.java new file mode 100644 index 00000000..f846c651 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/fertilizerindex/FertilizerIndexController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.fertilizerindex; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.fertilizerindex.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.fertilizerindex.FertilizerIndexDO; +import cn.iocoder.yudao.module.farm.service.fertilizerindex.FertilizerIndexService; + +@Tag(name = "管理后台 - 化肥指标") +@RestController +@RequestMapping("/farm/fertilizer-index") +@Validated +public class FertilizerIndexController { + + @Resource + private FertilizerIndexService fertilizerIndexService; + + @PostMapping("/create") + @Operation(summary = "创建化肥指标") + @PreAuthorize("@ss.hasPermission('farm:fertilizer-index:create')") + public CommonResult createFertilizerIndex(@Valid @RequestBody FertilizerIndexSaveReqVO createReqVO) { + return success(fertilizerIndexService.createFertilizerIndex(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新化肥指标") + @PreAuthorize("@ss.hasPermission('farm:fertilizer-index:update')") + public CommonResult updateFertilizerIndex(@Valid @RequestBody FertilizerIndexSaveReqVO updateReqVO) { + fertilizerIndexService.updateFertilizerIndex(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除化肥指标") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:fertilizer-index:delete')") + public CommonResult deleteFertilizerIndex(@RequestParam("id") String id) { + fertilizerIndexService.deleteFertilizerIndex(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除化肥指标") + @PreAuthorize("@ss.hasPermission('farm:fertilizer-index:delete')") + public CommonResult deleteFertilizerIndexList(@RequestParam("ids") List ids) { + fertilizerIndexService.deleteFertilizerIndexListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得化肥指标") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:fertilizer-index:query')") + public CommonResult getFertilizerIndex(@RequestParam("id") String id) { + FertilizerIndexDO fertilizerIndex = fertilizerIndexService.getFertilizerIndex(id); + return success(BeanUtils.toBean(fertilizerIndex, FertilizerIndexRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得化肥指标分页") + @PreAuthorize("@ss.hasPermission('farm:fertilizer-index:query')") + public CommonResult> getFertilizerIndexPage(@Valid FertilizerIndexPageReqVO pageReqVO) { + PageResult pageResult = fertilizerIndexService.getFertilizerIndexPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, FertilizerIndexRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出化肥指标 Excel") + @PreAuthorize("@ss.hasPermission('farm:fertilizer-index:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportFertilizerIndexExcel(@Valid FertilizerIndexPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = fertilizerIndexService.getFertilizerIndexPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "化肥指标.xls", "数据", FertilizerIndexRespVO.class, + BeanUtils.toBean(list, FertilizerIndexRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/fertilizerindex/vo/FertilizerIndexPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/fertilizerindex/vo/FertilizerIndexPageReqVO.java new file mode 100644 index 00000000..40546e58 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/fertilizerindex/vo/FertilizerIndexPageReqVO.java @@ -0,0 +1,47 @@ +package cn.iocoder.yudao.module.farm.controller.admin.fertilizerindex.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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; + +@Schema(description = "管理后台 - 化肥指标分页 Request VO") +@Data +public class FertilizerIndexPageReqVO extends PageParam { + + @Schema(description = "基础id", example = "26503") + private String foundationId; + + @Schema(description = "项目名称", example = "张三") + private String name; + + @Schema(description = "国家标准") + private String standard; + + @Schema(description = "检验结果") + private String checkResults; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "基地id", example = "19443") + private String baseId; + + @Schema(description = "基地", example = "李四") + private String baseName; + + @Schema(description = "地块ID", example = "25475") + private String plotId; + + @Schema(description = "地块", example = "张三") + private String plotName; + + @Schema(description = "租户id", example = "8699") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/fertilizerindex/vo/FertilizerIndexRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/fertilizerindex/vo/FertilizerIndexRespVO.java new file mode 100644 index 00000000..036dbb0d --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/fertilizerindex/vo/FertilizerIndexRespVO.java @@ -0,0 +1,59 @@ +package cn.iocoder.yudao.module.farm.controller.admin.fertilizerindex.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 化肥指标 Response VO") +@Data +@ExcelIgnoreUnannotated +public class FertilizerIndexRespVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "27638") + @ExcelProperty("id") + private String id; + + @Schema(description = "基础id", example = "26503") + @ExcelProperty("基础id") + private String foundationId; + + @Schema(description = "项目名称", example = "张三") + @ExcelProperty("项目名称") + private String name; + + @Schema(description = "国家标准") + @ExcelProperty("国家标准") + private String standard; + + @Schema(description = "检验结果") + @ExcelProperty("检验结果") + private String checkResults; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "基地id", example = "19443") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "李四") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "25475") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "张三") + @ExcelProperty("地块") + private String plotName; + + @Schema(description = "租户id", example = "8699") + @ExcelProperty("租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/fertilizerindex/vo/FertilizerIndexSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/fertilizerindex/vo/FertilizerIndexSaveReqVO.java new file mode 100644 index 00000000..101fea15 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/fertilizerindex/vo/FertilizerIndexSaveReqVO.java @@ -0,0 +1,42 @@ +package cn.iocoder.yudao.module.farm.controller.admin.fertilizerindex.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 化肥指标新增/修改 Request VO") +@Data +public class FertilizerIndexSaveReqVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "27638") + private String id; + + @Schema(description = "基础id", example = "26503") + private String foundationId; + + @Schema(description = "项目名称", example = "张三") + private String name; + + @Schema(description = "国家标准") + private String standard; + + @Schema(description = "检验结果") + private String checkResults; + + @Schema(description = "基地id", example = "19443") + private String baseId; + + @Schema(description = "基地", example = "李四") + private String baseName; + + @Schema(description = "地块ID", example = "25475") + private String plotId; + + @Schema(description = "地块", example = "张三") + private String plotName; + + @Schema(description = "租户id", example = "8699") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/foundationinfo/FoundationInfoController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/foundationinfo/FoundationInfoController.java new file mode 100644 index 00000000..3165d57f --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/foundationinfo/FoundationInfoController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.foundationinfo; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.foundationinfo.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.foundationinfo.FoundationInfoDO; +import cn.iocoder.yudao.module.farm.service.foundationinfo.FoundationInfoService; + +@Tag(name = "管理后台 - 基础信息") +@RestController +@RequestMapping("/farm/foundation-info") +@Validated +public class FoundationInfoController { + + @Resource + private FoundationInfoService foundationInfoService; + + @PostMapping("/create") + @Operation(summary = "创建基础信息") + @PreAuthorize("@ss.hasPermission('farm:foundation-info:create')") + public CommonResult createFoundationInfo(@Valid @RequestBody FoundationInfoSaveReqVO createReqVO) { + return success(foundationInfoService.createFoundationInfo(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新基础信息") + @PreAuthorize("@ss.hasPermission('farm:foundation-info:update')") + public CommonResult updateFoundationInfo(@Valid @RequestBody FoundationInfoSaveReqVO updateReqVO) { + foundationInfoService.updateFoundationInfo(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除基础信息") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:foundation-info:delete')") + public CommonResult deleteFoundationInfo(@RequestParam("id") String id) { + foundationInfoService.deleteFoundationInfo(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除基础信息") + @PreAuthorize("@ss.hasPermission('farm:foundation-info:delete')") + public CommonResult deleteFoundationInfoList(@RequestParam("ids") List ids) { + foundationInfoService.deleteFoundationInfoListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得基础信息") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:foundation-info:query')") + public CommonResult getFoundationInfo(@RequestParam("id") String id) { + FoundationInfoDO foundationInfo = foundationInfoService.getFoundationInfo(id); + return success(BeanUtils.toBean(foundationInfo, FoundationInfoRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得基础信息分页") + @PreAuthorize("@ss.hasPermission('farm:foundation-info:query')") + public CommonResult> getFoundationInfoPage(@Valid FoundationInfoPageReqVO pageReqVO) { + PageResult pageResult = foundationInfoService.getFoundationInfoPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, FoundationInfoRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出基础信息 Excel") + @PreAuthorize("@ss.hasPermission('farm:foundation-info:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportFoundationInfoExcel(@Valid FoundationInfoPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = foundationInfoService.getFoundationInfoPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "基础信息.xls", "数据", FoundationInfoRespVO.class, + BeanUtils.toBean(list, FoundationInfoRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/foundationinfo/vo/FoundationInfoPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/foundationinfo/vo/FoundationInfoPageReqVO.java new file mode 100644 index 00000000..d6009986 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/foundationinfo/vo/FoundationInfoPageReqVO.java @@ -0,0 +1,50 @@ +package cn.iocoder.yudao.module.farm.controller.admin.foundationinfo.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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; + +@Schema(description = "管理后台 - 基础信息分页 Request VO") +@Data +public class FoundationInfoPageReqVO extends PageParam { + + @Schema(description = "标题") + private String title; + + @Schema(description = "农场名称", example = "芋艿") + private String farmName; + + @Schema(description = "农场Logo") + private String image; + + @Schema(description = "农场介绍", example = "你猜") + private String description; + + @Schema(description = "企业人员总数", example = "1057") + private Integer employeeCount; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "基地id", example = "21166") + private String baseId; + + @Schema(description = "基地", example = "王五") + private String baseName; + + @Schema(description = "地块ID", example = "27402") + private String plotId; + + @Schema(description = "地块", example = "张三") + private String plotName; + + @Schema(description = "租户id", example = "12964") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/foundationinfo/vo/FoundationInfoRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/foundationinfo/vo/FoundationInfoRespVO.java new file mode 100644 index 00000000..44023f50 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/foundationinfo/vo/FoundationInfoRespVO.java @@ -0,0 +1,63 @@ +package cn.iocoder.yudao.module.farm.controller.admin.foundationinfo.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 基础信息 Response VO") +@Data +@ExcelIgnoreUnannotated +public class FoundationInfoRespVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "22602") + @ExcelProperty("基础id") + private String id; + + @Schema(description = "标题") + @ExcelProperty("标题") + private String title; + + @Schema(description = "农场名称", example = "芋艿") + @ExcelProperty("农场名称") + private String farmName; + + @Schema(description = "农场Logo") + @ExcelProperty("农场Logo") + private String image; + + @Schema(description = "农场介绍", example = "你猜") + @ExcelProperty("农场介绍") + private String description; + + @Schema(description = "企业人员总数", example = "1057") + @ExcelProperty("企业人员总数") + private Integer employeeCount; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "基地id", example = "21166") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "王五") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "27402") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "张三") + @ExcelProperty("地块") + private String plotName; + + @Schema(description = "租户id", example = "12964") + @ExcelProperty("租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/foundationinfo/vo/FoundationInfoSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/foundationinfo/vo/FoundationInfoSaveReqVO.java new file mode 100644 index 00000000..3c89161a --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/foundationinfo/vo/FoundationInfoSaveReqVO.java @@ -0,0 +1,45 @@ +package cn.iocoder.yudao.module.farm.controller.admin.foundationinfo.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 基础信息新增/修改 Request VO") +@Data +public class FoundationInfoSaveReqVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "22602") + private String id; + + @Schema(description = "标题") + private String title; + + @Schema(description = "农场名称", example = "芋艿") + private String farmName; + + @Schema(description = "农场Logo") + private String image; + + @Schema(description = "农场介绍", example = "你猜") + private String description; + + @Schema(description = "企业人员总数", example = "1057") + private Integer employeeCount; + + @Schema(description = "基地id", example = "21166") + private String baseId; + + @Schema(description = "基地", example = "王五") + private String baseName; + + @Schema(description = "地块ID", example = "27402") + private String plotId; + + @Schema(description = "地块", example = "张三") + private String plotName; + + @Schema(description = "租户id", example = "12964") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/inputlibrary/InputLibraryController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/inputlibrary/InputLibraryController.java new file mode 100644 index 00000000..dbbf6254 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/inputlibrary/InputLibraryController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.inputlibrary; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.inputlibrary.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.inputlibrary.InputLibraryDO; +import cn.iocoder.yudao.module.farm.service.inputlibrary.InputLibraryService; + +@Tag(name = "管理后台 - 投入品库维护") +@RestController +@RequestMapping("/farm/input-library") +@Validated +public class InputLibraryController { + + @Resource + private InputLibraryService inputLibraryService; + + @PostMapping("/create") + @Operation(summary = "创建投入品库维护") + @PreAuthorize("@ss.hasPermission('farm:input-library:create')") + public CommonResult createInputLibrary(@Valid @RequestBody InputLibrarySaveReqVO createReqVO) { + return success(inputLibraryService.createInputLibrary(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新投入品库维护") + @PreAuthorize("@ss.hasPermission('farm:input-library:update')") + public CommonResult updateInputLibrary(@Valid @RequestBody InputLibrarySaveReqVO updateReqVO) { + inputLibraryService.updateInputLibrary(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除投入品库维护") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:input-library:delete')") + public CommonResult deleteInputLibrary(@RequestParam("id") String id) { + inputLibraryService.deleteInputLibrary(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除投入品库维护") + @PreAuthorize("@ss.hasPermission('farm:input-library:delete')") + public CommonResult deleteInputLibraryList(@RequestParam("ids") List ids) { + inputLibraryService.deleteInputLibraryListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得投入品库维护") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:input-library:query')") + public CommonResult getInputLibrary(@RequestParam("id") String id) { + InputLibraryDO inputLibrary = inputLibraryService.getInputLibrary(id); + return success(BeanUtils.toBean(inputLibrary, InputLibraryRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得投入品库维护分页") + @PreAuthorize("@ss.hasPermission('farm:input-library:query')") + public CommonResult> getInputLibraryPage(@Valid InputLibraryPageReqVO pageReqVO) { + PageResult pageResult = inputLibraryService.getInputLibraryPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, InputLibraryRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出投入品库维护 Excel") + @PreAuthorize("@ss.hasPermission('farm:input-library:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportInputLibraryExcel(@Valid InputLibraryPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = inputLibraryService.getInputLibraryPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "投入品库维护.xls", "数据", InputLibraryRespVO.class, + BeanUtils.toBean(list, InputLibraryRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/inputlibrary/vo/InputLibraryPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/inputlibrary/vo/InputLibraryPageReqVO.java new file mode 100644 index 00000000..884b1b92 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/inputlibrary/vo/InputLibraryPageReqVO.java @@ -0,0 +1,78 @@ +package cn.iocoder.yudao.module.farm.controller.admin.inputlibrary.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import java.math.BigDecimal; +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; + +@Schema(description = "管理后台 - 投入品库维护分页 Request VO") +@Data +public class InputLibraryPageReqVO extends PageParam { + + @Schema(description = "投入品类型", example = "2") + private String assetType; + + @Schema(description = "投入品名称", example = "王五") + private String assetName; + + @Schema(description = "用量") + private BigDecimal dose; + + @Schema(description = "单位") + private String unit; + + @Schema(description = "单件") + private String packageUnit; + + @Schema(description = "单价", example = "23806") + private BigDecimal price; + + @Schema(description = "登记证号") + private String registration; + + @Schema(description = "提供厂商") + private String manufacturer; + + @Schema(description = "药物类型", example = "2") + private String drugType; + + @Schema(description = "有效成分") + private String activePrinciple; + + @Schema(description = "安全间隔期") + private Integer safetyInterval; + + @Schema(description = "稀释倍液") + private String diluted; + + @Schema(description = "防治对象及使用方法") + private String usage; + + @Schema(description = "0=启用,1=停用", example = "2") + private Integer useStatus; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "基地id", example = "21613") + private String baseId; + + @Schema(description = "基地", example = "张三") + private String baseName; + + @Schema(description = "地块ID", example = "14573") + private String plotId; + + @Schema(description = "地块", example = "李四") + private String plotName; + + @Schema(description = "租户id", example = "6773") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/inputlibrary/vo/InputLibraryRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/inputlibrary/vo/InputLibraryRespVO.java new file mode 100644 index 00000000..b8be50de --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/inputlibrary/vo/InputLibraryRespVO.java @@ -0,0 +1,100 @@ +package cn.iocoder.yudao.module.farm.controller.admin.inputlibrary.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 投入品库维护 Response VO") +@Data +@ExcelIgnoreUnannotated +public class InputLibraryRespVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "12085") + @ExcelProperty("基础id") + private String id; + + @Schema(description = "投入品类型", example = "2") + @ExcelProperty("投入品类型") + private String assetType; + + @Schema(description = "投入品名称", example = "王五") + @ExcelProperty("投入品名称") + private String assetName; + + @Schema(description = "用量") + @ExcelProperty("用量") + private BigDecimal dose; + + @Schema(description = "单位") + @ExcelProperty("单位") + private String unit; + + @Schema(description = "单件") + @ExcelProperty("单件") + private String packageUnit; + + @Schema(description = "单价", example = "23806") + @ExcelProperty("单价") + private BigDecimal price; + + @Schema(description = "登记证号") + @ExcelProperty("登记证号") + private String registration; + + @Schema(description = "提供厂商") + @ExcelProperty("提供厂商") + private String manufacturer; + + @Schema(description = "药物类型", example = "2") + @ExcelProperty("药物类型") + private String drugType; + + @Schema(description = "有效成分") + @ExcelProperty("有效成分") + private String activePrinciple; + + @Schema(description = "安全间隔期") + @ExcelProperty("安全间隔期") + private Integer safetyInterval; + + @Schema(description = "稀释倍液") + @ExcelProperty("稀释倍液") + private String diluted; + + @Schema(description = "防治对象及使用方法") + @ExcelProperty("防治对象及使用方法") + private String usage; + + @Schema(description = "0=启用,1=停用", example = "2") + @ExcelProperty("0=启用,1=停用") + private Integer useStatus; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "基地id", example = "21613") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "张三") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "14573") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "李四") + @ExcelProperty("地块") + private String plotName; + + @Schema(description = "租户id", example = "6773") + @ExcelProperty("租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/inputlibrary/vo/InputLibrarySaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/inputlibrary/vo/InputLibrarySaveReqVO.java new file mode 100644 index 00000000..f9f5619e --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/inputlibrary/vo/InputLibrarySaveReqVO.java @@ -0,0 +1,73 @@ +package cn.iocoder.yudao.module.farm.controller.admin.inputlibrary.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 投入品库维护新增/修改 Request VO") +@Data +public class InputLibrarySaveReqVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "12085") + private String id; + + @Schema(description = "投入品类型", example = "2") + private String assetType; + + @Schema(description = "投入品名称", example = "王五") + private String assetName; + + @Schema(description = "用量") + private BigDecimal dose; + + @Schema(description = "单位") + private String unit; + + @Schema(description = "单件") + private String packageUnit; + + @Schema(description = "单价", example = "23806") + private BigDecimal price; + + @Schema(description = "登记证号") + private String registration; + + @Schema(description = "提供厂商") + private String manufacturer; + + @Schema(description = "药物类型", example = "2") + private String drugType; + + @Schema(description = "有效成分") + private String activePrinciple; + + @Schema(description = "安全间隔期") + private Integer safetyInterval; + + @Schema(description = "稀释倍液") + private String diluted; + + @Schema(description = "防治对象及使用方法") + private String usage; + + @Schema(description = "0=启用,1=停用", example = "2") + private Integer useStatus; + + @Schema(description = "基地id", example = "21613") + private String baseId; + + @Schema(description = "基地", example = "张三") + private String baseName; + + @Schema(description = "地块ID", example = "14573") + private String plotId; + + @Schema(description = "地块", example = "李四") + private String plotName; + + @Schema(description = "租户id", example = "6773") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/messagecenter/MessageCenterController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/messagecenter/MessageCenterController.java new file mode 100644 index 00000000..f4f30036 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/messagecenter/MessageCenterController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.messagecenter; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.messagecenter.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.messagecenter.MessageCenterDO; +import cn.iocoder.yudao.module.farm.service.messagecenter.MessageCenterService; + +@Tag(name = "管理后台 - 消息中心") +@RestController +@RequestMapping("/farm/message-center") +@Validated +public class MessageCenterController { + + @Resource + private MessageCenterService messageCenterService; + + @PostMapping("/create") + @Operation(summary = "创建消息中心") + @PreAuthorize("@ss.hasPermission('farm:message-center:create')") + public CommonResult createMessageCenter(@Valid @RequestBody MessageCenterSaveReqVO createReqVO) { + return success(messageCenterService.createMessageCenter(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新消息中心") + @PreAuthorize("@ss.hasPermission('farm:message-center:update')") + public CommonResult updateMessageCenter(@Valid @RequestBody MessageCenterSaveReqVO updateReqVO) { + messageCenterService.updateMessageCenter(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除消息中心") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:message-center:delete')") + public CommonResult deleteMessageCenter(@RequestParam("id") String id) { + messageCenterService.deleteMessageCenter(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除消息中心") + @PreAuthorize("@ss.hasPermission('farm:message-center:delete')") + public CommonResult deleteMessageCenterList(@RequestParam("ids") List ids) { + messageCenterService.deleteMessageCenterListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得消息中心") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:message-center:query')") + public CommonResult getMessageCenter(@RequestParam("id") String id) { + MessageCenterDO messageCenter = messageCenterService.getMessageCenter(id); + return success(BeanUtils.toBean(messageCenter, MessageCenterRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得消息中心分页") + @PreAuthorize("@ss.hasPermission('farm:message-center:query')") + public CommonResult> getMessageCenterPage(@Valid MessageCenterPageReqVO pageReqVO) { + PageResult pageResult = messageCenterService.getMessageCenterPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, MessageCenterRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出消息中心 Excel") + @PreAuthorize("@ss.hasPermission('farm:message-center:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportMessageCenterExcel(@Valid MessageCenterPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = messageCenterService.getMessageCenterPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "消息中心.xls", "数据", MessageCenterRespVO.class, + BeanUtils.toBean(list, MessageCenterRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/messagecenter/vo/MessageCenterPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/messagecenter/vo/MessageCenterPageReqVO.java new file mode 100644 index 00000000..e11f602d --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/messagecenter/vo/MessageCenterPageReqVO.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.farm.controller.admin.messagecenter.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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; + +@Schema(description = "管理后台 - 消息中心分页 Request VO") +@Data +public class MessageCenterPageReqVO extends PageParam { + + @Schema(description = "1=报警,2=预警,3=消息", example = "2") + private Integer messageType; + + @Schema(description = "标题") + private String title; + + @Schema(description = "内容") + private String content; + + @Schema(description = "0=未读,1=已读", example = "2") + private Integer readStatus; + + @Schema(description = "0=未解除,1=已解除,2=无报警", example = "1") + private Integer alarmStatus; + + @Schema(description = "推送次数") + private Integer number; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "已读时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] readTime; + + @Schema(description = "基地id", example = "3475") + private String baseId; + + @Schema(description = "基地", example = "张三") + private String baseName; + + @Schema(description = "地块ID", example = "7249") + private String plotId; + + @Schema(description = "地块", example = "赵六") + private String plotName; + @Schema(description = "租户id") + private String tenantId; +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/messagecenter/vo/MessageCenterRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/messagecenter/vo/MessageCenterRespVO.java new file mode 100644 index 00000000..ee6ab594 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/messagecenter/vo/MessageCenterRespVO.java @@ -0,0 +1,68 @@ +package cn.iocoder.yudao.module.farm.controller.admin.messagecenter.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 消息中心 Response VO") +@Data +@ExcelIgnoreUnannotated +public class MessageCenterRespVO { + + @Schema(description = "消息id", requiredMode = Schema.RequiredMode.REQUIRED, example = "28598") + @ExcelProperty("消息id") + private String id; + + @Schema(description = "1=报警,2=预警,3=消息", example = "2") + @ExcelProperty("1=报警,2=预警,3=消息") + private Integer messageType; + + @Schema(description = "标题") + @ExcelProperty("标题") + private String title; + + @Schema(description = "内容") + @ExcelProperty("内容") + private String content; + + @Schema(description = "0=未读,1=已读", example = "2") + @ExcelProperty("0=未读,1=已读") + private Integer readStatus; + + @Schema(description = "0=未解除,1=已解除,2=无报警", example = "1") + @ExcelProperty("0=未解除,1=已解除,2=无报警") + private Integer alarmStatus; + + @Schema(description = "推送次数") + @ExcelProperty("推送次数") + private Integer number; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "已读时间") + @ExcelProperty("已读时间") + private LocalDateTime readTime; + + @Schema(description = "基地id", example = "3475") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "张三") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "7249") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "赵六") + @ExcelProperty("地块") + private String plotName; + @Schema(description = "租户id") + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/messagecenter/vo/MessageCenterSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/messagecenter/vo/MessageCenterSaveReqVO.java new file mode 100644 index 00000000..c55896c1 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/messagecenter/vo/MessageCenterSaveReqVO.java @@ -0,0 +1,51 @@ +package cn.iocoder.yudao.module.farm.controller.admin.messagecenter.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 消息中心新增/修改 Request VO") +@Data +public class MessageCenterSaveReqVO { + + @Schema(description = "消息id", requiredMode = Schema.RequiredMode.REQUIRED, example = "28598") + private String id; + + @Schema(description = "1=报警,2=预警,3=消息", example = "2") + private Integer messageType; + + @Schema(description = "标题") + private String title; + + @Schema(description = "内容") + private String content; + + @Schema(description = "0=未读,1=已读", example = "2") + private Integer readStatus; + + @Schema(description = "0=未解除,1=已解除,2=无报警", example = "1") + private Integer alarmStatus; + + @Schema(description = "推送次数") + private Integer number; + + @Schema(description = "已读时间") + private LocalDateTime readTime; + + @Schema(description = "基地id", example = "3475") + private String baseId; + + @Schema(description = "基地", example = "张三") + private String baseName; + + @Schema(description = "地块ID", example = "7249") + private String plotId; + + @Schema(description = "地块", example = "赵六") + private String plotName; + @Schema(description = "租户id") + private String tenantId; +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelcycle/ModelCycleController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelcycle/ModelCycleController.java new file mode 100644 index 00000000..c52e9559 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelcycle/ModelCycleController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelcycle; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.modelcycle.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.modelcycle.ModelCycleDO; +import cn.iocoder.yudao.module.farm.service.modelcycle.ModelCycleService; + +@Tag(name = "管理后台 - 模型管理-管理周期") +@RestController +@RequestMapping("/farm/model-cycle") +@Validated +public class ModelCycleController { + + @Resource + private ModelCycleService modelCycleService; + + @PostMapping("/create") + @Operation(summary = "创建模型管理-管理周期") + @PreAuthorize("@ss.hasPermission('farm:model-cycle:create')") + public CommonResult createModelCycle(@Valid @RequestBody ModelCycleSaveReqVO createReqVO) { + return success(modelCycleService.createModelCycle(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新模型管理-管理周期") + @PreAuthorize("@ss.hasPermission('farm:model-cycle:update')") + public CommonResult updateModelCycle(@Valid @RequestBody ModelCycleSaveReqVO updateReqVO) { + modelCycleService.updateModelCycle(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除模型管理-管理周期") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:model-cycle:delete')") + public CommonResult deleteModelCycle(@RequestParam("id") String id) { + modelCycleService.deleteModelCycle(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除模型管理-管理周期") + @PreAuthorize("@ss.hasPermission('farm:model-cycle:delete')") + public CommonResult deleteModelCycleList(@RequestParam("ids") List ids) { + modelCycleService.deleteModelCycleListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得模型管理-管理周期") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:model-cycle:query')") + public CommonResult getModelCycle(@RequestParam("id") String id) { + ModelCycleDO modelCycle = modelCycleService.getModelCycle(id); + return success(BeanUtils.toBean(modelCycle, ModelCycleRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得模型管理-管理周期分页") + @PreAuthorize("@ss.hasPermission('farm:model-cycle:query')") + public CommonResult> getModelCyclePage(@Valid ModelCyclePageReqVO pageReqVO) { + PageResult pageResult = modelCycleService.getModelCyclePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ModelCycleRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出模型管理-管理周期 Excel") + @PreAuthorize("@ss.hasPermission('farm:model-cycle:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportModelCycleExcel(@Valid ModelCyclePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = modelCycleService.getModelCyclePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "模型管理-管理周期.xls", "数据", ModelCycleRespVO.class, + BeanUtils.toBean(list, ModelCycleRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelcycle/vo/ModelCyclePageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelcycle/vo/ModelCyclePageReqVO.java new file mode 100644 index 00000000..70fa7348 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelcycle/vo/ModelCyclePageReqVO.java @@ -0,0 +1,50 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelcycle.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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; + +@Schema(description = "管理后台 - 模型管理-管理周期分页 Request VO") +@Data +public class ModelCyclePageReqVO extends PageParam { + + @Schema(description = "模型id", example = "441") + private String modelId; + + @Schema(description = "管理周期名称", example = "张三") + private String name; + + @Schema(description = "阶段天数") + private Integer stage; + + @Schema(description = "物候期描述", example = "你猜") + private String description; + + @Schema(description = "阶段图片") + private String stageImage; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "基地id", example = "3265") + private String baseId; + + @Schema(description = "基地", example = "赵六") + private String baseName; + + @Schema(description = "地块ID", example = "19671") + private String plotId; + + @Schema(description = "地块", example = "王五") + private String plotName; + + @Schema(description = "租户id", example = "338") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelcycle/vo/ModelCycleRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelcycle/vo/ModelCycleRespVO.java new file mode 100644 index 00000000..ad2d7de4 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelcycle/vo/ModelCycleRespVO.java @@ -0,0 +1,63 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelcycle.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 模型管理-管理周期 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ModelCycleRespVO { + + @Schema(description = "周期id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8266") + @ExcelProperty("周期id") + private String id; + + @Schema(description = "模型id", example = "441") + @ExcelProperty("模型id") + private String modelId; + + @Schema(description = "管理周期名称", example = "张三") + @ExcelProperty("管理周期名称") + private String name; + + @Schema(description = "阶段天数") + @ExcelProperty("阶段天数") + private Integer stage; + + @Schema(description = "物候期描述", example = "你猜") + @ExcelProperty("物候期描述") + private String description; + + @Schema(description = "阶段图片") + @ExcelProperty("阶段图片") + private String stageImage; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "基地id", example = "3265") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "赵六") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "19671") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "王五") + @ExcelProperty("地块") + private String plotName; + + @Schema(description = "租户id", example = "338") + @ExcelProperty("租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelcycle/vo/ModelCycleSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelcycle/vo/ModelCycleSaveReqVO.java new file mode 100644 index 00000000..56c5643a --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelcycle/vo/ModelCycleSaveReqVO.java @@ -0,0 +1,45 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelcycle.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 模型管理-管理周期新增/修改 Request VO") +@Data +public class ModelCycleSaveReqVO { + + @Schema(description = "周期id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8266") + private String id; + + @Schema(description = "模型id", example = "441") + private String modelId; + + @Schema(description = "管理周期名称", example = "张三") + private String name; + + @Schema(description = "阶段天数") + private Integer stage; + + @Schema(description = "物候期描述", example = "你猜") + private String description; + + @Schema(description = "阶段图片") + private String stageImage; + + @Schema(description = "基地id", example = "3265") + private String baseId; + + @Schema(description = "基地", example = "赵六") + private String baseName; + + @Schema(description = "地块ID", example = "19671") + private String plotId; + + @Schema(description = "地块", example = "王五") + private String plotName; + + @Schema(description = "租户id", example = "338") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelenvironmentindex/ModelEnvironmentIndexController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelenvironmentindex/ModelEnvironmentIndexController.java new file mode 100644 index 00000000..e936d269 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelenvironmentindex/ModelEnvironmentIndexController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelenvironmentindex; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.modelenvironmentindex.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.modelenvironmentindex.ModelEnvironmentIndexDO; +import cn.iocoder.yudao.module.farm.service.modelenvironmentindex.ModelEnvironmentIndexService; + +@Tag(name = "管理后台 - 模型管理-环境指标") +@RestController +@RequestMapping("/farm/model-environment-index") +@Validated +public class ModelEnvironmentIndexController { + + @Resource + private ModelEnvironmentIndexService modelEnvironmentIndexService; + + @PostMapping("/create") + @Operation(summary = "创建模型管理-环境指标") + @PreAuthorize("@ss.hasPermission('farm:model-environment-index:create')") + public CommonResult createModelEnvironmentIndex(@Valid @RequestBody ModelEnvironmentIndexSaveReqVO createReqVO) { + return success(modelEnvironmentIndexService.createModelEnvironmentIndex(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新模型管理-环境指标") + @PreAuthorize("@ss.hasPermission('farm:model-environment-index:update')") + public CommonResult updateModelEnvironmentIndex(@Valid @RequestBody ModelEnvironmentIndexSaveReqVO updateReqVO) { + modelEnvironmentIndexService.updateModelEnvironmentIndex(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除模型管理-环境指标") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:model-environment-index:delete')") + public CommonResult deleteModelEnvironmentIndex(@RequestParam("id") String id) { + modelEnvironmentIndexService.deleteModelEnvironmentIndex(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除模型管理-环境指标") + @PreAuthorize("@ss.hasPermission('farm:model-environment-index:delete')") + public CommonResult deleteModelEnvironmentIndexList(@RequestParam("ids") List ids) { + modelEnvironmentIndexService.deleteModelEnvironmentIndexListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得模型管理-环境指标") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:model-environment-index:query')") + public CommonResult getModelEnvironmentIndex(@RequestParam("id") String id) { + ModelEnvironmentIndexDO modelEnvironmentIndex = modelEnvironmentIndexService.getModelEnvironmentIndex(id); + return success(BeanUtils.toBean(modelEnvironmentIndex, ModelEnvironmentIndexRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得模型管理-环境指标分页") + @PreAuthorize("@ss.hasPermission('farm:model-environment-index:query')") + public CommonResult> getModelEnvironmentIndexPage(@Valid ModelEnvironmentIndexPageReqVO pageReqVO) { + PageResult pageResult = modelEnvironmentIndexService.getModelEnvironmentIndexPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ModelEnvironmentIndexRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出模型管理-环境指标 Excel") + @PreAuthorize("@ss.hasPermission('farm:model-environment-index:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportModelEnvironmentIndexExcel(@Valid ModelEnvironmentIndexPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = modelEnvironmentIndexService.getModelEnvironmentIndexPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "模型管理-环境指标.xls", "数据", ModelEnvironmentIndexRespVO.class, + BeanUtils.toBean(list, ModelEnvironmentIndexRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelenvironmentindex/vo/ModelEnvironmentIndexPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelenvironmentindex/vo/ModelEnvironmentIndexPageReqVO.java new file mode 100644 index 00000000..5f3744ce --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelenvironmentindex/vo/ModelEnvironmentIndexPageReqVO.java @@ -0,0 +1,54 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelenvironmentindex.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import java.math.BigDecimal; +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; + +@Schema(description = "管理后台 - 模型管理-环境指标分页 Request VO") +@Data +public class ModelEnvironmentIndexPageReqVO extends PageParam { + + @Schema(description = "周期id", example = "26426") + private String cycleId; + + @Schema(description = "设备分类") + private String deviceClass; + + @Schema(description = "环境指标") + private String indicators; + + @Schema(description = "最低值") + private BigDecimal minimum; + + @Schema(description = "最高值") + private BigDecimal maximum; + + @Schema(description = "预警摘要说明", example = "你猜") + private String description; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "基地id", example = "23126") + private String baseId; + + @Schema(description = "基地", example = "李四") + private String baseName; + + @Schema(description = "地块ID", example = "26021") + private String plotId; + + @Schema(description = "地块", example = "王五") + private String plotName; + + @Schema(description = "租户id", example = "20667") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelenvironmentindex/vo/ModelEnvironmentIndexRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelenvironmentindex/vo/ModelEnvironmentIndexRespVO.java new file mode 100644 index 00000000..b198a3eb --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelenvironmentindex/vo/ModelEnvironmentIndexRespVO.java @@ -0,0 +1,68 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelenvironmentindex.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 模型管理-环境指标 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ModelEnvironmentIndexRespVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "704") + @ExcelProperty("基础id") + private String id; + + @Schema(description = "周期id", example = "26426") + @ExcelProperty("周期id") + private String cycleId; + + @Schema(description = "设备分类") + @ExcelProperty("设备分类") + private String deviceClass; + + @Schema(description = "环境指标") + @ExcelProperty("环境指标") + private String indicators; + + @Schema(description = "最低值") + @ExcelProperty("最低值") + private BigDecimal minimum; + + @Schema(description = "最高值") + @ExcelProperty("最高值") + private BigDecimal maximum; + + @Schema(description = "预警摘要说明", example = "你猜") + @ExcelProperty("预警摘要说明") + private String description; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "基地id", example = "23126") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "李四") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "26021") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "王五") + @ExcelProperty("地块") + private String plotName; + + @Schema(description = "租户id", example = "20667") + @ExcelProperty("租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelenvironmentindex/vo/ModelEnvironmentIndexSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelenvironmentindex/vo/ModelEnvironmentIndexSaveReqVO.java new file mode 100644 index 00000000..f72b9226 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelenvironmentindex/vo/ModelEnvironmentIndexSaveReqVO.java @@ -0,0 +1,49 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelenvironmentindex.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 模型管理-环境指标新增/修改 Request VO") +@Data +public class ModelEnvironmentIndexSaveReqVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "704") + private String id; + + @Schema(description = "周期id", example = "26426") + private String cycleId; + + @Schema(description = "设备分类") + private String deviceClass; + + @Schema(description = "环境指标") + private String indicators; + + @Schema(description = "最低值") + private BigDecimal minimum; + + @Schema(description = "最高值") + private BigDecimal maximum; + + @Schema(description = "预警摘要说明", example = "你猜") + private String description; + + @Schema(description = "基地id", example = "23126") + private String baseId; + + @Schema(description = "基地", example = "李四") + private String baseName; + + @Schema(description = "地块ID", example = "26021") + private String plotId; + + @Schema(description = "地块", example = "王五") + private String plotName; + + @Schema(description = "租户id", example = "20667") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperation/ModelFarmingOperationController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperation/ModelFarmingOperationController.java new file mode 100644 index 00000000..00fa552e --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperation/ModelFarmingOperationController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperation; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperation.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperation.ModelFarmingOperationDO; +import cn.iocoder.yudao.module.farm.service.modelfarmingoperation.ModelFarmingOperationService; + +@Tag(name = "管理后台 - 模型管理-农事操作") +@RestController +@RequestMapping("/farm/model-farming-operation") +@Validated +public class ModelFarmingOperationController { + + @Resource + private ModelFarmingOperationService modelFarmingOperationService; + + @PostMapping("/create") + @Operation(summary = "创建模型管理-农事操作") + @PreAuthorize("@ss.hasPermission('farm:model-farming-operation:create')") + public CommonResult createModelFarmingOperation(@Valid @RequestBody ModelFarmingOperationSaveReqVO createReqVO) { + return success(modelFarmingOperationService.createModelFarmingOperation(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新模型管理-农事操作") + @PreAuthorize("@ss.hasPermission('farm:model-farming-operation:update')") + public CommonResult updateModelFarmingOperation(@Valid @RequestBody ModelFarmingOperationSaveReqVO updateReqVO) { + modelFarmingOperationService.updateModelFarmingOperation(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除模型管理-农事操作") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:model-farming-operation:delete')") + public CommonResult deleteModelFarmingOperation(@RequestParam("id") String id) { + modelFarmingOperationService.deleteModelFarmingOperation(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除模型管理-农事操作") + @PreAuthorize("@ss.hasPermission('farm:model-farming-operation:delete')") + public CommonResult deleteModelFarmingOperationList(@RequestParam("ids") List ids) { + modelFarmingOperationService.deleteModelFarmingOperationListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得模型管理-农事操作") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:model-farming-operation:query')") + public CommonResult getModelFarmingOperation(@RequestParam("id") String id) { + ModelFarmingOperationDO modelFarmingOperation = modelFarmingOperationService.getModelFarmingOperation(id); + return success(BeanUtils.toBean(modelFarmingOperation, ModelFarmingOperationRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得模型管理-农事操作分页") + @PreAuthorize("@ss.hasPermission('farm:model-farming-operation:query')") + public CommonResult> getModelFarmingOperationPage(@Valid ModelFarmingOperationPageReqVO pageReqVO) { + PageResult pageResult = modelFarmingOperationService.getModelFarmingOperationPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ModelFarmingOperationRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出模型管理-农事操作 Excel") + @PreAuthorize("@ss.hasPermission('farm:model-farming-operation:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportModelFarmingOperationExcel(@Valid ModelFarmingOperationPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = modelFarmingOperationService.getModelFarmingOperationPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "模型管理-农事操作.xls", "数据", ModelFarmingOperationRespVO.class, + BeanUtils.toBean(list, ModelFarmingOperationRespVO.class)); + } + +} \ No newline at end of file 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 new file mode 100644 index 00000000..95934745 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperation/vo/ModelFarmingOperationPageReqVO.java @@ -0,0 +1,56 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperation.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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; + +@Schema(description = "管理后台 - 模型管理-农事操作分页 Request VO") +@Data +public class ModelFarmingOperationPageReqVO extends PageParam { + + @Schema(description = "周期id", example = "2363") + private String cycleId; + + @Schema(description = "农事名称id", example = "赵六") + private String farmingName; + + @Schema(description = "操作开始时期(天)") + private Integer startingPeriod; + + @Schema(description = "用时(天)") + private Integer used; + + @Schema(description = "人工数(人)") + private Integer workersNumber; + + @Schema(description = "操作方式说明", example = "你猜") + private String description; + + @Schema(description = "操作示意图") + private String sketch; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "基地id", example = "20985") + private String baseId; + + @Schema(description = "基地", example = "王五") + private String baseName; + + @Schema(description = "地块ID", example = "13119") + private String plotId; + + @Schema(description = "地块", example = "芋艿") + private String plotName; + + @Schema(description = "租户id", example = "31485") + private String tenantId; + +} \ No newline at end of file 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 new file mode 100644 index 00000000..f3e3b107 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperation/vo/ModelFarmingOperationRespVO.java @@ -0,0 +1,71 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperation.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 模型管理-农事操作 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ModelFarmingOperationRespVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "2386") + @ExcelProperty("基础id") + private String id; + + @Schema(description = "周期id", example = "2363") + @ExcelProperty("周期id") + private String cycleId; + + @Schema(description = "农事名称id", example = "赵六") + @ExcelProperty("农事名称id") + private String farmingName; + + @Schema(description = "操作开始时期(天)") + @ExcelProperty("操作开始时期(天)") + private Integer startingPeriod; + + @Schema(description = "用时(天)") + @ExcelProperty("用时(天)") + private Integer used; + + @Schema(description = "人工数(人)") + @ExcelProperty("人工数(人)") + private Integer workersNumber; + + @Schema(description = "操作方式说明", example = "你猜") + @ExcelProperty("操作方式说明") + private String description; + + @Schema(description = "操作示意图") + @ExcelProperty("操作示意图") + private String sketch; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "基地id", example = "20985") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "王五") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "13119") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "芋艿") + @ExcelProperty("地块") + private String plotName; + + @Schema(description = "租户id", example = "31485") + @ExcelProperty("租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperation/vo/ModelFarmingOperationSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperation/vo/ModelFarmingOperationSaveReqVO.java new file mode 100644 index 00000000..c1cbfbc3 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperation/vo/ModelFarmingOperationSaveReqVO.java @@ -0,0 +1,51 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperation.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 模型管理-农事操作新增/修改 Request VO") +@Data +public class ModelFarmingOperationSaveReqVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "2386") + private String id; + + @Schema(description = "周期id", example = "2363") + private String cycleId; + + @Schema(description = "农事名称id", example = "赵六") + private String farmingName; + + @Schema(description = "操作开始时期(天)") + private Integer startingPeriod; + + @Schema(description = "用时(天)") + private Integer used; + + @Schema(description = "人工数(人)") + private Integer workersNumber; + + @Schema(description = "操作方式说明", example = "你猜") + private String description; + + @Schema(description = "操作示意图") + private String sketch; + + @Schema(description = "基地id", example = "20985") + private String baseId; + + @Schema(description = "基地", example = "王五") + private String baseName; + + @Schema(description = "地块ID", example = "13119") + private String plotId; + + @Schema(description = "地块", example = "芋艿") + private String plotName; + + @Schema(description = "租户id", example = "31485") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/ModelFarmingOperationInputController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/ModelFarmingOperationInputController.java new file mode 100644 index 00000000..955c97ca --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/ModelFarmingOperationInputController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperationinput; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperationinput.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperationinput.ModelFarmingOperationInputDO; +import cn.iocoder.yudao.module.farm.service.modelfarmingoperationinput.ModelFarmingOperationInputService; + +@Tag(name = "管理后台 - 模型管理-农事操作-已选择投入品列") +@RestController +@RequestMapping("/farm/model-farming-operation-input") +@Validated +public class ModelFarmingOperationInputController { + + @Resource + private ModelFarmingOperationInputService modelFarmingOperationInputService; + + @PostMapping("/create") + @Operation(summary = "创建模型管理-农事操作-已选择投入品列") + @PreAuthorize("@ss.hasPermission('farm:model-farming-operation-input:create')") + public CommonResult createModelFarmingOperationInput(@Valid @RequestBody ModelFarmingOperationInputSaveReqVO createReqVO) { + return success(modelFarmingOperationInputService.createModelFarmingOperationInput(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新模型管理-农事操作-已选择投入品列") + @PreAuthorize("@ss.hasPermission('farm:model-farming-operation-input:update')") + public CommonResult updateModelFarmingOperationInput(@Valid @RequestBody ModelFarmingOperationInputSaveReqVO updateReqVO) { + modelFarmingOperationInputService.updateModelFarmingOperationInput(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除模型管理-农事操作-已选择投入品列") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:model-farming-operation-input:delete')") + public CommonResult deleteModelFarmingOperationInput(@RequestParam("id") String id) { + modelFarmingOperationInputService.deleteModelFarmingOperationInput(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除模型管理-农事操作-已选择投入品列") + @PreAuthorize("@ss.hasPermission('farm:model-farming-operation-input:delete')") + public CommonResult deleteModelFarmingOperationInputList(@RequestParam("ids") List ids) { + modelFarmingOperationInputService.deleteModelFarmingOperationInputListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得模型管理-农事操作-已选择投入品列") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:model-farming-operation-input:query')") + public CommonResult getModelFarmingOperationInput(@RequestParam("id") String id) { + ModelFarmingOperationInputDO modelFarmingOperationInput = modelFarmingOperationInputService.getModelFarmingOperationInput(id); + return success(BeanUtils.toBean(modelFarmingOperationInput, ModelFarmingOperationInputRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得模型管理-农事操作-已选择投入品列分页") + @PreAuthorize("@ss.hasPermission('farm:model-farming-operation-input:query')") + public CommonResult> getModelFarmingOperationInputPage(@Valid ModelFarmingOperationInputPageReqVO pageReqVO) { + PageResult pageResult = modelFarmingOperationInputService.getModelFarmingOperationInputPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ModelFarmingOperationInputRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出模型管理-农事操作-已选择投入品列 Excel") + @PreAuthorize("@ss.hasPermission('farm:model-farming-operation-input:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportModelFarmingOperationInputExcel(@Valid ModelFarmingOperationInputPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = modelFarmingOperationInputService.getModelFarmingOperationInputPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "模型管理-农事操作-已选择投入品列.xls", "数据", ModelFarmingOperationInputRespVO.class, + BeanUtils.toBean(list, ModelFarmingOperationInputRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/vo/ModelFarmingOperationInputPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/vo/ModelFarmingOperationInputPageReqVO.java new file mode 100644 index 00000000..2d758c8d --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/vo/ModelFarmingOperationInputPageReqVO.java @@ -0,0 +1,54 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperationinput.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import java.math.BigDecimal; +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; + +@Schema(description = "管理后台 - 模型管理-农事操作-已选择投入品列分页 Request VO") +@Data +public class ModelFarmingOperationInputPageReqVO extends PageParam { + + @Schema(description = "农事id", example = "26361") + private String farmingId; + + @Schema(description = "投入品id", example = "5852") + private String inputsId; + + @Schema(description = "用量") + private BigDecimal dose; + + @Schema(description = "单位") + private String unit; + + @Schema(description = "稀释倍液") + private String diluted; + + @Schema(description = "用法") + private String usage; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "基地id", example = "21363") + private String baseId; + + @Schema(description = "基地", example = "李四") + private String baseName; + + @Schema(description = "地块ID", example = "26067") + private String plotId; + + @Schema(description = "地块", example = "张三") + private String plotName; + + @Schema(description = "租户id", example = "3440") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/vo/ModelFarmingOperationInputRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/vo/ModelFarmingOperationInputRespVO.java new file mode 100644 index 00000000..18834c86 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/vo/ModelFarmingOperationInputRespVO.java @@ -0,0 +1,68 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperationinput.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 模型管理-农事操作-已选择投入品列 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ModelFarmingOperationInputRespVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13911") + @ExcelProperty("基础id") + private String id; + + @Schema(description = "农事id", example = "26361") + @ExcelProperty("农事id") + private String farmingId; + + @Schema(description = "投入品id", example = "5852") + @ExcelProperty("投入品id") + private String inputsId; + + @Schema(description = "用量") + @ExcelProperty("用量") + private BigDecimal dose; + + @Schema(description = "单位") + @ExcelProperty("单位") + private String unit; + + @Schema(description = "稀释倍液") + @ExcelProperty("稀释倍液") + private String diluted; + + @Schema(description = "用法") + @ExcelProperty("用法") + private String usage; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "基地id", example = "21363") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "李四") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "26067") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "张三") + @ExcelProperty("地块") + private String plotName; + + @Schema(description = "租户id", example = "3440") + @ExcelProperty("租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/vo/ModelFarmingOperationInputSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/vo/ModelFarmingOperationInputSaveReqVO.java new file mode 100644 index 00000000..bdccb379 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelfarmingoperationinput/vo/ModelFarmingOperationInputSaveReqVO.java @@ -0,0 +1,49 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperationinput.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 模型管理-农事操作-已选择投入品列新增/修改 Request VO") +@Data +public class ModelFarmingOperationInputSaveReqVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13911") + private String id; + + @Schema(description = "农事id", example = "26361") + private String farmingId; + + @Schema(description = "投入品id", example = "5852") + private String inputsId; + + @Schema(description = "用量") + private BigDecimal dose; + + @Schema(description = "单位") + private String unit; + + @Schema(description = "稀释倍液") + private String diluted; + + @Schema(description = "用法") + private String usage; + + @Schema(description = "基地id", example = "21363") + private String baseId; + + @Schema(description = "基地", example = "李四") + private String baseName; + + @Schema(description = "地块ID", example = "26067") + private String plotId; + + @Schema(description = "地块", example = "张三") + private String plotName; + + @Schema(description = "租户id", example = "3440") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelpestdiseaseweed/ModelPestDiseaseWeedController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelpestdiseaseweed/ModelPestDiseaseWeedController.java new file mode 100644 index 00000000..ffe900d2 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelpestdiseaseweed/ModelPestDiseaseWeedController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelpestdiseaseweed; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.modelpestdiseaseweed.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.modelpestdiseaseweed.ModelPestDiseaseWeedDO; +import cn.iocoder.yudao.module.farm.service.modelpestdiseaseweed.ModelPestDiseaseWeedService; + +@Tag(name = "管理后台 - 模型管理-病虫草害") +@RestController +@RequestMapping("/farm/model-pest-disease-weed") +@Validated +public class ModelPestDiseaseWeedController { + + @Resource + private ModelPestDiseaseWeedService modelPestDiseaseWeedService; + + @PostMapping("/create") + @Operation(summary = "创建模型管理-病虫草害") + @PreAuthorize("@ss.hasPermission('farm:model-pest-disease-weed:create')") + public CommonResult createModelPestDiseaseWeed(@Valid @RequestBody ModelPestDiseaseWeedSaveReqVO createReqVO) { + return success(modelPestDiseaseWeedService.createModelPestDiseaseWeed(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新模型管理-病虫草害") + @PreAuthorize("@ss.hasPermission('farm:model-pest-disease-weed:update')") + public CommonResult updateModelPestDiseaseWeed(@Valid @RequestBody ModelPestDiseaseWeedSaveReqVO updateReqVO) { + modelPestDiseaseWeedService.updateModelPestDiseaseWeed(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除模型管理-病虫草害") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:model-pest-disease-weed:delete')") + public CommonResult deleteModelPestDiseaseWeed(@RequestParam("id") String id) { + modelPestDiseaseWeedService.deleteModelPestDiseaseWeed(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除模型管理-病虫草害") + @PreAuthorize("@ss.hasPermission('farm:model-pest-disease-weed:delete')") + public CommonResult deleteModelPestDiseaseWeedList(@RequestParam("ids") List ids) { + modelPestDiseaseWeedService.deleteModelPestDiseaseWeedListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得模型管理-病虫草害") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:model-pest-disease-weed:query')") + public CommonResult getModelPestDiseaseWeed(@RequestParam("id") String id) { + ModelPestDiseaseWeedDO modelPestDiseaseWeed = modelPestDiseaseWeedService.getModelPestDiseaseWeed(id); + return success(BeanUtils.toBean(modelPestDiseaseWeed, ModelPestDiseaseWeedRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得模型管理-病虫草害分页") + @PreAuthorize("@ss.hasPermission('farm:model-pest-disease-weed:query')") + public CommonResult> getModelPestDiseaseWeedPage(@Valid ModelPestDiseaseWeedPageReqVO pageReqVO) { + PageResult pageResult = modelPestDiseaseWeedService.getModelPestDiseaseWeedPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ModelPestDiseaseWeedRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出模型管理-病虫草害 Excel") + @PreAuthorize("@ss.hasPermission('farm:model-pest-disease-weed:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportModelPestDiseaseWeedExcel(@Valid ModelPestDiseaseWeedPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = modelPestDiseaseWeedService.getModelPestDiseaseWeedPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "模型管理-病虫草害.xls", "数据", ModelPestDiseaseWeedRespVO.class, + BeanUtils.toBean(list, ModelPestDiseaseWeedRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelpestdiseaseweed/vo/ModelPestDiseaseWeedPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelpestdiseaseweed/vo/ModelPestDiseaseWeedPageReqVO.java new file mode 100644 index 00000000..9d773fe4 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelpestdiseaseweed/vo/ModelPestDiseaseWeedPageReqVO.java @@ -0,0 +1,50 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelpestdiseaseweed.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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; + +@Schema(description = "管理后台 - 模型管理-病虫草害分页 Request VO") +@Data +public class ModelPestDiseaseWeedPageReqVO extends PageParam { + + @Schema(description = "周期id", example = "11935") + private String cycleId; + + @Schema(description = "病虫草害类型", example = "2") + private Integer type; + + @Schema(description = "病虫草害名称", example = "芋艿") + private String name; + + @Schema(description = "病虫草害id", example = "20996") + private String pestsId; + + @Schema(description = "预警摘要说明", example = "你说的对") + private String description; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "基地id", example = "22440") + private String baseId; + + @Schema(description = "基地", example = "张三") + private String baseName; + + @Schema(description = "地块ID", example = "17998") + private String plotId; + + @Schema(description = "地块", example = "赵六") + private String plotName; + + @Schema(description = "租户id", example = "31930") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelpestdiseaseweed/vo/ModelPestDiseaseWeedRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelpestdiseaseweed/vo/ModelPestDiseaseWeedRespVO.java new file mode 100644 index 00000000..f7384770 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelpestdiseaseweed/vo/ModelPestDiseaseWeedRespVO.java @@ -0,0 +1,63 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelpestdiseaseweed.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 模型管理-病虫草害 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ModelPestDiseaseWeedRespVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "2957") + @ExcelProperty("基础id") + private String id; + + @Schema(description = "周期id", example = "11935") + @ExcelProperty("周期id") + private String cycleId; + + @Schema(description = "病虫草害类型", example = "2") + @ExcelProperty("病虫草害类型") + private Integer type; + + @Schema(description = "病虫草害名称", example = "芋艿") + @ExcelProperty("病虫草害名称") + private String name; + + @Schema(description = "病虫草害id", example = "20996") + @ExcelProperty("病虫草害id") + private String pestsId; + + @Schema(description = "预警摘要说明", example = "你说的对") + @ExcelProperty("预警摘要说明") + private String description; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "基地id", example = "22440") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "张三") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "17998") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "赵六") + @ExcelProperty("地块") + private String plotName; + + @Schema(description = "租户id", example = "31930") + @ExcelProperty("租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelpestdiseaseweed/vo/ModelPestDiseaseWeedSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelpestdiseaseweed/vo/ModelPestDiseaseWeedSaveReqVO.java new file mode 100644 index 00000000..02036544 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelpestdiseaseweed/vo/ModelPestDiseaseWeedSaveReqVO.java @@ -0,0 +1,45 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelpestdiseaseweed.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 模型管理-病虫草害新增/修改 Request VO") +@Data +public class ModelPestDiseaseWeedSaveReqVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "2957") + private String id; + + @Schema(description = "周期id", example = "11935") + private String cycleId; + + @Schema(description = "病虫草害类型", example = "2") + private Integer type; + + @Schema(description = "病虫草害名称", example = "芋艿") + private String name; + + @Schema(description = "病虫草害id", example = "20996") + private String pestsId; + + @Schema(description = "预警摘要说明", example = "你说的对") + private String description; + + @Schema(description = "基地id", example = "22440") + private String baseId; + + @Schema(description = "基地", example = "张三") + private String baseName; + + @Schema(description = "地块ID", example = "17998") + private String plotId; + + @Schema(description = "地块", example = "赵六") + private String plotName; + + @Schema(description = "租户id", example = "31930") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelweatherdisaster/ModelWeatherDisasterController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelweatherdisaster/ModelWeatherDisasterController.java new file mode 100644 index 00000000..8ca42921 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelweatherdisaster/ModelWeatherDisasterController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelweatherdisaster; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.modelweatherdisaster.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.modelweatherdisaster.ModelWeatherDisasterDO; +import cn.iocoder.yudao.module.farm.service.modelweatherdisaster.ModelWeatherDisasterService; + +@Tag(name = "管理后台 - 模型管理-气象灾害") +@RestController +@RequestMapping("/farm/model-weather-disaster") +@Validated +public class ModelWeatherDisasterController { + + @Resource + private ModelWeatherDisasterService modelWeatherDisasterService; + + @PostMapping("/create") + @Operation(summary = "创建模型管理-气象灾害") + @PreAuthorize("@ss.hasPermission('farm:model-weather-disaster:create')") + public CommonResult createModelWeatherDisaster(@Valid @RequestBody ModelWeatherDisasterSaveReqVO createReqVO) { + return success(modelWeatherDisasterService.createModelWeatherDisaster(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新模型管理-气象灾害") + @PreAuthorize("@ss.hasPermission('farm:model-weather-disaster:update')") + public CommonResult updateModelWeatherDisaster(@Valid @RequestBody ModelWeatherDisasterSaveReqVO updateReqVO) { + modelWeatherDisasterService.updateModelWeatherDisaster(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除模型管理-气象灾害") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:model-weather-disaster:delete')") + public CommonResult deleteModelWeatherDisaster(@RequestParam("id") String id) { + modelWeatherDisasterService.deleteModelWeatherDisaster(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除模型管理-气象灾害") + @PreAuthorize("@ss.hasPermission('farm:model-weather-disaster:delete')") + public CommonResult deleteModelWeatherDisasterList(@RequestParam("ids") List ids) { + modelWeatherDisasterService.deleteModelWeatherDisasterListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得模型管理-气象灾害") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:model-weather-disaster:query')") + public CommonResult getModelWeatherDisaster(@RequestParam("id") String id) { + ModelWeatherDisasterDO modelWeatherDisaster = modelWeatherDisasterService.getModelWeatherDisaster(id); + return success(BeanUtils.toBean(modelWeatherDisaster, ModelWeatherDisasterRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得模型管理-气象灾害分页") + @PreAuthorize("@ss.hasPermission('farm:model-weather-disaster:query')") + public CommonResult> getModelWeatherDisasterPage(@Valid ModelWeatherDisasterPageReqVO pageReqVO) { + PageResult pageResult = modelWeatherDisasterService.getModelWeatherDisasterPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ModelWeatherDisasterRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出模型管理-气象灾害 Excel") + @PreAuthorize("@ss.hasPermission('farm:model-weather-disaster:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportModelWeatherDisasterExcel(@Valid ModelWeatherDisasterPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = modelWeatherDisasterService.getModelWeatherDisasterPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "模型管理-气象灾害.xls", "数据", ModelWeatherDisasterRespVO.class, + BeanUtils.toBean(list, ModelWeatherDisasterRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelweatherdisaster/vo/ModelWeatherDisasterPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelweatherdisaster/vo/ModelWeatherDisasterPageReqVO.java new file mode 100644 index 00000000..215c955f --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelweatherdisaster/vo/ModelWeatherDisasterPageReqVO.java @@ -0,0 +1,50 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelweatherdisaster.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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; + +@Schema(description = "管理后台 - 模型管理-气象灾害分页 Request VO") +@Data +public class ModelWeatherDisasterPageReqVO extends PageParam { + + @Schema(description = "周期id", example = "26687") + private String cycleId; + + @Schema(description = "气象灾害名称", example = "李四") + private String name; + + @Schema(description = "气象灾害id", example = "20911") + private String weatherId; + + @Schema(description = "预警摘要说明", example = "你猜") + private String description; + + @Schema(description = "气象灾害图片") + private String image; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "基地id", example = "28186") + private String baseId; + + @Schema(description = "基地", example = "王五") + private String baseName; + + @Schema(description = "地块ID", example = "29489") + private String plotId; + + @Schema(description = "地块", example = "李四") + private String plotName; + + @Schema(description = "租户id", example = "3725") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelweatherdisaster/vo/ModelWeatherDisasterRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelweatherdisaster/vo/ModelWeatherDisasterRespVO.java new file mode 100644 index 00000000..38c08d64 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelweatherdisaster/vo/ModelWeatherDisasterRespVO.java @@ -0,0 +1,63 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelweatherdisaster.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 模型管理-气象灾害 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ModelWeatherDisasterRespVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "5402") + @ExcelProperty("基础id") + private String id; + + @Schema(description = "周期id", example = "26687") + @ExcelProperty("周期id") + private String cycleId; + + @Schema(description = "气象灾害名称", example = "李四") + @ExcelProperty("气象灾害名称") + private String name; + + @Schema(description = "气象灾害id", example = "20911") + @ExcelProperty("气象灾害id") + private String weatherId; + + @Schema(description = "预警摘要说明", example = "你猜") + @ExcelProperty("预警摘要说明") + private String description; + + @Schema(description = "气象灾害图片") + @ExcelProperty("气象灾害图片") + private String image; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "基地id", example = "28186") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "王五") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "29489") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "李四") + @ExcelProperty("地块") + private String plotName; + + @Schema(description = "租户id", example = "3725") + @ExcelProperty("租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelweatherdisaster/vo/ModelWeatherDisasterSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelweatherdisaster/vo/ModelWeatherDisasterSaveReqVO.java new file mode 100644 index 00000000..da0ae4db --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/modelweatherdisaster/vo/ModelWeatherDisasterSaveReqVO.java @@ -0,0 +1,45 @@ +package cn.iocoder.yudao.module.farm.controller.admin.modelweatherdisaster.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 模型管理-气象灾害新增/修改 Request VO") +@Data +public class ModelWeatherDisasterSaveReqVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "5402") + private String id; + + @Schema(description = "周期id", example = "26687") + private String cycleId; + + @Schema(description = "气象灾害名称", example = "李四") + private String name; + + @Schema(description = "气象灾害id", example = "20911") + private String weatherId; + + @Schema(description = "预警摘要说明", example = "你猜") + private String description; + + @Schema(description = "气象灾害图片") + private String image; + + @Schema(description = "基地id", example = "28186") + private String baseId; + + @Schema(description = "基地", example = "王五") + private String baseName; + + @Schema(description = "地块ID", example = "29489") + private String plotId; + + @Schema(description = "地块", example = "李四") + private String plotName; + + @Schema(description = "租户id", example = "3725") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/personnelmanagement/PersonnelManagementController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/personnelmanagement/PersonnelManagementController.java new file mode 100644 index 00000000..605c83c9 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/personnelmanagement/PersonnelManagementController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.personnelmanagement; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.personnelmanagement.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.personnelmanagement.PersonnelManagementDO; +import cn.iocoder.yudao.module.farm.service.personnelmanagement.PersonnelManagementService; + +@Tag(name = "管理后台 - 人员管理") +@RestController +@RequestMapping("/farm/personnel-management") +@Validated +public class PersonnelManagementController { + + @Resource + private PersonnelManagementService personnelManagementService; + + @PostMapping("/create") + @Operation(summary = "创建人员管理") + @PreAuthorize("@ss.hasPermission('farm:personnel-management:create')") + public CommonResult createPersonnelManagement(@Valid @RequestBody PersonnelManagementSaveReqVO createReqVO) { + return success(personnelManagementService.createPersonnelManagement(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新人员管理") + @PreAuthorize("@ss.hasPermission('farm:personnel-management:update')") + public CommonResult updatePersonnelManagement(@Valid @RequestBody PersonnelManagementSaveReqVO updateReqVO) { + personnelManagementService.updatePersonnelManagement(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除人员管理") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:personnel-management:delete')") + public CommonResult deletePersonnelManagement(@RequestParam("id") String id) { + personnelManagementService.deletePersonnelManagement(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除人员管理") + @PreAuthorize("@ss.hasPermission('farm:personnel-management:delete')") + public CommonResult deletePersonnelManagementList(@RequestParam("ids") List ids) { + personnelManagementService.deletePersonnelManagementListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得人员管理") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:personnel-management:query')") + public CommonResult getPersonnelManagement(@RequestParam("id") String id) { + PersonnelManagementDO personnelManagement = personnelManagementService.getPersonnelManagement(id); + return success(BeanUtils.toBean(personnelManagement, PersonnelManagementRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得人员管理分页") + @PreAuthorize("@ss.hasPermission('farm:personnel-management:query')") + public CommonResult> getPersonnelManagementPage(@Valid PersonnelManagementPageReqVO pageReqVO) { + PageResult pageResult = personnelManagementService.getPersonnelManagementPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, PersonnelManagementRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出人员管理 Excel") + @PreAuthorize("@ss.hasPermission('farm:personnel-management:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportPersonnelManagementExcel(@Valid PersonnelManagementPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = personnelManagementService.getPersonnelManagementPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "人员管理.xls", "数据", PersonnelManagementRespVO.class, + BeanUtils.toBean(list, PersonnelManagementRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/personnelmanagement/vo/PersonnelManagementPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/personnelmanagement/vo/PersonnelManagementPageReqVO.java new file mode 100644 index 00000000..8b119a5d --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/personnelmanagement/vo/PersonnelManagementPageReqVO.java @@ -0,0 +1,53 @@ +package cn.iocoder.yudao.module.farm.controller.admin.personnelmanagement.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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; + +@Schema(description = "管理后台 - 人员管理分页 Request VO") +@Data +public class PersonnelManagementPageReqVO extends PageParam { + + @Schema(description = "用户姓名", example = "芋艿") + private String name; + + @Schema(description = "所属部门") + private String department; + + @Schema(description = "电话号") + private String phone; + + @Schema(description = "角色id用,隔开") + private String role; + + @Schema(description = "头像") + private String picture; + + @Schema(description = "0=启用,1=停用", example = "2") + private Integer accountStatus; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "基地id", example = "30077") + private String baseId; + + @Schema(description = "基地", example = "李四") + private String baseName; + + @Schema(description = "地块ID", example = "13706") + private String plotId; + + @Schema(description = "地块", example = "王五") + private String plotName; + + @Schema(description = "租户id", example = "24704") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/personnelmanagement/vo/PersonnelManagementRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/personnelmanagement/vo/PersonnelManagementRespVO.java new file mode 100644 index 00000000..acea709c --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/personnelmanagement/vo/PersonnelManagementRespVO.java @@ -0,0 +1,67 @@ +package cn.iocoder.yudao.module.farm.controller.admin.personnelmanagement.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 人员管理 Response VO") +@Data +@ExcelIgnoreUnannotated +public class PersonnelManagementRespVO { + + @Schema(description = "人员id", requiredMode = Schema.RequiredMode.REQUIRED, example = "9882") + @ExcelProperty("人员id") + private String id; + + @Schema(description = "用户姓名", example = "芋艿") + @ExcelProperty("用户姓名") + private String name; + + @Schema(description = "所属部门") + @ExcelProperty("所属部门") + private String department; + + @Schema(description = "电话号") + @ExcelProperty("电话号") + private String phone; + + @Schema(description = "角色id用,隔开") + @ExcelProperty("角色id用,隔开") + private String role; + + @Schema(description = "头像") + @ExcelProperty("头像") + private String picture; + + @Schema(description = "0=启用,1=停用", example = "2") + @ExcelProperty("0=启用,1=停用") + private Integer accountStatus; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "基地id", example = "30077") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "李四") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "13706") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "王五") + @ExcelProperty("地块") + private String plotName; + + @Schema(description = "租户id", example = "24704") + @ExcelProperty("租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/personnelmanagement/vo/PersonnelManagementSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/personnelmanagement/vo/PersonnelManagementSaveReqVO.java new file mode 100644 index 00000000..3c729243 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/personnelmanagement/vo/PersonnelManagementSaveReqVO.java @@ -0,0 +1,48 @@ +package cn.iocoder.yudao.module.farm.controller.admin.personnelmanagement.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 人员管理新增/修改 Request VO") +@Data +public class PersonnelManagementSaveReqVO { + + @Schema(description = "人员id", requiredMode = Schema.RequiredMode.REQUIRED, example = "9882") + private String id; + + @Schema(description = "用户姓名", example = "芋艿") + private String name; + + @Schema(description = "所属部门") + private String department; + + @Schema(description = "电话号") + private String phone; + + @Schema(description = "角色id用,隔开") + private String role; + + @Schema(description = "头像") + private String picture; + + @Schema(description = "0=启用,1=停用", example = "2") + private Integer accountStatus; + + @Schema(description = "基地id", example = "30077") + private String baseId; + + @Schema(description = "基地", example = "李四") + private String baseName; + + @Schema(description = "地块ID", example = "13706") + private String plotId; + + @Schema(description = "地块", example = "王五") + private String plotName; + + @Schema(description = "租户id", example = "24704") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pestdiseaseweedlibrary/PestDiseaseWeedLibraryController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pestdiseaseweedlibrary/PestDiseaseWeedLibraryController.java new file mode 100644 index 00000000..39e353a1 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pestdiseaseweedlibrary/PestDiseaseWeedLibraryController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.pestdiseaseweedlibrary; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.pestdiseaseweedlibrary.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.pestdiseaseweedlibrary.PestDiseaseWeedLibraryDO; +import cn.iocoder.yudao.module.farm.service.pestdiseaseweedlibrary.PestDiseaseWeedLibraryService; + +@Tag(name = "管理后台 - 病虫草害库维护") +@RestController +@RequestMapping("/farm/pest-disease-weed-library") +@Validated +public class PestDiseaseWeedLibraryController { + + @Resource + private PestDiseaseWeedLibraryService pestDiseaseWeedLibraryService; + + @PostMapping("/create") + @Operation(summary = "创建病虫草害库维护") + @PreAuthorize("@ss.hasPermission('farm:pest-disease-weed-library:create')") + public CommonResult createPestDiseaseWeedLibrary(@Valid @RequestBody PestDiseaseWeedLibrarySaveReqVO createReqVO) { + return success(pestDiseaseWeedLibraryService.createPestDiseaseWeedLibrary(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新病虫草害库维护") + @PreAuthorize("@ss.hasPermission('farm:pest-disease-weed-library:update')") + public CommonResult updatePestDiseaseWeedLibrary(@Valid @RequestBody PestDiseaseWeedLibrarySaveReqVO updateReqVO) { + pestDiseaseWeedLibraryService.updatePestDiseaseWeedLibrary(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除病虫草害库维护") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:pest-disease-weed-library:delete')") + public CommonResult deletePestDiseaseWeedLibrary(@RequestParam("id") String id) { + pestDiseaseWeedLibraryService.deletePestDiseaseWeedLibrary(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除病虫草害库维护") + @PreAuthorize("@ss.hasPermission('farm:pest-disease-weed-library:delete')") + public CommonResult deletePestDiseaseWeedLibraryList(@RequestParam("ids") List ids) { + pestDiseaseWeedLibraryService.deletePestDiseaseWeedLibraryListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得病虫草害库维护") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:pest-disease-weed-library:query')") + public CommonResult getPestDiseaseWeedLibrary(@RequestParam("id") String id) { + PestDiseaseWeedLibraryDO pestDiseaseWeedLibrary = pestDiseaseWeedLibraryService.getPestDiseaseWeedLibrary(id); + return success(BeanUtils.toBean(pestDiseaseWeedLibrary, PestDiseaseWeedLibraryRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得病虫草害库维护分页") + @PreAuthorize("@ss.hasPermission('farm:pest-disease-weed-library:query')") + public CommonResult> getPestDiseaseWeedLibraryPage(@Valid PestDiseaseWeedLibraryPageReqVO pageReqVO) { + PageResult pageResult = pestDiseaseWeedLibraryService.getPestDiseaseWeedLibraryPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, PestDiseaseWeedLibraryRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出病虫草害库维护 Excel") + @PreAuthorize("@ss.hasPermission('farm:pest-disease-weed-library:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportPestDiseaseWeedLibraryExcel(@Valid PestDiseaseWeedLibraryPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = pestDiseaseWeedLibraryService.getPestDiseaseWeedLibraryPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "病虫草害库维护.xls", "数据", PestDiseaseWeedLibraryRespVO.class, + BeanUtils.toBean(list, PestDiseaseWeedLibraryRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pestdiseaseweedlibrary/vo/PestDiseaseWeedLibraryPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pestdiseaseweedlibrary/vo/PestDiseaseWeedLibraryPageReqVO.java new file mode 100644 index 00000000..a88614c6 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pestdiseaseweedlibrary/vo/PestDiseaseWeedLibraryPageReqVO.java @@ -0,0 +1,53 @@ +package cn.iocoder.yudao.module.farm.controller.admin.pestdiseaseweedlibrary.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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; + +@Schema(description = "管理后台 - 病虫草害库维护分页 Request VO") +@Data +public class PestDiseaseWeedLibraryPageReqVO extends PageParam { + + @Schema(description = "灾害类型", example = "2") + private Integer type; + + @Schema(description = "灾害名称", example = "李四") + private String name; + + @Schema(description = "灾害描述", example = "你说的对") + private String description; + + @Schema(description = "防治建议") + private String propose; + + @Schema(description = "图片") + private String images; + + @Schema(description = "0=启用,1=停用", example = "1") + private Integer useStatus; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "基地id", example = "427") + private String baseId; + + @Schema(description = "基地", example = "王五") + private String baseName; + + @Schema(description = "地块ID", example = "27747") + private String plotId; + + @Schema(description = "地块", example = "芋艿") + private String plotName; + + @Schema(description = "租户id", example = "27978") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pestdiseaseweedlibrary/vo/PestDiseaseWeedLibraryRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pestdiseaseweedlibrary/vo/PestDiseaseWeedLibraryRespVO.java new file mode 100644 index 00000000..ea8f45a8 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pestdiseaseweedlibrary/vo/PestDiseaseWeedLibraryRespVO.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.farm.controller.admin.pestdiseaseweedlibrary.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 病虫草害库维护 Response VO") +@Data +@ExcelIgnoreUnannotated +public class PestDiseaseWeedLibraryRespVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "521") + @ExcelProperty("基础id") + private String id; + + @Schema(description = "灾害类型", example = "2") + @ExcelProperty("灾害类型") + private Integer type; + + @Schema(description = "灾害名称", example = "李四") + @ExcelProperty("灾害名称") + private String name; + + @Schema(description = "灾害描述", example = "你说的对") + @ExcelProperty("灾害描述") + private String description; + + @Schema(description = "防治建议") + @ExcelProperty("防治建议") + private String propose; + + @Schema(description = "图片") + @ExcelProperty("图片") + private String images; + + @Schema(description = "0=启用,1=停用", example = "1") + @ExcelProperty("0=启用,1=停用") + private Integer useStatus; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "基地id", example = "427") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "王五") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "27747") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "芋艿") + @ExcelProperty("地块") + private String plotName; + @Schema(description = "租户id") + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pestdiseaseweedlibrary/vo/PestDiseaseWeedLibrarySaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pestdiseaseweedlibrary/vo/PestDiseaseWeedLibrarySaveReqVO.java new file mode 100644 index 00000000..77db91f4 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pestdiseaseweedlibrary/vo/PestDiseaseWeedLibrarySaveReqVO.java @@ -0,0 +1,48 @@ +package cn.iocoder.yudao.module.farm.controller.admin.pestdiseaseweedlibrary.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 病虫草害库维护新增/修改 Request VO") +@Data +public class PestDiseaseWeedLibrarySaveReqVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "521") + private String id; + + @Schema(description = "灾害类型", example = "2") + private Integer type; + + @Schema(description = "灾害名称", example = "李四") + private String name; + + @Schema(description = "灾害描述", example = "你说的对") + private String description; + + @Schema(description = "防治建议") + private String propose; + + @Schema(description = "图片") + private String images; + + @Schema(description = "0=启用,1=停用", example = "1") + private Integer useStatus; + + @Schema(description = "基地id", example = "427") + private String baseId; + + @Schema(description = "基地", example = "王五") + private String baseName; + + @Schema(description = "地块ID", example = "27747") + private String plotId; + + @Schema(description = "地块", example = "芋艿") + private String plotName; + + @Schema(description = "租户id", example = "27978") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pesticideresidueindex/PesticideResidueIndexController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pesticideresidueindex/PesticideResidueIndexController.java new file mode 100644 index 00000000..a660d475 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pesticideresidueindex/PesticideResidueIndexController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.pesticideresidueindex; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.pesticideresidueindex.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.pesticideresidueindex.PesticideResidueIndexDO; +import cn.iocoder.yudao.module.farm.service.pesticideresidueindex.PesticideResidueIndexService; + +@Tag(name = "管理后台 - 农残指标") +@RestController +@RequestMapping("/farm/pesticide-residue-index") +@Validated +public class PesticideResidueIndexController { + + @Resource + private PesticideResidueIndexService pesticideResidueIndexService; + + @PostMapping("/create") + @Operation(summary = "创建农残指标") + @PreAuthorize("@ss.hasPermission('farm:pesticide-residue-index:create')") + public CommonResult createPesticideResidueIndex(@Valid @RequestBody PesticideResidueIndexSaveReqVO createReqVO) { + return success(pesticideResidueIndexService.createPesticideResidueIndex(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新农残指标") + @PreAuthorize("@ss.hasPermission('farm:pesticide-residue-index:update')") + public CommonResult updatePesticideResidueIndex(@Valid @RequestBody PesticideResidueIndexSaveReqVO updateReqVO) { + pesticideResidueIndexService.updatePesticideResidueIndex(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除农残指标") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:pesticide-residue-index:delete')") + public CommonResult deletePesticideResidueIndex(@RequestParam("id") String id) { + pesticideResidueIndexService.deletePesticideResidueIndex(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除农残指标") + @PreAuthorize("@ss.hasPermission('farm:pesticide-residue-index:delete')") + public CommonResult deletePesticideResidueIndexList(@RequestParam("ids") List ids) { + pesticideResidueIndexService.deletePesticideResidueIndexListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得农残指标") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:pesticide-residue-index:query')") + public CommonResult getPesticideResidueIndex(@RequestParam("id") String id) { + PesticideResidueIndexDO pesticideResidueIndex = pesticideResidueIndexService.getPesticideResidueIndex(id); + return success(BeanUtils.toBean(pesticideResidueIndex, PesticideResidueIndexRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得农残指标分页") + @PreAuthorize("@ss.hasPermission('farm:pesticide-residue-index:query')") + public CommonResult> getPesticideResidueIndexPage(@Valid PesticideResidueIndexPageReqVO pageReqVO) { + PageResult pageResult = pesticideResidueIndexService.getPesticideResidueIndexPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, PesticideResidueIndexRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出农残指标 Excel") + @PreAuthorize("@ss.hasPermission('farm:pesticide-residue-index:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportPesticideResidueIndexExcel(@Valid PesticideResidueIndexPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = pesticideResidueIndexService.getPesticideResidueIndexPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "农残指标.xls", "数据", PesticideResidueIndexRespVO.class, + BeanUtils.toBean(list, PesticideResidueIndexRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pesticideresidueindex/vo/PesticideResidueIndexPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pesticideresidueindex/vo/PesticideResidueIndexPageReqVO.java new file mode 100644 index 00000000..0cdf6767 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pesticideresidueindex/vo/PesticideResidueIndexPageReqVO.java @@ -0,0 +1,47 @@ +package cn.iocoder.yudao.module.farm.controller.admin.pesticideresidueindex.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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; + +@Schema(description = "管理后台 - 农残指标分页 Request VO") +@Data +public class PesticideResidueIndexPageReqVO extends PageParam { + + @Schema(description = "基础id", example = "14095") + private String foundationId; + + @Schema(description = "项目名称", example = "张三") + private String name; + + @Schema(description = "国家标准") + private String standard; + + @Schema(description = "检验结果") + private String checkResults; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "基地id", example = "25138") + private String baseId; + + @Schema(description = "基地", example = "芋艿") + private String baseName; + + @Schema(description = "地块ID", example = "16223") + private String plotId; + + @Schema(description = "地块", example = "王五") + private String plotName; + + @Schema(description = "租户id", example = "8881") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pesticideresidueindex/vo/PesticideResidueIndexRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pesticideresidueindex/vo/PesticideResidueIndexRespVO.java new file mode 100644 index 00000000..62ac58af --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pesticideresidueindex/vo/PesticideResidueIndexRespVO.java @@ -0,0 +1,56 @@ +package cn.iocoder.yudao.module.farm.controller.admin.pesticideresidueindex.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 农残指标 Response VO") +@Data +@ExcelIgnoreUnannotated +public class PesticideResidueIndexRespVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "30168") + @ExcelProperty("id") + private String id; + + @Schema(description = "基础id", example = "14095") + @ExcelProperty("基础id") + private String foundationId; + + @Schema(description = "项目名称", example = "张三") + @ExcelProperty("项目名称") + private String name; + + @Schema(description = "国家标准") + @ExcelProperty("国家标准") + private String standard; + + @Schema(description = "检验结果") + @ExcelProperty("检验结果") + private String checkResults; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "基地id", example = "25138") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "芋艿") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "16223") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "王五") + @ExcelProperty("地块") + private String plotName; + @Schema(description = "租户id") + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pesticideresidueindex/vo/PesticideResidueIndexSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pesticideresidueindex/vo/PesticideResidueIndexSaveReqVO.java new file mode 100644 index 00000000..5cd85919 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/pesticideresidueindex/vo/PesticideResidueIndexSaveReqVO.java @@ -0,0 +1,42 @@ +package cn.iocoder.yudao.module.farm.controller.admin.pesticideresidueindex.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 农残指标新增/修改 Request VO") +@Data +public class PesticideResidueIndexSaveReqVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "30168") + private String id; + + @Schema(description = "基础id", example = "14095") + private String foundationId; + + @Schema(description = "项目名称", example = "张三") + private String name; + + @Schema(description = "国家标准") + private String standard; + + @Schema(description = "检验结果") + private String checkResults; + + @Schema(description = "基地id", example = "25138") + private String baseId; + + @Schema(description = "基地", example = "芋艿") + private String baseName; + + @Schema(description = "地块ID", example = "16223") + private String plotId; + + @Schema(description = "地块", example = "王五") + private String plotName; + + @Schema(description = "租户id", example = "8881") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/plotinfo/PlotInfoController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/plotinfo/PlotInfoController.java new file mode 100644 index 00000000..9f2fc6e7 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/plotinfo/PlotInfoController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.plotinfo; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.plotinfo.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.plotinfo.PlotInfoDO; +import cn.iocoder.yudao.module.farm.service.plotinfo.PlotInfoService; + +@Tag(name = "管理后台 - 地块") +@RestController +@RequestMapping("/farm/plot-info") +@Validated +public class PlotInfoController { + + @Resource + private PlotInfoService plotInfoService; + + @PostMapping("/create") + @Operation(summary = "创建地块") + @PreAuthorize("@ss.hasPermission('farm:plot-info:create')") + public CommonResult createPlotInfo(@Valid @RequestBody PlotInfoSaveReqVO createReqVO) { + return success(plotInfoService.createPlotInfo(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新地块") + @PreAuthorize("@ss.hasPermission('farm:plot-info:update')") + public CommonResult updatePlotInfo(@Valid @RequestBody PlotInfoSaveReqVO updateReqVO) { + plotInfoService.updatePlotInfo(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除地块") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:plot-info:delete')") + public CommonResult deletePlotInfo(@RequestParam("id") String id) { + plotInfoService.deletePlotInfo(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除地块") + @PreAuthorize("@ss.hasPermission('farm:plot-info:delete')") + public CommonResult deletePlotInfoList(@RequestParam("ids") List ids) { + plotInfoService.deletePlotInfoListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得地块") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:plot-info:query')") + public CommonResult getPlotInfo(@RequestParam("id") String id) { + PlotInfoDO plotInfo = plotInfoService.getPlotInfo(id); + return success(BeanUtils.toBean(plotInfo, PlotInfoRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得地块分页") + @PreAuthorize("@ss.hasPermission('farm:plot-info:query')") + public CommonResult> getPlotInfoPage(@Valid PlotInfoPageReqVO pageReqVO) { + PageResult pageResult = plotInfoService.getPlotInfoPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, PlotInfoRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出地块 Excel") + @PreAuthorize("@ss.hasPermission('farm:plot-info:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportPlotInfoExcel(@Valid PlotInfoPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = plotInfoService.getPlotInfoPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "地块.xls", "数据", PlotInfoRespVO.class, + BeanUtils.toBean(list, PlotInfoRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/plotinfo/vo/PlotInfoPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/plotinfo/vo/PlotInfoPageReqVO.java new file mode 100644 index 00000000..8f105c3a --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/plotinfo/vo/PlotInfoPageReqVO.java @@ -0,0 +1,43 @@ +package cn.iocoder.yudao.module.farm.controller.admin.plotinfo.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import java.math.BigDecimal; +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; + +@Schema(description = "管理后台 - 地块分页 Request VO") +@Data +public class PlotInfoPageReqVO extends PageParam { + + @Schema(description = "所属基地ID", example = "1431") + private String baseId; + + @Schema(description = "地块ID", example = "4027") + private String plotId; + + @Schema(description = "地块名称", example = "王五") + private String plotName; + + @Schema(description = "地块面积") + private BigDecimal plotArea; + + @Schema(description = "地块颜色") + private String plotColor; + + @Schema(description = "地块经纬度 (json字符串保存)") + private String point; + + @Schema(description = "技术员ID", example = "653") + private String employeeId; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + @Schema(description = "租户id") + private String tenantId; +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/plotinfo/vo/PlotInfoRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/plotinfo/vo/PlotInfoRespVO.java new file mode 100644 index 00000000..504b6c00 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/plotinfo/vo/PlotInfoRespVO.java @@ -0,0 +1,53 @@ +package cn.iocoder.yudao.module.farm.controller.admin.plotinfo.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 地块 Response VO") +@Data +@ExcelIgnoreUnannotated +public class PlotInfoRespVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "11262") + @ExcelProperty("id") + private String id; + + @Schema(description = "所属基地ID", example = "1431") + @ExcelProperty("所属基地ID") + private String baseId; + + @Schema(description = "地块ID", example = "4027") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块名称", example = "王五") + @ExcelProperty("地块名称") + private String plotName; + + @Schema(description = "地块面积") + @ExcelProperty("地块面积") + private BigDecimal plotArea; + + @Schema(description = "地块颜色") + @ExcelProperty("地块颜色") + private String plotColor; + + @Schema(description = "地块经纬度 (json字符串保存)") + @ExcelProperty("地块经纬度 (json字符串保存)") + private String point; + + @Schema(description = "技术员ID", example = "653") + @ExcelProperty("技术员ID") + private String employeeId; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + @Schema(description = "租户id") + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/plotinfo/vo/PlotInfoSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/plotinfo/vo/PlotInfoSaveReqVO.java new file mode 100644 index 00000000..81178ae8 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/plotinfo/vo/PlotInfoSaveReqVO.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.farm.controller.admin.plotinfo.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 地块新增/修改 Request VO") +@Data +public class PlotInfoSaveReqVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "11262") + private String id; + + @Schema(description = "所属基地ID", example = "1431") + private String baseId; + + @Schema(description = "地块ID", example = "4027") + private String plotId; + + @Schema(description = "地块名称", example = "王五") + private String plotName; + + @Schema(description = "地块面积") + private BigDecimal plotArea; + + @Schema(description = "地块颜色") + private String plotColor; + + @Schema(description = "地块经纬度 (json字符串保存)") + private String point; + + @Schema(description = "技术员ID", example = "653") + private String employeeId; + @Schema(description = "租户id") + private String tenantId; +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productionplan/ProductionPlanController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productionplan/ProductionPlanController.java new file mode 100644 index 00000000..45ad714e --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productionplan/ProductionPlanController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.productionplan; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.productionplan.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.productionplan.ProductionPlanDO; +import cn.iocoder.yudao.module.farm.service.productionplan.ProductionPlanService; + +@Tag(name = "管理后台 - 种植中心-生产计划-生产计划") +@RestController +@RequestMapping("/farm/production-plan") +@Validated +public class ProductionPlanController { + + @Resource + private ProductionPlanService productionPlanService; + + @PostMapping("/create") + @Operation(summary = "创建种植中心-生产计划-生产计划") + @PreAuthorize("@ss.hasPermission('farm:production-plan:create')") + public CommonResult createProductionPlan(@Valid @RequestBody ProductionPlanSaveReqVO createReqVO) { + return success(productionPlanService.createProductionPlan(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新种植中心-生产计划-生产计划") + @PreAuthorize("@ss.hasPermission('farm:production-plan:update')") + public CommonResult updateProductionPlan(@Valid @RequestBody ProductionPlanSaveReqVO updateReqVO) { + productionPlanService.updateProductionPlan(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除种植中心-生产计划-生产计划") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:production-plan:delete')") + public CommonResult deleteProductionPlan(@RequestParam("id") String id) { + productionPlanService.deleteProductionPlan(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除种植中心-生产计划-生产计划") + @PreAuthorize("@ss.hasPermission('farm:production-plan:delete')") + public CommonResult deleteProductionPlanList(@RequestParam("ids") List ids) { + productionPlanService.deleteProductionPlanListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得种植中心-生产计划-生产计划") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:production-plan:query')") + public CommonResult getProductionPlan(@RequestParam("id") String id) { + ProductionPlanDO productionPlan = productionPlanService.getProductionPlan(id); + return success(BeanUtils.toBean(productionPlan, ProductionPlanRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得种植中心-生产计划-生产计划分页") + @PreAuthorize("@ss.hasPermission('farm:production-plan:query')") + public CommonResult> getProductionPlanPage(@Valid ProductionPlanPageReqVO pageReqVO) { + PageResult pageResult = productionPlanService.getProductionPlanPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ProductionPlanRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出种植中心-生产计划-生产计划 Excel") + @PreAuthorize("@ss.hasPermission('farm:production-plan:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportProductionPlanExcel(@Valid ProductionPlanPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = productionPlanService.getProductionPlanPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "种植中心-生产计划-生产计划.xls", "数据", ProductionPlanRespVO.class, + BeanUtils.toBean(list, ProductionPlanRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productionplan/vo/ProductionPlanPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productionplan/vo/ProductionPlanPageReqVO.java new file mode 100644 index 00000000..b1429128 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productionplan/vo/ProductionPlanPageReqVO.java @@ -0,0 +1,57 @@ +package cn.iocoder.yudao.module.farm.controller.admin.productionplan.vo; + +import lombok.*; + +import java.time.LocalDate; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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; + +@Schema(description = "管理后台 - 种植中心-生产计划-生产计划分页 Request VO") +@Data +public class ProductionPlanPageReqVO extends PageParam { + + @Schema(description = "种植物种") + private String plantSpecies; + + @Schema(description = "物种模型") + private String speciesModel; + + @Schema(description = "排产开始日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDate[] productionStartDate; + + @Schema(description = "排产结束日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDate[] productionEndDate; + + @Schema(description = "采收开始日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDate[] harvestStartDate; + + @Schema(description = "种植区域ID", example = "10011") + private String cultivationAreaId; + + @Schema(description = "基地id", example = "29734") + private String baseId; + + @Schema(description = "基地", example = "李四") + private String baseName; + + @Schema(description = "地块ID", example = "19246") + private String plotId; + + @Schema(description = "地块", example = "李四") + private String plotName; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + @Schema(description = "租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productionplan/vo/ProductionPlanRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productionplan/vo/ProductionPlanRespVO.java new file mode 100644 index 00000000..ed943df8 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productionplan/vo/ProductionPlanRespVO.java @@ -0,0 +1,67 @@ +package cn.iocoder.yudao.module.farm.controller.admin.productionplan.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.time.LocalDate; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 种植中心-生产计划-生产计划 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ProductionPlanRespVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1050") + @ExcelProperty("基础id") + private String id; + + @Schema(description = "种植物种") + @ExcelProperty("种植物种") + private String plantSpecies; + + @Schema(description = "物种模型") + @ExcelProperty("物种模型") + private String speciesModel; + + @Schema(description = "排产开始日期") + @ExcelProperty("排产开始日期") + private LocalDate productionStartDate; + + @Schema(description = "排产结束日期") + @ExcelProperty("排产结束日期") + private LocalDate productionEndDate; + + @Schema(description = "采收开始日期") + @ExcelProperty("采收开始日期") + private LocalDate harvestStartDate; + + @Schema(description = "种植区域ID", example = "10011") + @ExcelProperty("种植区域ID") + private String cultivationAreaId; + + @Schema(description = "基地id", example = "29734") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "李四") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "19246") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "李四") + @ExcelProperty("地块") + private String plotName; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + @Schema(description = "租户id") + private String tenantId; + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productionplan/vo/ProductionPlanSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productionplan/vo/ProductionPlanSaveReqVO.java new file mode 100644 index 00000000..53e4fde3 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productionplan/vo/ProductionPlanSaveReqVO.java @@ -0,0 +1,49 @@ +package cn.iocoder.yudao.module.farm.controller.admin.productionplan.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.time.LocalDate; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 种植中心-生产计划-生产计划新增/修改 Request VO") +@Data +public class ProductionPlanSaveReqVO { + + @Schema(description = "基础id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1050") + private String id; + + @Schema(description = "种植物种") + private String plantSpecies; + + @Schema(description = "物种模型") + private String speciesModel; + + @Schema(description = "排产开始日期") + private LocalDate productionStartDate; + + @Schema(description = "排产结束日期") + private LocalDate productionEndDate; + + @Schema(description = "采收开始日期") + private LocalDate harvestStartDate; + + @Schema(description = "种植区域ID", example = "10011") + private String cultivationAreaId; + + @Schema(description = "基地id", example = "29734") + private String baseId; + + @Schema(description = "基地", example = "李四") + private String baseName; + + @Schema(description = "地块ID", example = "19246") + private String plotId; + + @Schema(description = "地块", example = "李四") + private String plotName; + @Schema(description = "租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productmanagement/ProductManagementController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productmanagement/ProductManagementController.java new file mode 100644 index 00000000..577a3718 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productmanagement/ProductManagementController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.productmanagement; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.productmanagement.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.productmanagement.ProductManagementDO; +import cn.iocoder.yudao.module.farm.service.productmanagement.ProductManagementService; + +@Tag(name = "管理后台 - 商品管理") +@RestController +@RequestMapping("/farm/product-management") +@Validated +public class ProductManagementController { + + @Resource + private ProductManagementService productManagementService; + + @PostMapping("/create") + @Operation(summary = "创建商品管理") + @PreAuthorize("@ss.hasPermission('farm:product-management:create')") + public CommonResult createProductManagement(@Valid @RequestBody ProductManagementSaveReqVO createReqVO) { + return success(productManagementService.createProductManagement(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新商品管理") + @PreAuthorize("@ss.hasPermission('farm:product-management:update')") + public CommonResult updateProductManagement(@Valid @RequestBody ProductManagementSaveReqVO updateReqVO) { + productManagementService.updateProductManagement(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除商品管理") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:product-management:delete')") + public CommonResult deleteProductManagement(@RequestParam("id") String id) { + productManagementService.deleteProductManagement(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除商品管理") + @PreAuthorize("@ss.hasPermission('farm:product-management:delete')") + public CommonResult deleteProductManagementList(@RequestParam("ids") List ids) { + productManagementService.deleteProductManagementListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得商品管理") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:product-management:query')") + public CommonResult getProductManagement(@RequestParam("id") String id) { + ProductManagementDO productManagement = productManagementService.getProductManagement(id); + return success(BeanUtils.toBean(productManagement, ProductManagementRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得商品管理分页") + @PreAuthorize("@ss.hasPermission('farm:product-management:query')") + public CommonResult> getProductManagementPage(@Valid ProductManagementPageReqVO pageReqVO) { + PageResult pageResult = productManagementService.getProductManagementPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ProductManagementRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出商品管理 Excel") + @PreAuthorize("@ss.hasPermission('farm:product-management:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportProductManagementExcel(@Valid ProductManagementPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = productManagementService.getProductManagementPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "商品管理.xls", "数据", ProductManagementRespVO.class, + BeanUtils.toBean(list, ProductManagementRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productmanagement/vo/ProductManagementPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productmanagement/vo/ProductManagementPageReqVO.java new file mode 100644 index 00000000..c0904cdf --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productmanagement/vo/ProductManagementPageReqVO.java @@ -0,0 +1,67 @@ +package cn.iocoder.yudao.module.farm.controller.admin.productmanagement.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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; + +@Schema(description = "管理后台 - 商品管理分页 Request VO") +@Data +public class ProductManagementPageReqVO extends PageParam { + + @Schema(description = "商品名称", example = "芋艿") + private String productName; + + @Schema(description = "商品规格") + private String packingSpec; + + @Schema(description = "重量") + private String measuringUnit; + + @Schema(description = "单位") + private String packingUnit; + + @Schema(description = "商品图片") + private String image; + + @Schema(description = "商品介绍") + private String introduce; + + @Schema(description = "商品条码") + private String barCode; + + @Schema(description = "生产许可证") + private String permit; + + @Schema(description = "商标名称", example = "李四") + private String brandName; + + @Schema(description = "商标图片") + private String brandImage; + + @Schema(description = "商品认证") + private String brandAuthentication; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "基地id", example = "19830") + private String baseId; + + @Schema(description = "基地", example = "芋艿") + private String baseName; + + @Schema(description = "地块ID", example = "11418") + private String plotId; + + @Schema(description = "地块", example = "王五") + private String plotName; + @Schema(description = "租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productmanagement/vo/ProductManagementRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productmanagement/vo/ProductManagementRespVO.java new file mode 100644 index 00000000..99b77d2c --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productmanagement/vo/ProductManagementRespVO.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.controller.admin.productmanagement.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 商品管理 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ProductManagementRespVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "15130") + @ExcelProperty("id") + private String id; + + @Schema(description = "商品名称", example = "芋艿") + @ExcelProperty("商品名称") + private String productName; + + @Schema(description = "商品规格") + @ExcelProperty("商品规格") + private String packingSpec; + + @Schema(description = "重量") + @ExcelProperty("重量") + private String measuringUnit; + + @Schema(description = "单位") + @ExcelProperty("单位") + private String packingUnit; + + @Schema(description = "商品图片") + @ExcelProperty("商品图片") + private String image; + + @Schema(description = "商品介绍") + @ExcelProperty("商品介绍") + private String introduce; + + @Schema(description = "商品条码") + @ExcelProperty("商品条码") + private String barCode; + + @Schema(description = "生产许可证") + @ExcelProperty("生产许可证") + private String permit; + + @Schema(description = "商标名称", example = "李四") + @ExcelProperty("商标名称") + private String brandName; + + @Schema(description = "商标图片") + @ExcelProperty("商标图片") + private String brandImage; + + @Schema(description = "商品认证") + @ExcelProperty("商品认证") + private String brandAuthentication; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "基地id", example = "19830") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "芋艿") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "11418") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "王五") + @ExcelProperty("地块") + private String plotName; + @Schema(description = "租户id") + private String tenantId; + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productmanagement/vo/ProductManagementSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productmanagement/vo/ProductManagementSaveReqVO.java new file mode 100644 index 00000000..45db0621 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/productmanagement/vo/ProductManagementSaveReqVO.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.controller.admin.productmanagement.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 商品管理新增/修改 Request VO") +@Data +public class ProductManagementSaveReqVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "15130") + private String id; + + @Schema(description = "商品名称", example = "芋艿") + private String productName; + + @Schema(description = "商品规格") + private String packingSpec; + + @Schema(description = "重量") + private String measuringUnit; + + @Schema(description = "单位") + private String packingUnit; + + @Schema(description = "商品图片") + private String image; + + @Schema(description = "商品介绍") + private String introduce; + + @Schema(description = "商品条码") + private String barCode; + + @Schema(description = "生产许可证") + private String permit; + + @Schema(description = "商标名称", example = "李四") + private String brandName; + + @Schema(description = "商标图片") + private String brandImage; + + @Schema(description = "商品认证") + private String brandAuthentication; + + @Schema(description = "基地id", example = "19830") + private String baseId; + + @Schema(description = "基地", example = "芋艿") + private String baseName; + + @Schema(description = "地块ID", example = "11418") + private String plotId; + + @Schema(description = "地块", example = "王五") + private String plotName; + @Schema(description = "租户id") + private Long tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/specieslibrary/SpeciesLibraryController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/specieslibrary/SpeciesLibraryController.java new file mode 100644 index 00000000..6479f14d --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/specieslibrary/SpeciesLibraryController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.specieslibrary; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.specieslibrary.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.specieslibrary.SpeciesLibraryDO; +import cn.iocoder.yudao.module.farm.service.specieslibrary.SpeciesLibraryService; + +@Tag(name = "管理后台 - 物种库维护") +@RestController +@RequestMapping("/farm/species-library") +@Validated +public class SpeciesLibraryController { + + @Resource + private SpeciesLibraryService speciesLibraryService; + + @PostMapping("/create") + @Operation(summary = "创建物种库维护") + @PreAuthorize("@ss.hasPermission('farm:species-library:create')") + public CommonResult createSpeciesLibrary(@Valid @RequestBody SpeciesLibrarySaveReqVO createReqVO) { + return success(speciesLibraryService.createSpeciesLibrary(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新物种库维护") + @PreAuthorize("@ss.hasPermission('farm:species-library:update')") + public CommonResult updateSpeciesLibrary(@Valid @RequestBody SpeciesLibrarySaveReqVO updateReqVO) { + speciesLibraryService.updateSpeciesLibrary(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除物种库维护") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:species-library:delete')") + public CommonResult deleteSpeciesLibrary(@RequestParam("id") String id) { + speciesLibraryService.deleteSpeciesLibrary(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除物种库维护") + @PreAuthorize("@ss.hasPermission('farm:species-library:delete')") + public CommonResult deleteSpeciesLibraryList(@RequestParam("ids") List ids) { + speciesLibraryService.deleteSpeciesLibraryListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得物种库维护") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:species-library:query')") + public CommonResult getSpeciesLibrary(@RequestParam("id") String id) { + SpeciesLibraryDO speciesLibrary = speciesLibraryService.getSpeciesLibrary(id); + return success(BeanUtils.toBean(speciesLibrary, SpeciesLibraryRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得物种库维护分页") + @PreAuthorize("@ss.hasPermission('farm:species-library:query')") + public CommonResult> getSpeciesLibraryPage(@Valid SpeciesLibraryPageReqVO pageReqVO) { + PageResult pageResult = speciesLibraryService.getSpeciesLibraryPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, SpeciesLibraryRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出物种库维护 Excel") + @PreAuthorize("@ss.hasPermission('farm:species-library:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportSpeciesLibraryExcel(@Valid SpeciesLibraryPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = speciesLibraryService.getSpeciesLibraryPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "物种库维护.xls", "数据", SpeciesLibraryRespVO.class, + BeanUtils.toBean(list, SpeciesLibraryRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/specieslibrary/vo/SpeciesLibraryPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/specieslibrary/vo/SpeciesLibraryPageReqVO.java new file mode 100644 index 00000000..89b7691e --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/specieslibrary/vo/SpeciesLibraryPageReqVO.java @@ -0,0 +1,56 @@ +package cn.iocoder.yudao.module.farm.controller.admin.specieslibrary.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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; + +@Schema(description = "管理后台 - 物种库维护分页 Request VO") +@Data +public class SpeciesLibraryPageReqVO extends PageParam { + + @Schema(description = "物种类别") + private String category; + + @Schema(description = "物种类别名称", example = "芋艿") + private String speciesName; + + @Schema(description = "物种名称", example = "芋艿") + private String cultivarName; + + @Schema(description = "品种等级0=无,1=一等,2=二等,3=三等,10=等外") + private Integer cultivarLevel; + + @Schema(description = "生命周期1=一年生,10=多年生") + private Integer lifeCycle; + + @Schema(description = "图片") + private String image; + + @Schema(description = "0=启用,1=停用", example = "1") + private Integer useStatus; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "基地id", example = "495") + private String baseId; + + @Schema(description = "基地", example = "芋艿") + private String baseName; + + @Schema(description = "地块ID", example = "23444") + private String plotId; + + @Schema(description = "地块", example = "赵六") + private String plotName; + + @Schema(description = "租户id", example = "1998") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/specieslibrary/vo/SpeciesLibraryRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/specieslibrary/vo/SpeciesLibraryRespVO.java new file mode 100644 index 00000000..d3f71573 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/specieslibrary/vo/SpeciesLibraryRespVO.java @@ -0,0 +1,69 @@ +package cn.iocoder.yudao.module.farm.controller.admin.specieslibrary.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 物种库维护 Response VO") +@Data +@ExcelIgnoreUnannotated +public class SpeciesLibraryRespVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "27038") + @ExcelProperty("id") + private String id; + + @Schema(description = "物种类别") + @ExcelProperty("物种类别") + private String category; + + @Schema(description = "物种类别名称", example = "芋艿") + @ExcelProperty("物种类别名称") + private String speciesName; + + @Schema(description = "物种名称", example = "芋艿") + @ExcelProperty("物种名称") + private String cultivarName; + + @Schema(description = "品种等级0=无,1=一等,2=二等,3=三等,10=等外") + @ExcelProperty("品种等级0=无,1=一等,2=二等,3=三等,10=等外") + private Integer cultivarLevel; + + @Schema(description = "生命周期1=一年生,10=多年生") + @ExcelProperty("生命周期1=一年生,10=多年生") + private Integer lifeCycle; + + @Schema(description = "图片") + @ExcelProperty("图片") + private String image; + + @Schema(description = "0=启用,1=停用", example = "1") + @ExcelProperty("0=启用,1=停用") + private Integer useStatus; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "基地id", example = "495") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地", example = "芋艿") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID", example = "23444") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块", example = "赵六") + @ExcelProperty("地块") + private String plotName; + @Schema(description = "租户id") + private String tenantId; + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/specieslibrary/vo/SpeciesLibrarySaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/specieslibrary/vo/SpeciesLibrarySaveReqVO.java new file mode 100644 index 00000000..fb6c4dca --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/specieslibrary/vo/SpeciesLibrarySaveReqVO.java @@ -0,0 +1,51 @@ +package cn.iocoder.yudao.module.farm.controller.admin.specieslibrary.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 物种库维护新增/修改 Request VO") +@Data +public class SpeciesLibrarySaveReqVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "27038") + private String id; + + @Schema(description = "物种类别") + private String category; + + @Schema(description = "物种类别名称", example = "芋艿") + private String speciesName; + + @Schema(description = "物种名称", example = "芋艿") + private String cultivarName; + + @Schema(description = "品种等级0=无,1=一等,2=二等,3=三等,10=等外") + private Integer cultivarLevel; + + @Schema(description = "生命周期1=一年生,10=多年生") + private Integer lifeCycle; + + @Schema(description = "图片") + private String image; + + @Schema(description = "0=启用,1=停用", example = "1") + private Integer useStatus; + + @Schema(description = "基地id", example = "495") + private String baseId; + + @Schema(description = "基地", example = "芋艿") + private String baseName; + + @Schema(description = "地块ID", example = "23444") + private String plotId; + + @Schema(description = "地块", example = "赵六") + private String plotName; + + @Schema(description = "租户id", example = "1998") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/varietydata/VarietyDataController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/varietydata/VarietyDataController.java new file mode 100644 index 00000000..a1a0d02c --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/varietydata/VarietyDataController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.varietydata; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.varietydata.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.varietydata.VarietyDataDO; +import cn.iocoder.yudao.module.farm.service.varietydata.VarietyDataService; + +@Tag(name = "管理后台 - 品种数据") +@RestController +@RequestMapping("/farm/variety-data") +@Validated +public class VarietyDataController { + + @Resource + private VarietyDataService varietyDataService; + + @PostMapping("/create") + @Operation(summary = "创建品种数据") + @PreAuthorize("@ss.hasPermission('farm:variety-data:create')") + public CommonResult createVarietyData(@Valid @RequestBody VarietyDataSaveReqVO createReqVO) { + return success(varietyDataService.createVarietyData(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新品种数据") + @PreAuthorize("@ss.hasPermission('farm:variety-data:update')") + public CommonResult updateVarietyData(@Valid @RequestBody VarietyDataSaveReqVO updateReqVO) { + varietyDataService.updateVarietyData(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除品种数据") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:variety-data:delete')") + public CommonResult deleteVarietyData(@RequestParam("id") String id) { + varietyDataService.deleteVarietyData(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除品种数据") + @PreAuthorize("@ss.hasPermission('farm:variety-data:delete')") + public CommonResult deleteVarietyDataList(@RequestParam("ids") List ids) { + varietyDataService.deleteVarietyDataListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得品种数据") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:variety-data:query')") + public CommonResult getVarietyData(@RequestParam("id") String id) { + VarietyDataDO varietyData = varietyDataService.getVarietyData(id); + return success(BeanUtils.toBean(varietyData, VarietyDataRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得品种数据分页") + @PreAuthorize("@ss.hasPermission('farm:variety-data:query')") + public CommonResult> getVarietyDataPage(@Valid VarietyDataPageReqVO pageReqVO) { + PageResult pageResult = varietyDataService.getVarietyDataPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, VarietyDataRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出品种数据 Excel") + @PreAuthorize("@ss.hasPermission('farm:variety-data:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportVarietyDataExcel(@Valid VarietyDataPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = varietyDataService.getVarietyDataPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "品种数据.xls", "数据", VarietyDataRespVO.class, + BeanUtils.toBean(list, VarietyDataRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/varietydata/vo/VarietyDataPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/varietydata/vo/VarietyDataPageReqVO.java new file mode 100644 index 00000000..c42be307 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/varietydata/vo/VarietyDataPageReqVO.java @@ -0,0 +1,54 @@ +package cn.iocoder.yudao.module.farm.controller.admin.varietydata.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import java.math.BigDecimal; +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; + +@Schema(description = "管理后台 - 品种数据分页 Request VO") +@Data +public class VarietyDataPageReqVO extends PageParam { + + @Schema(description = "基础id") + private String foundationId; + + @Schema(description = "基地id") + private String baseId; + + @Schema(description = "基地名称") + private String baseName; + + @Schema(description = "种植季") + private String plantingSeason; + + @Schema(description = "品种") + private String cultivarName; + + @Schema(description = "种植面积") + private BigDecimal area; + + @Schema(description = "预计产量") + private BigDecimal estimatedOutput; + + @Schema(description = "实际产量") + private BigDecimal actualOutput; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "地块ID") + private String plotId; + + @Schema(description = "地块") + private String plotName; + + @Schema(description = "租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/varietydata/vo/VarietyDataRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/varietydata/vo/VarietyDataRespVO.java new file mode 100644 index 00000000..d1abb656 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/varietydata/vo/VarietyDataRespVO.java @@ -0,0 +1,66 @@ +package cn.iocoder.yudao.module.farm.controller.admin.varietydata.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 品种数据 Response VO") +@Data +@ExcelIgnoreUnannotated +public class VarietyDataRespVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("id") + private String id; + + @Schema(description = "基础id") + @ExcelProperty("基础id") + private String foundationId; + + @Schema(description = "基地id") + @ExcelProperty("基地id") + private String baseId; + + @Schema(description = "基地名称") + @ExcelProperty("基地名称") + private String baseName; + + @Schema(description = "种植季") + @ExcelProperty("种植季") + private String plantingSeason; + + @Schema(description = "品种") + @ExcelProperty("品种") + private String cultivarName; + + @Schema(description = "种植面积") + @ExcelProperty("种植面积") + private BigDecimal area; + + @Schema(description = "预计产量") + @ExcelProperty("预计产量") + private BigDecimal estimatedOutput; + + @Schema(description = "实际产量") + @ExcelProperty("实际产量") + private BigDecimal actualOutput; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "地块ID") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块") + @ExcelProperty("地块") + private String plotName; + @Schema(description = "租户id") + private String tenantId; + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/varietydata/vo/VarietyDataSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/varietydata/vo/VarietyDataSaveReqVO.java new file mode 100644 index 00000000..7fe6a3d5 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/varietydata/vo/VarietyDataSaveReqVO.java @@ -0,0 +1,49 @@ +package cn.iocoder.yudao.module.farm.controller.admin.varietydata.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 品种数据新增/修改 Request VO") +@Data +public class VarietyDataSaveReqVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED) + private String id; + + @Schema(description = "基础id") + private String foundationId; + + @Schema(description = "基地id") + private String baseId; + + @Schema(description = "基地名称") + private String baseName; + + @Schema(description = "种植季") + private String plantingSeason; + + @Schema(description = "品种") + private String cultivarName; + + @Schema(description = "种植面积") + private BigDecimal area; + + @Schema(description = "预计产量") + private BigDecimal estimatedOutput; + + @Schema(description = "实际产量") + private BigDecimal actualOutput; + + @Schema(description = "地块ID") + private String plotId; + + @Schema(description = "地块") + private String plotName; + + @Schema(description = "租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/weatherdisasterlibrary/WeatherDisasterLibraryController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/weatherdisasterlibrary/WeatherDisasterLibraryController.java new file mode 100644 index 00000000..27749c74 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/weatherdisasterlibrary/WeatherDisasterLibraryController.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.farm.controller.admin.weatherdisasterlibrary; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.farm.controller.admin.weatherdisasterlibrary.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.weatherdisasterlibrary.WeatherDisasterLibraryDO; +import cn.iocoder.yudao.module.farm.service.weatherdisasterlibrary.WeatherDisasterLibraryService; + +@Tag(name = "管理后台 - 气象灾害库维护") +@RestController +@RequestMapping("/farm/weather-disaster-library") +@Validated +public class WeatherDisasterLibraryController { + + @Resource + private WeatherDisasterLibraryService weatherDisasterLibraryService; + + @PostMapping("/create") + @Operation(summary = "创建气象灾害库维护") + @PreAuthorize("@ss.hasPermission('farm:weather-disaster-library:create')") + public CommonResult createWeatherDisasterLibrary(@Valid @RequestBody WeatherDisasterLibrarySaveReqVO createReqVO) { + return success(weatherDisasterLibraryService.createWeatherDisasterLibrary(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新气象灾害库维护") + @PreAuthorize("@ss.hasPermission('farm:weather-disaster-library:update')") + public CommonResult updateWeatherDisasterLibrary(@Valid @RequestBody WeatherDisasterLibrarySaveReqVO updateReqVO) { + weatherDisasterLibraryService.updateWeatherDisasterLibrary(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除气象灾害库维护") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('farm:weather-disaster-library:delete')") + public CommonResult deleteWeatherDisasterLibrary(@RequestParam("id") String id) { + weatherDisasterLibraryService.deleteWeatherDisasterLibrary(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除气象灾害库维护") + @PreAuthorize("@ss.hasPermission('farm:weather-disaster-library:delete')") + public CommonResult deleteWeatherDisasterLibraryList(@RequestParam("ids") List ids) { + weatherDisasterLibraryService.deleteWeatherDisasterLibraryListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得气象灾害库维护") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('farm:weather-disaster-library:query')") + public CommonResult getWeatherDisasterLibrary(@RequestParam("id") String id) { + WeatherDisasterLibraryDO weatherDisasterLibrary = weatherDisasterLibraryService.getWeatherDisasterLibrary(id); + return success(BeanUtils.toBean(weatherDisasterLibrary, WeatherDisasterLibraryRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得气象灾害库维护分页") + @PreAuthorize("@ss.hasPermission('farm:weather-disaster-library:query')") + public CommonResult> getWeatherDisasterLibraryPage(@Valid WeatherDisasterLibraryPageReqVO pageReqVO) { + PageResult pageResult = weatherDisasterLibraryService.getWeatherDisasterLibraryPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, WeatherDisasterLibraryRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出气象灾害库维护 Excel") + @PreAuthorize("@ss.hasPermission('farm:weather-disaster-library:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportWeatherDisasterLibraryExcel(@Valid WeatherDisasterLibraryPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = weatherDisasterLibraryService.getWeatherDisasterLibraryPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "气象灾害库维护.xls", "数据", WeatherDisasterLibraryRespVO.class, + BeanUtils.toBean(list, WeatherDisasterLibraryRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/weatherdisasterlibrary/vo/WeatherDisasterLibraryPageReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/weatherdisasterlibrary/vo/WeatherDisasterLibraryPageReqVO.java new file mode 100644 index 00000000..ee3856db --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/weatherdisasterlibrary/vo/WeatherDisasterLibraryPageReqVO.java @@ -0,0 +1,50 @@ +package cn.iocoder.yudao.module.farm.controller.admin.weatherdisasterlibrary.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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; + +@Schema(description = "管理后台 - 气象灾害库维护分页 Request VO") +@Data +public class WeatherDisasterLibraryPageReqVO extends PageParam { + + @Schema(description = "灾害名称") + private String name; + + @Schema(description = "灾害描述") + private String description; + + @Schema(description = "防治建议") + private String propose; + + @Schema(description = "图片") + private String images; + + @Schema(description = "0=启用,1=停用") + private Integer useStatus; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "基地id") + private Long baseId; + + @Schema(description = "基地") + private String baseName; + + @Schema(description = "地块ID") + private String plotId; + + @Schema(description = "地块") + private String plotName; + + @Schema(description = "租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/weatherdisasterlibrary/vo/WeatherDisasterLibraryRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/weatherdisasterlibrary/vo/WeatherDisasterLibraryRespVO.java new file mode 100644 index 00000000..b2df3ca5 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/weatherdisasterlibrary/vo/WeatherDisasterLibraryRespVO.java @@ -0,0 +1,61 @@ +package cn.iocoder.yudao.module.farm.controller.admin.weatherdisasterlibrary.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 气象灾害库维护 Response VO") +@Data +@ExcelIgnoreUnannotated +public class WeatherDisasterLibraryRespVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("id") + private String id; + + @Schema(description = "灾害名称") + @ExcelProperty("灾害名称") + private String name; + + @Schema(description = "灾害描述") + @ExcelProperty("灾害描述") + private String description; + + @Schema(description = "防治建议") + @ExcelProperty("防治建议") + private String propose; + + @Schema(description = "图片") + @ExcelProperty("图片") + private String images; + + @Schema(description = "0=启用,1=停用") + @ExcelProperty("0=启用,1=停用") + private Integer useStatus; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "基地id") + @ExcelProperty("基地id") + private Long baseId; + + @Schema(description = "基地") + @ExcelProperty("基地") + private String baseName; + + @Schema(description = "地块ID") + @ExcelProperty("地块ID") + private String plotId; + + @Schema(description = "地块") + @ExcelProperty("地块") + private String plotName; + @Schema(description = "租户id") + private String tenantId; + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/weatherdisasterlibrary/vo/WeatherDisasterLibrarySaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/weatherdisasterlibrary/vo/WeatherDisasterLibrarySaveReqVO.java new file mode 100644 index 00000000..bcef78c0 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/weatherdisasterlibrary/vo/WeatherDisasterLibrarySaveReqVO.java @@ -0,0 +1,45 @@ +package cn.iocoder.yudao.module.farm.controller.admin.weatherdisasterlibrary.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 气象灾害库维护新增/修改 Request VO") +@Data +public class WeatherDisasterLibrarySaveReqVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED) + private String id; + + @Schema(description = "灾害名称") + private String name; + + @Schema(description = "灾害描述") + private String description; + + @Schema(description = "防治建议") + private String propose; + + @Schema(description = "图片") + private String images; + + @Schema(description = "0=启用,1=停用") + private Integer useStatus; + + @Schema(description = "基地id") + private Long baseId; + + @Schema(description = "基地") + private String baseName; + + @Schema(description = "地块ID") + private String plotId; + + @Schema(description = "地块") + private String plotName; + + @Schema(description = "租户id") + private String tenantId; + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/baseinfo/BaseInfoDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/baseinfo/BaseInfoDO.java new file mode 100644 index 00000000..a03d3c48 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/baseinfo/BaseInfoDO.java @@ -0,0 +1,49 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo; + +import lombok.*; +import java.util.*; +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 + * + * @author 芋道源码 + */ +@TableName("farm_base_info") +@KeySequence("farm_base_info_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BaseInfoDO extends BaseDO { + + /** + * 基地id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 基地名称 + */ + private String name; + /** + * 用户id用,隔开 + */ + private String manager; + /** + * 面积 + */ + private BigDecimal area; + /** + * json字符串保存 + */ + private String point; + private String tenantId; + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/companyinfo/CompanyInfoDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/companyinfo/CompanyInfoDO.java new file mode 100644 index 00000000..f198a5dd --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/companyinfo/CompanyInfoDO.java @@ -0,0 +1,88 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.companyinfo; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 企业信息 DO + * + * @author 芋道源码 + */ +@TableName("farm_company_info") +@KeySequence("farm_company_info_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class CompanyInfoDO extends BaseDO { + + /** + * 企业id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 企业名称 + */ + private String name; + /** + * 负责人 + */ + private String director; + /** + * 企业电话 + */ + private String phone; + /** + * 所在地址 + */ + private String address; + /** + * 详细地址 + */ + private String detailedAddress; + /** + * 网店名称 + */ + private String storeName; + /** + * 网店名称 + */ + private String storeAddress; + /** + * 网店地址 + */ + private String introduce; + /** + * 宣传图片 + */ + private String publicityImage; + /** + * 企业logo + */ + private String logoImage; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/cultivationarea/CultivationAreaDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/cultivationarea/CultivationAreaDO.java new file mode 100644 index 00000000..70872ce1 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/cultivationarea/CultivationAreaDO.java @@ -0,0 +1,67 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.cultivationarea; + +import lombok.*; +import java.util.*; +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 + * + * @author 芋道源码 + */ +@TableName("farm_cultivation_area") +@KeySequence("farm_cultivation_area_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class CultivationAreaDO extends BaseDO { + + /** + * 基础id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + /** + * 计划面积 + */ + private BigDecimal planArea; + /** + * 总面积 + */ + private BigDecimal totalArea; + /** + * 剩余面积 + */ + private BigDecimal surplusArea; + /** + * 逻辑删除标识符 + */ + private Boolean delStatus; + private String tenantId; + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/deviceinfo/DeviceInfoDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/deviceinfo/DeviceInfoDO.java new file mode 100644 index 00000000..2d4baa33 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/deviceinfo/DeviceInfoDO.java @@ -0,0 +1,158 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.deviceinfo; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 设备信息 DO + * + * @author 芋道源码 + */ +@TableName("farm_device_info") +@KeySequence("farm_device_info_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class DeviceInfoDO extends BaseDO { + + /** + * 设备全局唯一标识 + */ + @TableId(type = IdType.INPUT) + private String deviceUniqueId; + /** + * 设备名称 + */ + private String deviceName; + /** + * LP设备名称 + */ + private String lpDeviceName; + /** + * 设备分类编码 + */ + private String categoryCode; + /** + * 设备分类名称 + */ + private String deviceCategoryName; + /** + * 设备分类ID + */ + private String deviceCategoryUniqueId; + /** + * 隔离标识 + */ + private String farmIsolationId; + /** + * LP产品标识 + */ + private String lpProductKey; + /** + * LP产品名称 + */ + private String lpProductName; + /** + * LP产品唯一ID + */ + private String lpProductUniqueId; + /** + * 设备状态 + */ + private Integer status; + /** + * 设备类型 + */ + private String deviceType; + /** + * 预留类型字段 + */ + private String type; + /** + * 设备厂商 + */ + private String vendor; + /** + * 设备描述 + */ + private String description; + /** + * 分类描述类型 + */ + private String categoryDescType; + /** + * 记录创建时间 + */ + private LocalDateTime createdAt; + /** + * 记录更新时间 + */ + private LocalDateTime updatedAt; + /** + * 设备图片 + */ + private String image; + /** + * 告警状态图片 + */ + private String alarmImage; + /** + * 离线状态图片 + */ + private String offlineImage; + /** + * 分类图标 + */ + private String categoryIcon; + /** + * 电池电量(0-100) + */ + private Integer battery; + /** + * 信号强度 + */ + private Short rssi; + /** + * 物联网卡过期时间 + */ + private LocalDateTime iotCardExpireTime; + /** + * 是否存在物联网卡 + */ + private Boolean isIotCardExisted; + /** + * 边缘实例ID + */ + private String edgeInstanceUniqueId; + /** + * 数据快照 + */ + private String dataImage; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/deviceplotrelation/DevicePlotRelationDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/deviceplotrelation/DevicePlotRelationDO.java new file mode 100644 index 00000000..3e1b9344 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/deviceplotrelation/DevicePlotRelationDO.java @@ -0,0 +1,72 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.deviceplotrelation; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 设备与地块关联 DO + * + * @author 芋道源码 + */ +@TableName("farm_device_plot_relation") +@KeySequence("farm_device_plot_relation_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class DevicePlotRelationDO extends BaseDO { + + /** + * id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 设备ID + */ + private String deviceUniqueId; + /** + * 设备厂商 + */ + private String vendor; + /** + * 设备名称 + */ + private String deviceName; + /** + * LP产品标识 + */ + private String lpProductKey; + /** + * 用户id + */ + private String userId; + /** + * 是否存在物联网卡 + */ + private Boolean isIotCardExisted; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/disasterdata/DisasterDataDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/disasterdata/DisasterDataDO.java new file mode 100644 index 00000000..702330e2 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/disasterdata/DisasterDataDO.java @@ -0,0 +1,68 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.disasterdata; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 灾害数据 DO + * + * @author 芋道源码 + */ +@TableName("farm_disaster_data") +@KeySequence("farm_disaster_data_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class DisasterDataDO extends BaseDO { + + /** + * id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 基础id + */ + private String foundationId; + /** + * 基地id + */ + private String baseId; + /** + * 基地名称 + */ + private String baseName; + /** + * 发生月份 + */ + private String disasterTime; + /** + * 灾害类型1=环境,2=病害,3=虫害,4=草害 + */ + private Integer category; + /** + * 灾害名称 + */ + private String name; + /** + * 发生次数 + */ + private Integer disasterCount; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/environmentindexconfig/EnvironmentIndexConfigDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/environmentindexconfig/EnvironmentIndexConfigDO.java new file mode 100644 index 00000000..96ae2835 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/environmentindexconfig/EnvironmentIndexConfigDO.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.environmentindexconfig; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 环境指标配置 DO + * + * @author 芋道源码 + */ +@TableName("farm_environment_index_config") +@KeySequence("farm_environment_index_config_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class EnvironmentIndexConfigDO extends BaseDO { + + /** + * id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 物种名称 + */ + private String cultivarName; + /** + * 物种分类 + */ + private String speciesName; + /** + * 指标名称 + */ + private String name; + /** + * 指标描述 + */ + private String description; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingnamemaintenance/FarmingNameMaintenanceDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingnamemaintenance/FarmingNameMaintenanceDO.java new file mode 100644 index 00000000..b3383c84 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingnamemaintenance/FarmingNameMaintenanceDO.java @@ -0,0 +1,63 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.farmingnamemaintenance; + +import lombok.*; + +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; + +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 农事名称维护 DO + * + * @author 芋道源码 + */ +@TableName("farm_farming_name_maintenance") +@KeySequence("farm_farming_name_maintenance_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class FarmingNameMaintenanceDO extends BaseDO { + + /** + * id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 农事名称 + */ + private String farmingName; + /** + * 农事类型 + */ + private String farmingType; + /** + * 0=启用,1=停用 + */ + private Integer useStatus; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingrecord/FarmingRecordDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingrecord/FarmingRecordDO.java new file mode 100644 index 00000000..6aafb901 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingrecord/FarmingRecordDO.java @@ -0,0 +1,93 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecord; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 种植中心-农事基地-农事记录 DO + * + * @author 芋道源码 + */ +@TableName("farm_farming_record") +@KeySequence("farm_farming_record_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class FarmingRecordDO extends BaseDO { + + /** + * 基础id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 任务类型 + */ + private String taskType; + /** + * 任务名称 + */ + private String taskName; + /** + * 任务范围 + */ + private String taskScope; + /** + * 任务时间 + */ + private LocalDateTime taskTime; + /** + * 所属地块 + */ + private String plotId; + /** + * 生产计划ID + */ + private String productionPlanId; + /** + * 执行人 + */ + private String executor; + /** + * 实际用工 + */ + private Integer actualLaborCost; + /** + * 实际投入品ID + */ + private String actualInputId; + /** + * 执行反馈-备注 + */ + private String feedbackNotes; + /** + * 执行反馈-图片URL + */ + private String feedbackImageUrl; + /** + * 逻辑删除标识符 + */ + private Boolean delStatus; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingrecordinput/FarmingRecordInputDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingrecordinput/FarmingRecordInputDO.java new file mode 100644 index 00000000..79053f5a --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingrecordinput/FarmingRecordInputDO.java @@ -0,0 +1,94 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecordinput; + +import lombok.*; +import java.util.*; +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 + * + * @author 芋道源码 + */ +@TableName("farm_farming_record_input") +@KeySequence("farm_farming_record_input_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class FarmingRecordInputDO extends BaseDO { + + /** + * 基础id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 农事记录ID + */ + private String farmRecordId; + /** + * 投入品-父类 + */ + private String inputParentCategory; + /** + * 投入品-子类 + */ + private String inputChildCategory; + /** + * 稀释倍液 (如为: 药物时需展示输入框) + */ + private String dilutionRatio; + /** + * 单用用量 (如为: 肥料选项时) + */ + private String singleUseOption; + /** + * 单用用量-值 + */ + private BigDecimal singleUseValue; + /** + * 单用用量-单位 + */ + private String singleUseUnit; + /** + * 施用范围 + */ + private String applicationScope; + /** + * 用量 + */ + private BigDecimal dosage; + /** + * 用法 + */ + private String usage; + /** + * 逻辑删除标识符 + */ + private Boolean delStatus; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingtypemaintenance/FarmingTypeMaintenanceDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingtypemaintenance/FarmingTypeMaintenanceDO.java new file mode 100644 index 00000000..2f3aba8b --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/farmingtypemaintenance/FarmingTypeMaintenanceDO.java @@ -0,0 +1,56 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.farmingtypemaintenance; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 农事类型维护 DO + * + * @author 芋道源码 + */ +@TableName("farm_farming_type_maintenance") +@KeySequence("farm_farming_type_maintenance_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class FarmingTypeMaintenanceDO extends BaseDO { + + /** + * 基础id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 农事类型 + */ + private String farmingType; + /** + * 0=启用,1=停用 + */ + private Integer useStatus; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/fertilizerindex/FertilizerIndexDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/fertilizerindex/FertilizerIndexDO.java new file mode 100644 index 00000000..75bfc15d --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/fertilizerindex/FertilizerIndexDO.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.fertilizerindex; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 化肥指标 DO + * + * @author 芋道源码 + */ +@TableName("farm_fertilizer_index") +@KeySequence("farm_fertilizer_index_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class FertilizerIndexDO extends BaseDO { + + /** + * id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 基础id + */ + private String foundationId; + /** + * 项目名称 + */ + private String name; + /** + * 国家标准 + */ + private String standard; + /** + * 检验结果 + */ + private String checkResults; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/foundationinfo/FoundationInfoDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/foundationinfo/FoundationInfoDO.java new file mode 100644 index 00000000..ce1c4efa --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/foundationinfo/FoundationInfoDO.java @@ -0,0 +1,68 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.foundationinfo; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 基础信息 DO + * + * @author 芋道源码 + */ +@TableName("farm_foundation_info") +@KeySequence("farm_foundation_info_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class FoundationInfoDO extends BaseDO { + + /** + * 基础id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 标题 + */ + private String title; + /** + * 农场名称 + */ + private String farmName; + /** + * 农场Logo + */ + private String image; + /** + * 农场介绍 + */ + private String description; + /** + * 企业人员总数 + */ + private Integer employeeCount; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/inputlibrary/InputLibraryDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/inputlibrary/InputLibraryDO.java new file mode 100644 index 00000000..e1808336 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/inputlibrary/InputLibraryDO.java @@ -0,0 +1,106 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.inputlibrary; + +import lombok.*; +import java.util.*; +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 + * + * @author 芋道源码 + */ +@TableName("farm_input_library") +@KeySequence("farm_input_library_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class InputLibraryDO extends BaseDO { + + /** + * 基础id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 投入品类型 + */ + private String assetType; + /** + * 投入品名称 + */ + private String assetName; + /** + * 用量 + */ + private BigDecimal dose; + /** + * 单位 + */ + private String unit; + /** + * 单件 + */ + private String packageUnit; + /** + * 单价 + */ + private BigDecimal price; + /** + * 登记证号 + */ + private String registration; + /** + * 提供厂商 + */ + private String manufacturer; + /** + * 药物类型 + */ + private String drugType; + /** + * 有效成分 + */ + private String activePrinciple; + /** + * 安全间隔期 + */ + private Integer safetyInterval; + /** + * 稀释倍液 + */ + private String diluted; + /** + * 防治对象及使用方法 + */ + private String usage; + /** + * 0=启用,1=停用 + */ + private Integer useStatus; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/messagecenter/MessageCenterDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/messagecenter/MessageCenterDO.java new file mode 100644 index 00000000..a1b7b924 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/messagecenter/MessageCenterDO.java @@ -0,0 +1,77 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.messagecenter; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 消息中心 DO + * + * @author 芋道源码 + */ +@TableName("farm_message_center") +@KeySequence("farm_message_center_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MessageCenterDO extends BaseDO { + + /** + * 消息id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 1=报警,2=预警,3=消息 + */ + private Integer messageType; + /** + * 标题 + */ + private String title; + /** + * 内容 + */ + private String content; + /** + * 0=未读,1=已读 + */ + private Integer readStatus; + /** + * 0=未解除,1=已解除,2=无报警 + */ + private Integer alarmStatus; + /** + * 推送次数 + */ + private Integer number; + /** + * 已读时间 + */ + private LocalDateTime readTime; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelcycle/ModelCycleDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelcycle/ModelCycleDO.java new file mode 100644 index 00000000..9c346e00 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelcycle/ModelCycleDO.java @@ -0,0 +1,68 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.modelcycle; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 模型管理-管理周期 DO + * + * @author 芋道源码 + */ +@TableName("farm_model_cycle") +@KeySequence("farm_model_cycle_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ModelCycleDO extends BaseDO { + + /** + * 周期id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 模型id + */ + private String modelId; + /** + * 管理周期名称 + */ + private String name; + /** + * 阶段天数 + */ + private Integer stage; + /** + * 物候期描述 + */ + private String description; + /** + * 阶段图片 + */ + private String stageImage; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelenvironmentindex/ModelEnvironmentIndexDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelenvironmentindex/ModelEnvironmentIndexDO.java new file mode 100644 index 00000000..1a45e41c --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelenvironmentindex/ModelEnvironmentIndexDO.java @@ -0,0 +1,74 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.modelenvironmentindex; + +import lombok.*; +import java.util.*; +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 + * + * @author 芋道源码 + */ +@TableName("farm_model_environment_index") +@KeySequence("farm_model_environment_index_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ModelEnvironmentIndexDO extends BaseDO { + + /** + * 基础id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 周期id + */ + private String cycleId; + /** + * 设备分类 + */ + private String deviceClass; + /** + * 环境指标 + */ + private String indicators; + /** + * 最低值 + */ + private BigDecimal minimum; + /** + * 最高值 + */ + private BigDecimal maximum; + /** + * 预警摘要说明 + */ + private String description; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} 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 new file mode 100644 index 00000000..e49b1355 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelfarmingoperation/ModelFarmingOperationDO.java @@ -0,0 +1,76 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperation; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 模型管理-农事操作 DO + * + * @author 芋道源码 + */ +@TableName("farm_model_farming_operation") +@KeySequence("farm_model_farming_operation_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ModelFarmingOperationDO extends BaseDO { + + /** + * 基础id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 周期id + */ + private String cycleId; + /** + * 农事名称id + */ + private String farmingName; + /** + * 操作开始时期(天) + */ + private Integer startingPeriod; + /** + * 用时(天) + */ + private Integer used; + /** + * 人工数(人) + */ + private Integer workersNumber; + /** + * 操作方式说明 + */ + private String description; + /** + * 操作示意图 + */ + private String sketch; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelfarmingoperationinput/ModelFarmingOperationInputDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelfarmingoperationinput/ModelFarmingOperationInputDO.java new file mode 100644 index 00000000..adf7dc3f --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelfarmingoperationinput/ModelFarmingOperationInputDO.java @@ -0,0 +1,73 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperationinput; + +import lombok.*; +import java.util.*; +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 + * + * @author 芋道源码 + */ +@TableName("farm_model_farming_operation_input") +@KeySequence("farm_model_farming_operation_input_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ModelFarmingOperationInputDO extends BaseDO { + + /** + * 基础id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 农事id + */ + private String farmingId; + /** + * 投入品id + */ + private String inputsId; + /** + * 用量 + */ + private BigDecimal dose; + /** + * 单位 + */ + private String unit; + /** + * 稀释倍液 + */ + private String diluted; + /** + * 用法 + */ + private String usage; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelpestdiseaseweed/ModelPestDiseaseWeedDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelpestdiseaseweed/ModelPestDiseaseWeedDO.java new file mode 100644 index 00000000..8d94407b --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelpestdiseaseweed/ModelPestDiseaseWeedDO.java @@ -0,0 +1,68 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.modelpestdiseaseweed; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 模型管理-病虫草害 DO + * + * @author 芋道源码 + */ +@TableName("farm_model_pest_disease_weed") +@KeySequence("farm_model_pest_disease_weed_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ModelPestDiseaseWeedDO extends BaseDO { + + /** + * 基础id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 周期id + */ + private String cycleId; + /** + * 病虫草害类型 + */ + private Integer type; + /** + * 病虫草害名称 + */ + private String name; + /** + * 病虫草害id + */ + private String pestsId; + /** + * 预警摘要说明 + */ + private String description; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelweatherdisaster/ModelWeatherDisasterDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelweatherdisaster/ModelWeatherDisasterDO.java new file mode 100644 index 00000000..6ccb96a3 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/modelweatherdisaster/ModelWeatherDisasterDO.java @@ -0,0 +1,68 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.modelweatherdisaster; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 模型管理-气象灾害 DO + * + * @author 芋道源码 + */ +@TableName("farm_model_weather_disaster") +@KeySequence("farm_model_weather_disaster_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ModelWeatherDisasterDO extends BaseDO { + + /** + * 基础id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 周期id + */ + private String cycleId; + /** + * 气象灾害名称 + */ + private String name; + /** + * 气象灾害id + */ + private String weatherId; + /** + * 预警摘要说明 + */ + private String description; + /** + * 气象灾害图片 + */ + private String image; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/personnelmanagement/PersonnelManagementDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/personnelmanagement/PersonnelManagementDO.java new file mode 100644 index 00000000..d0708ba0 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/personnelmanagement/PersonnelManagementDO.java @@ -0,0 +1,72 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.personnelmanagement; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 人员管理 DO + * + * @author 芋道源码 + */ +@TableName("farm_personnel_management") +@KeySequence("farm_personnel_management_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PersonnelManagementDO extends BaseDO { + + /** + * 人员id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 用户姓名 + */ + private String name; + /** + * 所属部门 + */ + private String department; + /** + * 电话号 + */ + private String phone; + /** + * 角色id用,隔开 + */ + private String role; + /** + * 头像 + */ + private String picture; + /** + * 0=启用,1=停用 + */ + private Integer accountStatus; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/pestdiseaseweedlibrary/PestDiseaseWeedLibraryDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/pestdiseaseweedlibrary/PestDiseaseWeedLibraryDO.java new file mode 100644 index 00000000..aea5bd81 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/pestdiseaseweedlibrary/PestDiseaseWeedLibraryDO.java @@ -0,0 +1,72 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.pestdiseaseweedlibrary; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 病虫草害库维护 DO + * + * @author 芋道源码 + */ +@TableName("farm_pest_disease_weed_library") +@KeySequence("farm_pest_disease_weed_library_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PestDiseaseWeedLibraryDO extends BaseDO { + + /** + * 基础id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 灾害类型 + */ + private Integer type; + /** + * 灾害名称 + */ + private String name; + /** + * 灾害描述 + */ + private String description; + /** + * 防治建议 + */ + private String propose; + /** + * 图片 + */ + private String images; + /** + * 0=启用,1=停用 + */ + private Integer useStatus; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/pesticideresidueindex/PesticideResidueIndexDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/pesticideresidueindex/PesticideResidueIndexDO.java new file mode 100644 index 00000000..34a42e84 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/pesticideresidueindex/PesticideResidueIndexDO.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.pesticideresidueindex; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 农残指标 DO + * + * @author 芋道源码 + */ +@TableName("farm_pesticide_residue_index") +@KeySequence("farm_pesticide_residue_index_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PesticideResidueIndexDO extends BaseDO { + + /** + * id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 基础id + */ + private String foundationId; + /** + * 项目名称 + */ + private String name; + /** + * 国家标准 + */ + private String standard; + /** + * 检验结果 + */ + private String checkResults; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/plotinfo/PlotInfoDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/plotinfo/PlotInfoDO.java new file mode 100644 index 00000000..aef020d2 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/plotinfo/PlotInfoDO.java @@ -0,0 +1,61 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.plotinfo; + +import lombok.*; +import java.util.*; +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 + * + * @author 芋道源码 + */ +@TableName("farm_plot_info") +@KeySequence("farm_plot_info_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PlotInfoDO extends BaseDO { + + /** + * id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 所属基地ID + */ + private String baseId; + /** + * 地块ID + */ + private String plotId; + /** + * 地块名称 + */ + private String plotName; + /** + * 地块面积 + */ + private BigDecimal plotArea; + /** + * 地块颜色 + */ + private String plotColor; + /** + * 地块经纬度 (json字符串保存) + */ + private String point; + /** + * 技术员ID + */ + private String employeeId; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/productionplan/ProductionPlanDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/productionplan/ProductionPlanDO.java new file mode 100644 index 00000000..628e8a0f --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/productionplan/ProductionPlanDO.java @@ -0,0 +1,74 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.productionplan; + +import lombok.*; + +import java.time.LocalDate; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 种植中心-生产计划-生产计划 DO + * + * @author 芋道源码 + */ +@TableName("farm_production_plan") +@KeySequence("farm_production_plan_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ProductionPlanDO extends BaseDO { + + /** + * 基础id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 种植物种 + */ + private String plantSpecies; + /** + * 物种模型 + */ + private String speciesModel; + /** + * 排产开始日期 + */ + private LocalDate productionStartDate; + /** + * 排产结束日期 + */ + private LocalDate productionEndDate; + /** + * 采收开始日期 + */ + private LocalDate harvestStartDate; + /** + * 种植区域ID + */ + private String cultivationAreaId; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/productmanagement/ProductManagementDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/productmanagement/ProductManagementDO.java new file mode 100644 index 00000000..bd253592 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/productmanagement/ProductManagementDO.java @@ -0,0 +1,92 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.productmanagement; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 商品管理 DO + * + * @author 芋道源码 + */ +@TableName("farm_product_management") +@KeySequence("farm_product_management_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ProductManagementDO extends BaseDO { + + /** + * id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 商品名称 + */ + private String productName; + /** + * 商品规格 + */ + private String packingSpec; + /** + * 重量 + */ + private String measuringUnit; + /** + * 单位 + */ + private String packingUnit; + /** + * 商品图片 + */ + private String image; + /** + * 商品介绍 + */ + private String introduce; + /** + * 商品条码 + */ + private String barCode; + /** + * 生产许可证 + */ + private String permit; + /** + * 商标名称 + */ + private String brandName; + /** + * 商标图片 + */ + private String brandImage; + /** + * 商品认证 + */ + private String brandAuthentication; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/specieslibrary/SpeciesLibraryDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/specieslibrary/SpeciesLibraryDO.java new file mode 100644 index 00000000..779c7a86 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/specieslibrary/SpeciesLibraryDO.java @@ -0,0 +1,76 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.specieslibrary; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 物种库维护 DO + * + * @author 芋道源码 + */ +@TableName("farm_species_library") +@KeySequence("farm_species_library_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class SpeciesLibraryDO extends BaseDO { + + /** + * id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 物种类别 + */ + private String category; + /** + * 物种类别名称 + */ + private String speciesName; + /** + * 物种名称 + */ + private String cultivarName; + /** + * 品种等级0=无,1=一等,2=二等,3=三等,10=等外 + */ + private Integer cultivarLevel; + /** + * 生命周期1=一年生,10=多年生 + */ + private Integer lifeCycle; + /** + * 图片 + */ + private String image; + /** + * 0=启用,1=停用 + */ + private Integer useStatus; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/varietydata/VarietyDataDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/varietydata/VarietyDataDO.java new file mode 100644 index 00000000..39fbba45 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/varietydata/VarietyDataDO.java @@ -0,0 +1,77 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.varietydata; + +import lombok.*; + +import java.util.*; +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 + * + * @author 芋道源码 + */ +@TableName("farm_variety_data") +@KeySequence("farm_variety_data_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class VarietyDataDO extends BaseDO { + + /** + * id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 基础id + */ + private String foundationId; + /** + * 基地id + */ + private String baseId; + /** + * 基地名称 + */ + private String baseName; + /** + * 种植季 + */ + private String plantingSeason; + /** + * 品种 + */ + private String cultivarName; + /** + * 种植面积 + */ + private BigDecimal area; + /** + * 预计产量 + */ + private BigDecimal estimatedOutput; + /** + * 实际产量 + */ + private BigDecimal actualOutput; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/weatherdisasterlibrary/WeatherDisasterLibraryDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/weatherdisasterlibrary/WeatherDisasterLibraryDO.java new file mode 100644 index 00000000..295b2994 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/weatherdisasterlibrary/WeatherDisasterLibraryDO.java @@ -0,0 +1,70 @@ +package cn.iocoder.yudao.module.farm.dal.dataobject.weatherdisasterlibrary; + +import lombok.*; + +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; + +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 气象灾害库维护 DO + * + * @author 芋道源码 + */ +@TableName("farm_weather_disaster_library") +@KeySequence("farm_weather_disaster_library_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WeatherDisasterLibraryDO extends BaseDO { + + /** + * id + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 灾害名称 + */ + private String name; + /** + * 灾害描述 + */ + private String description; + /** + * 防治建议 + */ + private String propose; + /** + * 图片 + */ + private String images; + /** + * 0=启用,1=停用 + */ + private Integer useStatus; + /** + * 基地id + */ + private String baseId; + /** + * 基地 + */ + private String baseName; + /** + * 地块ID + */ + private String plotId; + /** + * 地块 + */ + private String plotName; + + private String tenantId; +} 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 new file mode 100644 index 00000000..185fb710 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/baseinfo/BaseInfoMapper.java @@ -0,0 +1,31 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.baseinfo; + +import java.util.*; + +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.module.farm.dal.dataobject.baseinfo.BaseInfoDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.baseinfo.vo.*; + +/** + * 基地 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface BaseInfoMapper extends BaseMapperX { + + default PageResult selectPage(BaseInfoPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(BaseInfoDO::getName, reqVO.getName()) + .eqIfPresent(BaseInfoDO::getManager, reqVO.getManager()) + .eqIfPresent(BaseInfoDO::getArea, reqVO.getArea()) + .eqIfPresent(BaseInfoDO::getPoint, reqVO.getPoint()) + .betweenIfPresent(BaseInfoDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BaseInfoDO::getTenantId, reqVO.getTenantId()) + .orderByDesc(BaseInfoDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/companyinfo/CompanyInfoMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/companyinfo/CompanyInfoMapper.java new file mode 100644 index 00000000..10421e72 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/companyinfo/CompanyInfoMapper.java @@ -0,0 +1,41 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.companyinfo; + +import java.util.*; + +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.module.farm.dal.dataobject.companyinfo.CompanyInfoDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.companyinfo.vo.*; + +/** + * 企业信息 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface CompanyInfoMapper extends BaseMapperX { + + default PageResult selectPage(CompanyInfoPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(CompanyInfoDO::getName, reqVO.getName()) + .eqIfPresent(CompanyInfoDO::getDirector, reqVO.getDirector()) + .eqIfPresent(CompanyInfoDO::getPhone, reqVO.getPhone()) + .eqIfPresent(CompanyInfoDO::getAddress, reqVO.getAddress()) + .eqIfPresent(CompanyInfoDO::getDetailedAddress, reqVO.getDetailedAddress()) + .likeIfPresent(CompanyInfoDO::getStoreName, reqVO.getStoreName()) + .eqIfPresent(CompanyInfoDO::getStoreAddress, reqVO.getStoreAddress()) + .eqIfPresent(CompanyInfoDO::getIntroduce, reqVO.getIntroduce()) + .eqIfPresent(CompanyInfoDO::getPublicityImage, reqVO.getPublicityImage()) + .eqIfPresent(CompanyInfoDO::getLogoImage, reqVO.getLogoImage()) + .betweenIfPresent(CompanyInfoDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(CompanyInfoDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(CompanyInfoDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(CompanyInfoDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(CompanyInfoDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(CompanyInfoDO::getTenantId, reqVO.getTenantId()) + .orderByDesc(CompanyInfoDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/cultivationarea/CultivationAreaMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/cultivationarea/CultivationAreaMapper.java new file mode 100644 index 00000000..9def6290 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/cultivationarea/CultivationAreaMapper.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.cultivationarea; + +import java.util.*; + +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.module.farm.dal.dataobject.cultivationarea.CultivationAreaDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.cultivationarea.vo.*; + +/** + * 种植区域 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface CultivationAreaMapper extends BaseMapperX { + + default PageResult selectPage(CultivationAreaPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(CultivationAreaDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(CultivationAreaDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(CultivationAreaDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(CultivationAreaDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(CultivationAreaDO::getPlanArea, reqVO.getPlanArea()) + .eqIfPresent(CultivationAreaDO::getTotalArea, reqVO.getTotalArea()) + .eqIfPresent(CultivationAreaDO::getSurplusArea, reqVO.getSurplusArea()) + .eqIfPresent(CultivationAreaDO::getDelStatus, reqVO.getDelStatus()) + .eqIfPresent(CultivationAreaDO::getTenantId, reqVO.getTenantId()) + .betweenIfPresent(CultivationAreaDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(CultivationAreaDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/deviceinfo/DeviceInfoMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/deviceinfo/DeviceInfoMapper.java new file mode 100644 index 00000000..2d63de44 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/deviceinfo/DeviceInfoMapper.java @@ -0,0 +1,58 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.deviceinfo; + +import java.util.*; + +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.module.farm.dal.dataobject.deviceinfo.DeviceInfoDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.deviceinfo.vo.*; + +/** + * 设备信息 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface DeviceInfoMapper extends BaseMapperX { + + default PageResult selectPage(DeviceInfoPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(DeviceInfoDO::getDeviceName, reqVO.getDeviceName()) + .likeIfPresent(DeviceInfoDO::getLpDeviceName, reqVO.getLpDeviceName()) + .eqIfPresent(DeviceInfoDO::getCategoryCode, reqVO.getCategoryCode()) + .likeIfPresent(DeviceInfoDO::getDeviceCategoryName, reqVO.getDeviceCategoryName()) + .eqIfPresent(DeviceInfoDO::getDeviceCategoryUniqueId, reqVO.getDeviceCategoryUniqueId()) + .eqIfPresent(DeviceInfoDO::getFarmIsolationId, reqVO.getFarmIsolationId()) + .eqIfPresent(DeviceInfoDO::getLpProductKey, reqVO.getLpProductKey()) + .likeIfPresent(DeviceInfoDO::getLpProductName, reqVO.getLpProductName()) + .eqIfPresent(DeviceInfoDO::getLpProductUniqueId, reqVO.getLpProductUniqueId()) + .eqIfPresent(DeviceInfoDO::getStatus, reqVO.getStatus()) + .eqIfPresent(DeviceInfoDO::getDeviceType, reqVO.getDeviceType()) + .eqIfPresent(DeviceInfoDO::getType, reqVO.getType()) + .eqIfPresent(DeviceInfoDO::getVendor, reqVO.getVendor()) + .eqIfPresent(DeviceInfoDO::getDescription, reqVO.getDescription()) + .eqIfPresent(DeviceInfoDO::getCategoryDescType, reqVO.getCategoryDescType()) + .betweenIfPresent(DeviceInfoDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(DeviceInfoDO::getCreatedAt, reqVO.getCreatedAt()) + .eqIfPresent(DeviceInfoDO::getUpdatedAt, reqVO.getUpdatedAt()) + .eqIfPresent(DeviceInfoDO::getImage, reqVO.getImage()) + .eqIfPresent(DeviceInfoDO::getAlarmImage, reqVO.getAlarmImage()) + .eqIfPresent(DeviceInfoDO::getOfflineImage, reqVO.getOfflineImage()) + .eqIfPresent(DeviceInfoDO::getCategoryIcon, reqVO.getCategoryIcon()) + .eqIfPresent(DeviceInfoDO::getBattery, reqVO.getBattery()) + .eqIfPresent(DeviceInfoDO::getRssi, reqVO.getRssi()) + .betweenIfPresent(DeviceInfoDO::getIotCardExpireTime, reqVO.getIotCardExpireTime()) + .eqIfPresent(DeviceInfoDO::getIsIotCardExisted, reqVO.getIsIotCardExisted()) + .eqIfPresent(DeviceInfoDO::getEdgeInstanceUniqueId, reqVO.getEdgeInstanceUniqueId()) + .eqIfPresent(DeviceInfoDO::getDataImage, reqVO.getDataImage()) + .eqIfPresent(DeviceInfoDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(DeviceInfoDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(DeviceInfoDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(DeviceInfoDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(DeviceInfoDO::getTenantId, reqVO.getTenantId()) + .orderByDesc(DeviceInfoDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/deviceplotrelation/DevicePlotRelationMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/deviceplotrelation/DevicePlotRelationMapper.java new file mode 100644 index 00000000..54abfd4b --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/deviceplotrelation/DevicePlotRelationMapper.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.deviceplotrelation; + +import java.util.*; + +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.module.farm.dal.dataobject.deviceplotrelation.DevicePlotRelationDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.deviceplotrelation.vo.*; + +/** + * 设备与地块关联 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface DevicePlotRelationMapper extends BaseMapperX { + + default PageResult selectPage(DevicePlotRelationPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(DevicePlotRelationDO::getDeviceUniqueId, reqVO.getDeviceUniqueId()) + .eqIfPresent(DevicePlotRelationDO::getVendor, reqVO.getVendor()) + .likeIfPresent(DevicePlotRelationDO::getDeviceName, reqVO.getDeviceName()) + .eqIfPresent(DevicePlotRelationDO::getLpProductKey, reqVO.getLpProductKey()) + .eqIfPresent(DevicePlotRelationDO::getUserId, reqVO.getUserId()) + .eqIfPresent(DevicePlotRelationDO::getIsIotCardExisted, reqVO.getIsIotCardExisted()) + .eqIfPresent(DevicePlotRelationDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(DevicePlotRelationDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(DevicePlotRelationDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(DevicePlotRelationDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(DevicePlotRelationDO::getTenantId, reqVO.getTenantId()) + .betweenIfPresent(DevicePlotRelationDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(DevicePlotRelationDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/disasterdata/DisasterDataMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/disasterdata/DisasterDataMapper.java new file mode 100644 index 00000000..5924f7a9 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/disasterdata/DisasterDataMapper.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.disasterdata; + +import java.util.*; + +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.module.farm.dal.dataobject.disasterdata.DisasterDataDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.disasterdata.vo.*; + +/** + * 灾害数据 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface DisasterDataMapper extends BaseMapperX { + + default PageResult selectPage(DisasterDataPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(DisasterDataDO::getFoundationId, reqVO.getFoundationId()) + .eqIfPresent(DisasterDataDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(DisasterDataDO::getBaseName, reqVO.getBaseName()) + .betweenIfPresent(DisasterDataDO::getDisasterTime, reqVO.getDisasterTime()) + .eqIfPresent(DisasterDataDO::getCategory, reqVO.getCategory()) + .likeIfPresent(DisasterDataDO::getName, reqVO.getName()) + .eqIfPresent(DisasterDataDO::getDisasterCount, reqVO.getDisasterCount()) + .betweenIfPresent(DisasterDataDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(DisasterDataDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(DisasterDataDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(DisasterDataDO::getTenantId, reqVO.getTenantId()) + .orderByDesc(DisasterDataDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/environmentindexconfig/EnvironmentIndexConfigMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/environmentindexconfig/EnvironmentIndexConfigMapper.java new file mode 100644 index 00000000..aaa38aa3 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/environmentindexconfig/EnvironmentIndexConfigMapper.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.environmentindexconfig; + +import java.util.*; + +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.module.farm.dal.dataobject.environmentindexconfig.EnvironmentIndexConfigDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.environmentindexconfig.vo.*; + +/** + * 环境指标配置 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface EnvironmentIndexConfigMapper extends BaseMapperX { + + default PageResult selectPage(EnvironmentIndexConfigPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(EnvironmentIndexConfigDO::getCultivarName, reqVO.getCultivarName()) + .likeIfPresent(EnvironmentIndexConfigDO::getSpeciesName, reqVO.getSpeciesName()) + .likeIfPresent(EnvironmentIndexConfigDO::getName, reqVO.getName()) + .eqIfPresent(EnvironmentIndexConfigDO::getDescription, reqVO.getDescription()) + .betweenIfPresent(EnvironmentIndexConfigDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(EnvironmentIndexConfigDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(EnvironmentIndexConfigDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(EnvironmentIndexConfigDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(EnvironmentIndexConfigDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(EnvironmentIndexConfigDO::getTenantId, reqVO.getTenantId()) + .orderByDesc(EnvironmentIndexConfigDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/farmingnamemaintenance/FarmingNameMaintenanceMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/farmingnamemaintenance/FarmingNameMaintenanceMapper.java new file mode 100644 index 00000000..727d4519 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/farmingnamemaintenance/FarmingNameMaintenanceMapper.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.farmingnamemaintenance; + +import java.util.*; + +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.module.farm.dal.dataobject.farmingnamemaintenance.FarmingNameMaintenanceDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.farmingnamemaintenance.vo.*; + +/** + * 农事名称维护 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface FarmingNameMaintenanceMapper extends BaseMapperX { + + default PageResult selectPage(FarmingNameMaintenancePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(FarmingNameMaintenanceDO::getFarmingName, reqVO.getFarmingName()) + .eqIfPresent(FarmingNameMaintenanceDO::getFarmingType, reqVO.getFarmingType()) + .eqIfPresent(FarmingNameMaintenanceDO::getUseStatus, reqVO.getUseStatus()) + .betweenIfPresent(FarmingNameMaintenanceDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(FarmingNameMaintenanceDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(FarmingNameMaintenanceDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(FarmingNameMaintenanceDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(FarmingNameMaintenanceDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(FarmingNameMaintenanceDO::getTenantId, reqVO.getTenantId()) + .orderByDesc(FarmingNameMaintenanceDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/farmingrecord/FarmingRecordMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/farmingrecord/FarmingRecordMapper.java new file mode 100644 index 00000000..4fa3a4a3 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/farmingrecord/FarmingRecordMapper.java @@ -0,0 +1,42 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.farmingrecord; + +import java.util.*; + +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.module.farm.dal.dataobject.farmingrecord.FarmingRecordDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.farmingrecord.vo.*; + +/** + * 种植中心-农事基地-农事记录 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface FarmingRecordMapper extends BaseMapperX { + + default PageResult selectPage(FarmingRecordPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(FarmingRecordDO::getTaskType, reqVO.getTaskType()) + .likeIfPresent(FarmingRecordDO::getTaskName, reqVO.getTaskName()) + .eqIfPresent(FarmingRecordDO::getTaskScope, reqVO.getTaskScope()) + .betweenIfPresent(FarmingRecordDO::getTaskTime, reqVO.getTaskTime()) + .eqIfPresent(FarmingRecordDO::getPlotId, reqVO.getPlotId()) + .eqIfPresent(FarmingRecordDO::getProductionPlanId, reqVO.getProductionPlanId()) + .eqIfPresent(FarmingRecordDO::getExecutor, reqVO.getExecutor()) + .eqIfPresent(FarmingRecordDO::getActualLaborCost, reqVO.getActualLaborCost()) + .eqIfPresent(FarmingRecordDO::getActualInputId, reqVO.getActualInputId()) + .eqIfPresent(FarmingRecordDO::getFeedbackNotes, reqVO.getFeedbackNotes()) + .eqIfPresent(FarmingRecordDO::getFeedbackImageUrl, reqVO.getFeedbackImageUrl()) + .eqIfPresent(FarmingRecordDO::getDelStatus, reqVO.getDelStatus()) + .eqIfPresent(FarmingRecordDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(FarmingRecordDO::getBaseName, reqVO.getBaseName()) + .likeIfPresent(FarmingRecordDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(FarmingRecordDO::getTenantId, reqVO.getTenantId()) + .betweenIfPresent(FarmingRecordDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(FarmingRecordDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/farmingrecordinput/FarmingRecordInputMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/farmingrecordinput/FarmingRecordInputMapper.java new file mode 100644 index 00000000..f09cbe3c --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/farmingrecordinput/FarmingRecordInputMapper.java @@ -0,0 +1,42 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.farmingrecordinput; + +import java.util.*; + +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.module.farm.dal.dataobject.farmingrecordinput.FarmingRecordInputDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.farmingrecordinput.vo.*; + +/** + * 种植中心-农事基地-农事记录-投入品 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface FarmingRecordInputMapper extends BaseMapperX { + + default PageResult selectPage(FarmingRecordInputPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(FarmingRecordInputDO::getFarmRecordId, reqVO.getFarmRecordId()) + .eqIfPresent(FarmingRecordInputDO::getInputParentCategory, reqVO.getInputParentCategory()) + .eqIfPresent(FarmingRecordInputDO::getInputChildCategory, reqVO.getInputChildCategory()) + .eqIfPresent(FarmingRecordInputDO::getDilutionRatio, reqVO.getDilutionRatio()) + .eqIfPresent(FarmingRecordInputDO::getSingleUseOption, reqVO.getSingleUseOption()) + .eqIfPresent(FarmingRecordInputDO::getSingleUseValue, reqVO.getSingleUseValue()) + .eqIfPresent(FarmingRecordInputDO::getSingleUseUnit, reqVO.getSingleUseUnit()) + .eqIfPresent(FarmingRecordInputDO::getApplicationScope, reqVO.getApplicationScope()) + .eqIfPresent(FarmingRecordInputDO::getDosage, reqVO.getDosage()) + .eqIfPresent(FarmingRecordInputDO::getUsage, reqVO.getUsage()) + .eqIfPresent(FarmingRecordInputDO::getDelStatus, reqVO.getDelStatus()) + .eqIfPresent(FarmingRecordInputDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(FarmingRecordInputDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(FarmingRecordInputDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(FarmingRecordInputDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(FarmingRecordInputDO::getTenantId, reqVO.getTenantId()) + .betweenIfPresent(FarmingRecordInputDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(FarmingRecordInputDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/farmingtypemaintenance/FarmingTypeMaintenanceMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/farmingtypemaintenance/FarmingTypeMaintenanceMapper.java new file mode 100644 index 00000000..c07cec54 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/farmingtypemaintenance/FarmingTypeMaintenanceMapper.java @@ -0,0 +1,33 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.farmingtypemaintenance; + +import java.util.*; + +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.module.farm.dal.dataobject.farmingtypemaintenance.FarmingTypeMaintenanceDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.*; + +/** + * 农事类型维护 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface FarmingTypeMaintenanceMapper extends BaseMapperX { + + default PageResult selectPage(FarmingTypeMaintenancePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(FarmingTypeMaintenanceDO::getFarmingType, reqVO.getFarmingType()) + .eqIfPresent(FarmingTypeMaintenanceDO::getUseStatus, reqVO.getUseStatus()) + .betweenIfPresent(FarmingTypeMaintenanceDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(FarmingTypeMaintenanceDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(FarmingTypeMaintenanceDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(FarmingTypeMaintenanceDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(FarmingTypeMaintenanceDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(FarmingTypeMaintenanceDO::getTenantId, reqVO.getTenantId()) + .orderByDesc(FarmingTypeMaintenanceDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/fertilizerindex/FertilizerIndexMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/fertilizerindex/FertilizerIndexMapper.java new file mode 100644 index 00000000..14e947fd --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/fertilizerindex/FertilizerIndexMapper.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.fertilizerindex; + +import java.util.*; + +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.module.farm.dal.dataobject.fertilizerindex.FertilizerIndexDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.fertilizerindex.vo.*; + +/** + * 化肥指标 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface FertilizerIndexMapper extends BaseMapperX { + + default PageResult selectPage(FertilizerIndexPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(FertilizerIndexDO::getFoundationId, reqVO.getFoundationId()) + .likeIfPresent(FertilizerIndexDO::getName, reqVO.getName()) + .eqIfPresent(FertilizerIndexDO::getStandard, reqVO.getStandard()) + .eqIfPresent(FertilizerIndexDO::getCheckResults, reqVO.getCheckResults()) + .betweenIfPresent(FertilizerIndexDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(FertilizerIndexDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(FertilizerIndexDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(FertilizerIndexDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(FertilizerIndexDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(FertilizerIndexDO::getTenantId, reqVO.getTenantId()) + .orderByDesc(FertilizerIndexDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/foundationinfo/FoundationInfoMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/foundationinfo/FoundationInfoMapper.java new file mode 100644 index 00000000..62744d33 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/foundationinfo/FoundationInfoMapper.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.foundationinfo; + +import java.util.*; + +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.module.farm.dal.dataobject.foundationinfo.FoundationInfoDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.foundationinfo.vo.*; + +/** + * 基础信息 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface FoundationInfoMapper extends BaseMapperX { + + default PageResult selectPage(FoundationInfoPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(FoundationInfoDO::getTitle, reqVO.getTitle()) + .likeIfPresent(FoundationInfoDO::getFarmName, reqVO.getFarmName()) + .eqIfPresent(FoundationInfoDO::getImage, reqVO.getImage()) + .eqIfPresent(FoundationInfoDO::getDescription, reqVO.getDescription()) + .eqIfPresent(FoundationInfoDO::getEmployeeCount, reqVO.getEmployeeCount()) + .betweenIfPresent(FoundationInfoDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(FoundationInfoDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(FoundationInfoDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(FoundationInfoDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(FoundationInfoDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(FoundationInfoDO::getTenantId, reqVO.getTenantId()) + .orderByDesc(FoundationInfoDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/inputlibrary/InputLibraryMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/inputlibrary/InputLibraryMapper.java new file mode 100644 index 00000000..ea032663 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/inputlibrary/InputLibraryMapper.java @@ -0,0 +1,45 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.inputlibrary; + +import java.util.*; + +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.module.farm.dal.dataobject.inputlibrary.InputLibraryDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.inputlibrary.vo.*; + +/** + * 投入品库维护 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface InputLibraryMapper extends BaseMapperX { + + default PageResult selectPage(InputLibraryPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(InputLibraryDO::getAssetType, reqVO.getAssetType()) + .likeIfPresent(InputLibraryDO::getAssetName, reqVO.getAssetName()) + .eqIfPresent(InputLibraryDO::getDose, reqVO.getDose()) + .eqIfPresent(InputLibraryDO::getUnit, reqVO.getUnit()) + .eqIfPresent(InputLibraryDO::getPackageUnit, reqVO.getPackageUnit()) + .eqIfPresent(InputLibraryDO::getPrice, reqVO.getPrice()) + .eqIfPresent(InputLibraryDO::getRegistration, reqVO.getRegistration()) + .eqIfPresent(InputLibraryDO::getManufacturer, reqVO.getManufacturer()) + .eqIfPresent(InputLibraryDO::getDrugType, reqVO.getDrugType()) + .eqIfPresent(InputLibraryDO::getActivePrinciple, reqVO.getActivePrinciple()) + .eqIfPresent(InputLibraryDO::getSafetyInterval, reqVO.getSafetyInterval()) + .eqIfPresent(InputLibraryDO::getDiluted, reqVO.getDiluted()) + .eqIfPresent(InputLibraryDO::getUsage, reqVO.getUsage()) + .eqIfPresent(InputLibraryDO::getUseStatus, reqVO.getUseStatus()) + .betweenIfPresent(InputLibraryDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(InputLibraryDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(InputLibraryDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(InputLibraryDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(InputLibraryDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(InputLibraryDO::getTenantId, reqVO.getTenantId()) + .orderByDesc(InputLibraryDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/messagecenter/MessageCenterMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/messagecenter/MessageCenterMapper.java new file mode 100644 index 00000000..66f7eb0d --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/messagecenter/MessageCenterMapper.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.messagecenter; + +import java.util.*; + +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.module.farm.dal.dataobject.messagecenter.MessageCenterDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.messagecenter.vo.*; + +/** + * 消息中心 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface MessageCenterMapper extends BaseMapperX { + + default PageResult selectPage(MessageCenterPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(MessageCenterDO::getMessageType, reqVO.getMessageType()) + .eqIfPresent(MessageCenterDO::getTitle, reqVO.getTitle()) + .eqIfPresent(MessageCenterDO::getContent, reqVO.getContent()) + .eqIfPresent(MessageCenterDO::getReadStatus, reqVO.getReadStatus()) + .eqIfPresent(MessageCenterDO::getAlarmStatus, reqVO.getAlarmStatus()) + .eqIfPresent(MessageCenterDO::getNumber, reqVO.getNumber()) + .betweenIfPresent(MessageCenterDO::getCreateTime, reqVO.getCreateTime()) + .betweenIfPresent(MessageCenterDO::getReadTime, reqVO.getReadTime()) + .eqIfPresent(MessageCenterDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(MessageCenterDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(MessageCenterDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(MessageCenterDO::getPlotName, reqVO.getPlotName()) + .orderByDesc(MessageCenterDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/modelcycle/ModelCycleMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/modelcycle/ModelCycleMapper.java new file mode 100644 index 00000000..4af6212d --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/modelcycle/ModelCycleMapper.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.modelcycle; + +import java.util.*; + +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.module.farm.dal.dataobject.modelcycle.ModelCycleDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.modelcycle.vo.*; + +/** + * 模型管理-管理周期 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface ModelCycleMapper extends BaseMapperX { + + default PageResult selectPage(ModelCyclePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ModelCycleDO::getModelId, reqVO.getModelId()) + .likeIfPresent(ModelCycleDO::getName, reqVO.getName()) + .eqIfPresent(ModelCycleDO::getStage, reqVO.getStage()) + .eqIfPresent(ModelCycleDO::getDescription, reqVO.getDescription()) + .eqIfPresent(ModelCycleDO::getStageImage, reqVO.getStageImage()) + .betweenIfPresent(ModelCycleDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(ModelCycleDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(ModelCycleDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(ModelCycleDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(ModelCycleDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(ModelCycleDO::getTenantId, reqVO.getTenantId()) + .orderByDesc(ModelCycleDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/modelenvironmentindex/ModelEnvironmentIndexMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/modelenvironmentindex/ModelEnvironmentIndexMapper.java new file mode 100644 index 00000000..485668a8 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/modelenvironmentindex/ModelEnvironmentIndexMapper.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.modelenvironmentindex; + +import java.util.*; + +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.module.farm.dal.dataobject.modelenvironmentindex.ModelEnvironmentIndexDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.modelenvironmentindex.vo.*; + +/** + * 模型管理-环境指标 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface ModelEnvironmentIndexMapper extends BaseMapperX { + + default PageResult selectPage(ModelEnvironmentIndexPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ModelEnvironmentIndexDO::getCycleId, reqVO.getCycleId()) + .eqIfPresent(ModelEnvironmentIndexDO::getDeviceClass, reqVO.getDeviceClass()) + .eqIfPresent(ModelEnvironmentIndexDO::getIndicators, reqVO.getIndicators()) + .eqIfPresent(ModelEnvironmentIndexDO::getMinimum, reqVO.getMinimum()) + .eqIfPresent(ModelEnvironmentIndexDO::getMaximum, reqVO.getMaximum()) + .eqIfPresent(ModelEnvironmentIndexDO::getDescription, reqVO.getDescription()) + .betweenIfPresent(ModelEnvironmentIndexDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(ModelEnvironmentIndexDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(ModelEnvironmentIndexDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(ModelEnvironmentIndexDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(ModelEnvironmentIndexDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(ModelEnvironmentIndexDO::getTenantId, reqVO.getTenantId()) + .orderByDesc(ModelEnvironmentIndexDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/modelfarmingoperation/ModelFarmingOperationMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/modelfarmingoperation/ModelFarmingOperationMapper.java new file mode 100644 index 00000000..5bfaf684 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/modelfarmingoperation/ModelFarmingOperationMapper.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.modelfarmingoperation; + +import java.util.*; + +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.module.farm.dal.dataobject.modelfarmingoperation.ModelFarmingOperationDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperation.vo.*; + +/** + * 模型管理-农事操作 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface ModelFarmingOperationMapper extends BaseMapperX { + + default PageResult selectPage(ModelFarmingOperationPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ModelFarmingOperationDO::getCycleId, reqVO.getCycleId()) + .likeIfPresent(ModelFarmingOperationDO::getFarmingName, reqVO.getFarmingName()) + .eqIfPresent(ModelFarmingOperationDO::getStartingPeriod, reqVO.getStartingPeriod()) + .eqIfPresent(ModelFarmingOperationDO::getUsed, reqVO.getUsed()) + .eqIfPresent(ModelFarmingOperationDO::getWorkersNumber, reqVO.getWorkersNumber()) + .eqIfPresent(ModelFarmingOperationDO::getDescription, reqVO.getDescription()) + .eqIfPresent(ModelFarmingOperationDO::getSketch, reqVO.getSketch()) + .betweenIfPresent(ModelFarmingOperationDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(ModelFarmingOperationDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(ModelFarmingOperationDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(ModelFarmingOperationDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(ModelFarmingOperationDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(ModelFarmingOperationDO::getTenantId, reqVO.getTenantId()) + .orderByDesc(ModelFarmingOperationDO::getId)); + } + +} \ 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 new file mode 100644 index 00000000..089b9b94 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/modelfarmingoperationinput/ModelFarmingOperationInputMapper.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.modelfarmingoperationinput; + +import java.util.*; + +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.module.farm.dal.dataobject.modelfarmingoperationinput.ModelFarmingOperationInputDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperationinput.vo.*; + +/** + * 模型管理-农事操作-已选择投入品列 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface ModelFarmingOperationInputMapper extends BaseMapperX { + + default PageResult selectPage(ModelFarmingOperationInputPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ModelFarmingOperationInputDO::getFarmingId, reqVO.getFarmingId()) + .eqIfPresent(ModelFarmingOperationInputDO::getInputsId, reqVO.getInputsId()) + .eqIfPresent(ModelFarmingOperationInputDO::getDose, reqVO.getDose()) + .eqIfPresent(ModelFarmingOperationInputDO::getUnit, reqVO.getUnit()) + .eqIfPresent(ModelFarmingOperationInputDO::getDiluted, reqVO.getDiluted()) + .eqIfPresent(ModelFarmingOperationInputDO::getUsage, reqVO.getUsage()) + .betweenIfPresent(ModelFarmingOperationInputDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(ModelFarmingOperationInputDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(ModelFarmingOperationInputDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(ModelFarmingOperationInputDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(ModelFarmingOperationInputDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(ModelFarmingOperationInputDO::getTenantId, reqVO.getTenantId()) + .orderByDesc(ModelFarmingOperationInputDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/modelpestdiseaseweed/ModelPestDiseaseWeedMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/modelpestdiseaseweed/ModelPestDiseaseWeedMapper.java new file mode 100644 index 00000000..f8277645 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/modelpestdiseaseweed/ModelPestDiseaseWeedMapper.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.modelpestdiseaseweed; + +import java.util.*; + +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.module.farm.dal.dataobject.modelpestdiseaseweed.ModelPestDiseaseWeedDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.modelpestdiseaseweed.vo.*; + +/** + * 模型管理-病虫草害 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface ModelPestDiseaseWeedMapper extends BaseMapperX { + + default PageResult selectPage(ModelPestDiseaseWeedPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ModelPestDiseaseWeedDO::getCycleId, reqVO.getCycleId()) + .eqIfPresent(ModelPestDiseaseWeedDO::getType, reqVO.getType()) + .likeIfPresent(ModelPestDiseaseWeedDO::getName, reqVO.getName()) + .eqIfPresent(ModelPestDiseaseWeedDO::getPestsId, reqVO.getPestsId()) + .eqIfPresent(ModelPestDiseaseWeedDO::getDescription, reqVO.getDescription()) + .betweenIfPresent(ModelPestDiseaseWeedDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(ModelPestDiseaseWeedDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(ModelPestDiseaseWeedDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(ModelPestDiseaseWeedDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(ModelPestDiseaseWeedDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(ModelPestDiseaseWeedDO::getTenantId, reqVO.getTenantId()) + .orderByDesc(ModelPestDiseaseWeedDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/modelweatherdisaster/ModelWeatherDisasterMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/modelweatherdisaster/ModelWeatherDisasterMapper.java new file mode 100644 index 00000000..16c3cf5a --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/modelweatherdisaster/ModelWeatherDisasterMapper.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.modelweatherdisaster; + +import java.util.*; + +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.module.farm.dal.dataobject.modelweatherdisaster.ModelWeatherDisasterDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.modelweatherdisaster.vo.*; + +/** + * 模型管理-气象灾害 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface ModelWeatherDisasterMapper extends BaseMapperX { + + default PageResult selectPage(ModelWeatherDisasterPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ModelWeatherDisasterDO::getCycleId, reqVO.getCycleId()) + .likeIfPresent(ModelWeatherDisasterDO::getName, reqVO.getName()) + .eqIfPresent(ModelWeatherDisasterDO::getWeatherId, reqVO.getWeatherId()) + .eqIfPresent(ModelWeatherDisasterDO::getDescription, reqVO.getDescription()) + .eqIfPresent(ModelWeatherDisasterDO::getImage, reqVO.getImage()) + .betweenIfPresent(ModelWeatherDisasterDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(ModelWeatherDisasterDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(ModelWeatherDisasterDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(ModelWeatherDisasterDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(ModelWeatherDisasterDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(ModelWeatherDisasterDO::getTenantId, reqVO.getTenantId()) + .orderByDesc(ModelWeatherDisasterDO::getId)); + } + +} \ 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 new file mode 100644 index 00000000..46f17f56 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/personnelmanagement/PersonnelManagementMapper.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.personnelmanagement; + +import java.util.*; + +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.module.farm.dal.dataobject.personnelmanagement.PersonnelManagementDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.personnelmanagement.vo.*; + +/** + * 人员管理 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface PersonnelManagementMapper extends BaseMapperX { + + default PageResult selectPage(PersonnelManagementPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(PersonnelManagementDO::getName, reqVO.getName()) + .eqIfPresent(PersonnelManagementDO::getDepartment, reqVO.getDepartment()) + .eqIfPresent(PersonnelManagementDO::getPhone, reqVO.getPhone()) + .eqIfPresent(PersonnelManagementDO::getRole, reqVO.getRole()) + .eqIfPresent(PersonnelManagementDO::getPicture, reqVO.getPicture()) + .eqIfPresent(PersonnelManagementDO::getAccountStatus, reqVO.getAccountStatus()) + .betweenIfPresent(PersonnelManagementDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(PersonnelManagementDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(PersonnelManagementDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(PersonnelManagementDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(PersonnelManagementDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(PersonnelManagementDO::getTenantId, reqVO.getTenantId()) + .orderByDesc(PersonnelManagementDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/pestdiseaseweedlibrary/PestDiseaseWeedLibraryMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/pestdiseaseweedlibrary/PestDiseaseWeedLibraryMapper.java new file mode 100644 index 00000000..817de076 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/pestdiseaseweedlibrary/PestDiseaseWeedLibraryMapper.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.pestdiseaseweedlibrary; + +import java.util.*; + +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.module.farm.dal.dataobject.pestdiseaseweedlibrary.PestDiseaseWeedLibraryDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.pestdiseaseweedlibrary.vo.*; + +/** + * 病虫草害库维护 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface PestDiseaseWeedLibraryMapper extends BaseMapperX { + + default PageResult selectPage(PestDiseaseWeedLibraryPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(PestDiseaseWeedLibraryDO::getType, reqVO.getType()) + .likeIfPresent(PestDiseaseWeedLibraryDO::getName, reqVO.getName()) + .eqIfPresent(PestDiseaseWeedLibraryDO::getDescription, reqVO.getDescription()) + .eqIfPresent(PestDiseaseWeedLibraryDO::getPropose, reqVO.getPropose()) + .eqIfPresent(PestDiseaseWeedLibraryDO::getImages, reqVO.getImages()) + .eqIfPresent(PestDiseaseWeedLibraryDO::getUseStatus, reqVO.getUseStatus()) + .betweenIfPresent(PestDiseaseWeedLibraryDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(PestDiseaseWeedLibraryDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(PestDiseaseWeedLibraryDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(PestDiseaseWeedLibraryDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(PestDiseaseWeedLibraryDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(PestDiseaseWeedLibraryDO::getTenantId, reqVO.getTenantId()) + .orderByDesc(PestDiseaseWeedLibraryDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/pesticideresidueindex/PesticideResidueIndexMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/pesticideresidueindex/PesticideResidueIndexMapper.java new file mode 100644 index 00000000..8103034a --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/pesticideresidueindex/PesticideResidueIndexMapper.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.pesticideresidueindex; + +import java.util.*; + +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.module.farm.dal.dataobject.pesticideresidueindex.PesticideResidueIndexDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.pesticideresidueindex.vo.*; + +/** + * 农残指标 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface PesticideResidueIndexMapper extends BaseMapperX { + + default PageResult selectPage(PesticideResidueIndexPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(PesticideResidueIndexDO::getFoundationId, reqVO.getFoundationId()) + .likeIfPresent(PesticideResidueIndexDO::getName, reqVO.getName()) + .eqIfPresent(PesticideResidueIndexDO::getStandard, reqVO.getStandard()) + .eqIfPresent(PesticideResidueIndexDO::getCheckResults, reqVO.getCheckResults()) + .betweenIfPresent(PesticideResidueIndexDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(PesticideResidueIndexDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(PesticideResidueIndexDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(PesticideResidueIndexDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(PesticideResidueIndexDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(PesticideResidueIndexDO::getTenantId, reqVO.getTenantId()) + .orderByDesc(PesticideResidueIndexDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/plotinfo/PlotInfoMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/plotinfo/PlotInfoMapper.java new file mode 100644 index 00000000..c1a4750f --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/plotinfo/PlotInfoMapper.java @@ -0,0 +1,33 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.plotinfo; + +import java.util.*; + +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.module.farm.dal.dataobject.plotinfo.PlotInfoDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.plotinfo.vo.*; + +/** + * 地块 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface PlotInfoMapper extends BaseMapperX { + + default PageResult selectPage(PlotInfoPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(PlotInfoDO::getBaseId, reqVO.getBaseId()) + .eqIfPresent(PlotInfoDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(PlotInfoDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(PlotInfoDO::getPlotArea, reqVO.getPlotArea()) + .eqIfPresent(PlotInfoDO::getPlotColor, reqVO.getPlotColor()) + .eqIfPresent(PlotInfoDO::getPoint, reqVO.getPoint()) + .eqIfPresent(PlotInfoDO::getEmployeeId, reqVO.getEmployeeId()) + .betweenIfPresent(PlotInfoDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(PlotInfoDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/productionplan/ProductionPlanMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/productionplan/ProductionPlanMapper.java new file mode 100644 index 00000000..28243593 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/productionplan/ProductionPlanMapper.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.productionplan; + +import java.util.*; + +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.module.farm.dal.dataobject.productionplan.ProductionPlanDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.productionplan.vo.*; + +/** + * 种植中心-生产计划-生产计划 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface ProductionPlanMapper extends BaseMapperX { + + default PageResult selectPage(ProductionPlanPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ProductionPlanDO::getPlantSpecies, reqVO.getPlantSpecies()) + .eqIfPresent(ProductionPlanDO::getSpeciesModel, reqVO.getSpeciesModel()) + .betweenIfPresent(ProductionPlanDO::getProductionStartDate, reqVO.getProductionStartDate()) + .betweenIfPresent(ProductionPlanDO::getProductionEndDate, reqVO.getProductionEndDate()) + .betweenIfPresent(ProductionPlanDO::getHarvestStartDate, reqVO.getHarvestStartDate()) + .eqIfPresent(ProductionPlanDO::getCultivationAreaId, reqVO.getCultivationAreaId()) + .eqIfPresent(ProductionPlanDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(ProductionPlanDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(ProductionPlanDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(ProductionPlanDO::getPlotName, reqVO.getPlotName()) + .betweenIfPresent(ProductionPlanDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(ProductionPlanDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/productmanagement/ProductManagementMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/productmanagement/ProductManagementMapper.java new file mode 100644 index 00000000..17ba937d --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/productmanagement/ProductManagementMapper.java @@ -0,0 +1,41 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.productmanagement; + +import java.util.*; + +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.module.farm.dal.dataobject.productmanagement.ProductManagementDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.productmanagement.vo.*; + +/** + * 商品管理 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface ProductManagementMapper extends BaseMapperX { + + default PageResult selectPage(ProductManagementPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(ProductManagementDO::getProductName, reqVO.getProductName()) + .eqIfPresent(ProductManagementDO::getPackingSpec, reqVO.getPackingSpec()) + .eqIfPresent(ProductManagementDO::getMeasuringUnit, reqVO.getMeasuringUnit()) + .eqIfPresent(ProductManagementDO::getPackingUnit, reqVO.getPackingUnit()) + .eqIfPresent(ProductManagementDO::getImage, reqVO.getImage()) + .eqIfPresent(ProductManagementDO::getIntroduce, reqVO.getIntroduce()) + .eqIfPresent(ProductManagementDO::getBarCode, reqVO.getBarCode()) + .eqIfPresent(ProductManagementDO::getPermit, reqVO.getPermit()) + .likeIfPresent(ProductManagementDO::getBrandName, reqVO.getBrandName()) + .eqIfPresent(ProductManagementDO::getBrandImage, reqVO.getBrandImage()) + .eqIfPresent(ProductManagementDO::getBrandAuthentication, reqVO.getBrandAuthentication()) + .betweenIfPresent(ProductManagementDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(ProductManagementDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(ProductManagementDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(ProductManagementDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(ProductManagementDO::getPlotName, reqVO.getPlotName()) + .orderByDesc(ProductManagementDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/specieslibrary/SpeciesLibraryMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/specieslibrary/SpeciesLibraryMapper.java new file mode 100644 index 00000000..6b4dd5c0 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/specieslibrary/SpeciesLibraryMapper.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.specieslibrary; + +import java.util.*; + +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.module.farm.dal.dataobject.specieslibrary.SpeciesLibraryDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.specieslibrary.vo.*; + +/** + * 物种库维护 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface SpeciesLibraryMapper extends BaseMapperX { + + default PageResult selectPage(SpeciesLibraryPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(SpeciesLibraryDO::getCategory, reqVO.getCategory()) + .likeIfPresent(SpeciesLibraryDO::getSpeciesName, reqVO.getSpeciesName()) + .likeIfPresent(SpeciesLibraryDO::getCultivarName, reqVO.getCultivarName()) + .eqIfPresent(SpeciesLibraryDO::getCultivarLevel, reqVO.getCultivarLevel()) + .eqIfPresent(SpeciesLibraryDO::getLifeCycle, reqVO.getLifeCycle()) + .eqIfPresent(SpeciesLibraryDO::getImage, reqVO.getImage()) + .eqIfPresent(SpeciesLibraryDO::getUseStatus, reqVO.getUseStatus()) + .betweenIfPresent(SpeciesLibraryDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(SpeciesLibraryDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(SpeciesLibraryDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(SpeciesLibraryDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(SpeciesLibraryDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(SpeciesLibraryDO::getTenantId, reqVO.getTenantId()) + .orderByDesc(SpeciesLibraryDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/varietydata/VarietyDataMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/varietydata/VarietyDataMapper.java new file mode 100644 index 00000000..1ee44989 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/varietydata/VarietyDataMapper.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.varietydata; + +import java.util.*; + +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.module.farm.dal.dataobject.varietydata.VarietyDataDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.varietydata.vo.*; + +/** + * 品种数据 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface VarietyDataMapper extends BaseMapperX { + + default PageResult selectPage(VarietyDataPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(VarietyDataDO::getFoundationId, reqVO.getFoundationId()) + .eqIfPresent(VarietyDataDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(VarietyDataDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(VarietyDataDO::getPlantingSeason, reqVO.getPlantingSeason()) + .likeIfPresent(VarietyDataDO::getCultivarName, reqVO.getCultivarName()) + .eqIfPresent(VarietyDataDO::getArea, reqVO.getArea()) + .eqIfPresent(VarietyDataDO::getEstimatedOutput, reqVO.getEstimatedOutput()) + .eqIfPresent(VarietyDataDO::getActualOutput, reqVO.getActualOutput()) + .betweenIfPresent(VarietyDataDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(VarietyDataDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(VarietyDataDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(VarietyDataDO::getTenantId, reqVO.getTenantId()) + .orderByDesc(VarietyDataDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/weatherdisasterlibrary/WeatherDisasterLibraryMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/weatherdisasterlibrary/WeatherDisasterLibraryMapper.java new file mode 100644 index 00000000..c9c75302 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/weatherdisasterlibrary/WeatherDisasterLibraryMapper.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.farm.dal.mysql.weatherdisasterlibrary; + +import java.util.*; + +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.module.farm.dal.dataobject.weatherdisasterlibrary.WeatherDisasterLibraryDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.farm.controller.admin.weatherdisasterlibrary.vo.*; + +/** + * 气象灾害库维护 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface WeatherDisasterLibraryMapper extends BaseMapperX { + + default PageResult selectPage(WeatherDisasterLibraryPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(WeatherDisasterLibraryDO::getName, reqVO.getName()) + .eqIfPresent(WeatherDisasterLibraryDO::getDescription, reqVO.getDescription()) + .eqIfPresent(WeatherDisasterLibraryDO::getPropose, reqVO.getPropose()) + .eqIfPresent(WeatherDisasterLibraryDO::getImages, reqVO.getImages()) + .eqIfPresent(WeatherDisasterLibraryDO::getUseStatus, reqVO.getUseStatus()) + .betweenIfPresent(WeatherDisasterLibraryDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(WeatherDisasterLibraryDO::getBaseId, reqVO.getBaseId()) + .likeIfPresent(WeatherDisasterLibraryDO::getBaseName, reqVO.getBaseName()) + .eqIfPresent(WeatherDisasterLibraryDO::getPlotId, reqVO.getPlotId()) + .likeIfPresent(WeatherDisasterLibraryDO::getPlotName, reqVO.getPlotName()) + .eqIfPresent(WeatherDisasterLibraryDO::getTenantId, reqVO.getTenantId()) + .orderByDesc(WeatherDisasterLibraryDO::getId)); + } + +} \ 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 new file mode 100644 index 00000000..1f17f0b7 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.baseinfo; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.baseinfo.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 基地 Service 接口 + * + * @author 芋道源码 + */ +public interface BaseInfoService { + + /** + * 创建基地 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createBaseInfo(@Valid BaseInfoSaveReqVO createReqVO); + + /** + * 更新基地 + * + * @param updateReqVO 更新信息 + */ + void updateBaseInfo(@Valid BaseInfoSaveReqVO updateReqVO); + + /** + * 删除基地 + * + * @param id 编号 + */ + void deleteBaseInfo(String id); + + /** + * 批量删除基地 + * + * @param ids 编号 + */ + void deleteBaseInfoListByIds(List ids); + + /** + * 获得基地 + * + * @param id 编号 + * @return 基地 + */ + BaseInfoDO getBaseInfo(String id); + + /** + * 获得基地分页 + * + * @param pageReqVO 分页查询 + * @return 基地分页 + */ + PageResult getBaseInfoPage(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 new file mode 100644 index 00000000..26a65724 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.baseinfo; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.baseinfo.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO; +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.module.farm.dal.mysql.baseinfo.BaseInfoMapper; + +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.*; + +/** + * 基地 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class BaseInfoServiceImpl implements BaseInfoService { + + @Resource + private BaseInfoMapper baseInfoMapper; + + @Override + public String createBaseInfo(BaseInfoSaveReqVO createReqVO) { + // 插入 + BaseInfoDO baseInfo = BeanUtils.toBean(createReqVO, BaseInfoDO.class); + baseInfoMapper.insert(baseInfo); + + // 返回 + return baseInfo.getId(); + } + + @Override + public void updateBaseInfo(BaseInfoSaveReqVO updateReqVO) { + // 校验存在 + validateBaseInfoExists(updateReqVO.getId()); + // 更新 + BaseInfoDO updateObj = BeanUtils.toBean(updateReqVO, BaseInfoDO.class); + baseInfoMapper.updateById(updateObj); + } + + @Override + public void deleteBaseInfo(String id) { + // 校验存在 + validateBaseInfoExists(id); + // 删除 + baseInfoMapper.deleteById(id); + } + + @Override + public void deleteBaseInfoListByIds(List ids) { + // 删除 + baseInfoMapper.deleteByIds(ids); + } + + + private void validateBaseInfoExists(String id) { + if (baseInfoMapper.selectById(id) == null) { + throw exception(BASE_INFO_NOT_EXISTS); + } + } + + @Override + public BaseInfoDO getBaseInfo(String id) { + return baseInfoMapper.selectById(id); + } + + @Override + public PageResult getBaseInfoPage(BaseInfoPageReqVO pageReqVO) { + return baseInfoMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/companyinfo/CompanyInfoService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/companyinfo/CompanyInfoService.java new file mode 100644 index 00000000..d49a21b5 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/companyinfo/CompanyInfoService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.companyinfo; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.companyinfo.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.companyinfo.CompanyInfoDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 企业信息 Service 接口 + * + * @author 芋道源码 + */ +public interface CompanyInfoService { + + /** + * 创建企业信息 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createCompanyInfo(@Valid CompanyInfoSaveReqVO createReqVO); + + /** + * 更新企业信息 + * + * @param updateReqVO 更新信息 + */ + void updateCompanyInfo(@Valid CompanyInfoSaveReqVO updateReqVO); + + /** + * 删除企业信息 + * + * @param id 编号 + */ + void deleteCompanyInfo(String id); + + /** + * 批量删除企业信息 + * + * @param ids 编号 + */ + void deleteCompanyInfoListByIds(List ids); + + /** + * 获得企业信息 + * + * @param id 编号 + * @return 企业信息 + */ + CompanyInfoDO getCompanyInfo(String id); + + /** + * 获得企业信息分页 + * + * @param pageReqVO 分页查询 + * @return 企业信息分页 + */ + PageResult getCompanyInfoPage(CompanyInfoPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/companyinfo/CompanyInfoServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/companyinfo/CompanyInfoServiceImpl.java new file mode 100644 index 00000000..693e34aa --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/companyinfo/CompanyInfoServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.companyinfo; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.companyinfo.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.companyinfo.CompanyInfoDO; +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.module.farm.dal.mysql.companyinfo.CompanyInfoMapper; + +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.*; + +/** + * 企业信息 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class CompanyInfoServiceImpl implements CompanyInfoService { + + @Resource + private CompanyInfoMapper companyInfoMapper; + + @Override + public String createCompanyInfo(CompanyInfoSaveReqVO createReqVO) { + // 插入 + CompanyInfoDO companyInfo = BeanUtils.toBean(createReqVO, CompanyInfoDO.class); + companyInfoMapper.insert(companyInfo); + + // 返回 + return companyInfo.getId(); + } + + @Override + public void updateCompanyInfo(CompanyInfoSaveReqVO updateReqVO) { + // 校验存在 + validateCompanyInfoExists(updateReqVO.getId()); + // 更新 + CompanyInfoDO updateObj = BeanUtils.toBean(updateReqVO, CompanyInfoDO.class); + companyInfoMapper.updateById(updateObj); + } + + @Override + public void deleteCompanyInfo(String id) { + // 校验存在 + validateCompanyInfoExists(id); + // 删除 + companyInfoMapper.deleteById(id); + } + + @Override + public void deleteCompanyInfoListByIds(List ids) { + // 删除 + companyInfoMapper.deleteByIds(ids); + } + + + private void validateCompanyInfoExists(String id) { + if (companyInfoMapper.selectById(id) == null) { + throw exception(COMPANY_INFO_NOT_EXISTS); + } + } + + @Override + public CompanyInfoDO getCompanyInfo(String id) { + return companyInfoMapper.selectById(id); + } + + @Override + public PageResult getCompanyInfoPage(CompanyInfoPageReqVO pageReqVO) { + return companyInfoMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/cultivationarea/CultivationAreaService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/cultivationarea/CultivationAreaService.java new file mode 100644 index 00000000..9d1fbe08 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/cultivationarea/CultivationAreaService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.cultivationarea; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.cultivationarea.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.cultivationarea.CultivationAreaDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 种植区域 Service 接口 + * + * @author 芋道源码 + */ +public interface CultivationAreaService { + + /** + * 创建种植区域 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createCultivationArea(@Valid CultivationAreaSaveReqVO createReqVO); + + /** + * 更新种植区域 + * + * @param updateReqVO 更新信息 + */ + void updateCultivationArea(@Valid CultivationAreaSaveReqVO updateReqVO); + + /** + * 删除种植区域 + * + * @param id 编号 + */ + void deleteCultivationArea(String id); + + /** + * 批量删除种植区域 + * + * @param ids 编号 + */ + void deleteCultivationAreaListByIds(List ids); + + /** + * 获得种植区域 + * + * @param id 编号 + * @return 种植区域 + */ + CultivationAreaDO getCultivationArea(String id); + + /** + * 获得种植区域分页 + * + * @param pageReqVO 分页查询 + * @return 种植区域分页 + */ + PageResult getCultivationAreaPage(CultivationAreaPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/cultivationarea/CultivationAreaServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/cultivationarea/CultivationAreaServiceImpl.java new file mode 100644 index 00000000..2b8e2da2 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/cultivationarea/CultivationAreaServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.cultivationarea; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.cultivationarea.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.cultivationarea.CultivationAreaDO; +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.module.farm.dal.mysql.cultivationarea.CultivationAreaMapper; + +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.*; + +/** + * 种植区域 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class CultivationAreaServiceImpl implements CultivationAreaService { + + @Resource + private CultivationAreaMapper cultivationAreaMapper; + + @Override + public String createCultivationArea(CultivationAreaSaveReqVO createReqVO) { + // 插入 + CultivationAreaDO cultivationArea = BeanUtils.toBean(createReqVO, CultivationAreaDO.class); + cultivationAreaMapper.insert(cultivationArea); + + // 返回 + return cultivationArea.getId(); + } + + @Override + public void updateCultivationArea(CultivationAreaSaveReqVO updateReqVO) { + // 校验存在 + validateCultivationAreaExists(updateReqVO.getId()); + // 更新 + CultivationAreaDO updateObj = BeanUtils.toBean(updateReqVO, CultivationAreaDO.class); + cultivationAreaMapper.updateById(updateObj); + } + + @Override + public void deleteCultivationArea(String id) { + // 校验存在 + validateCultivationAreaExists(id); + // 删除 + cultivationAreaMapper.deleteById(id); + } + + @Override + public void deleteCultivationAreaListByIds(List ids) { + // 删除 + cultivationAreaMapper.deleteByIds(ids); + } + + + private void validateCultivationAreaExists(String id) { + if (cultivationAreaMapper.selectById(id) == null) { + throw exception(CULTIVATION_AREA_NOT_EXISTS); + } + } + + @Override + public CultivationAreaDO getCultivationArea(String id) { + return cultivationAreaMapper.selectById(id); + } + + @Override + public PageResult getCultivationAreaPage(CultivationAreaPageReqVO pageReqVO) { + return cultivationAreaMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/deviceinfo/DeviceInfoService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/deviceinfo/DeviceInfoService.java new file mode 100644 index 00000000..464a15f1 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/deviceinfo/DeviceInfoService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.deviceinfo; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.deviceinfo.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.deviceinfo.DeviceInfoDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 设备信息 Service 接口 + * + * @author 芋道源码 + */ +public interface DeviceInfoService { + + /** + * 创建设备信息 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createDeviceInfo(@Valid DeviceInfoSaveReqVO createReqVO); + + /** + * 更新设备信息 + * + * @param updateReqVO 更新信息 + */ + void updateDeviceInfo(@Valid DeviceInfoSaveReqVO updateReqVO); + + /** + * 删除设备信息 + * + * @param id 编号 + */ + void deleteDeviceInfo(String id); + + /** + * 批量删除设备信息 + * + * @param ids 编号 + */ + void deleteDeviceInfoListByIds(List ids); + + /** + * 获得设备信息 + * + * @param id 编号 + * @return 设备信息 + */ + DeviceInfoDO getDeviceInfo(String id); + + /** + * 获得设备信息分页 + * + * @param pageReqVO 分页查询 + * @return 设备信息分页 + */ + PageResult getDeviceInfoPage(DeviceInfoPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/deviceinfo/DeviceInfoServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/deviceinfo/DeviceInfoServiceImpl.java new file mode 100644 index 00000000..a4daff37 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/deviceinfo/DeviceInfoServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.deviceinfo; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.deviceinfo.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.deviceinfo.DeviceInfoDO; +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.module.farm.dal.mysql.deviceinfo.DeviceInfoMapper; + +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.*; + +/** + * 设备信息 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class DeviceInfoServiceImpl implements DeviceInfoService { + + @Resource + private DeviceInfoMapper deviceInfoMapper; + + @Override + public String createDeviceInfo(DeviceInfoSaveReqVO createReqVO) { + // 插入 + DeviceInfoDO deviceInfo = BeanUtils.toBean(createReqVO, DeviceInfoDO.class); + deviceInfoMapper.insert(deviceInfo); + + // 返回 + return deviceInfo.getId(); + } + + @Override + public void updateDeviceInfo(DeviceInfoSaveReqVO updateReqVO) { + // 校验存在 + validateDeviceInfoExists(updateReqVO.getId()); + // 更新 + DeviceInfoDO updateObj = BeanUtils.toBean(updateReqVO, DeviceInfoDO.class); + deviceInfoMapper.updateById(updateObj); + } + + @Override + public void deleteDeviceInfo(String id) { + // 校验存在 + validateDeviceInfoExists(id); + // 删除 + deviceInfoMapper.deleteById(id); + } + + @Override + public void deleteDeviceInfoListByIds(List ids) { + // 删除 + deviceInfoMapper.deleteByIds(ids); + } + + + private void validateDeviceInfoExists(String id) { + if (deviceInfoMapper.selectById(id) == null) { + throw exception(DEVICE_INFO_NOT_EXISTS); + } + } + + @Override + public DeviceInfoDO getDeviceInfo(String id) { + return deviceInfoMapper.selectById(id); + } + + @Override + public PageResult getDeviceInfoPage(DeviceInfoPageReqVO pageReqVO) { + return deviceInfoMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/deviceplotrelation/DevicePlotRelationService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/deviceplotrelation/DevicePlotRelationService.java new file mode 100644 index 00000000..27db8720 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/deviceplotrelation/DevicePlotRelationService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.deviceplotrelation; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.deviceplotrelation.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.deviceplotrelation.DevicePlotRelationDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 设备与地块关联 Service 接口 + * + * @author 芋道源码 + */ +public interface DevicePlotRelationService { + + /** + * 创建设备与地块关联 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createDevicePlotRelation(@Valid DevicePlotRelationSaveReqVO createReqVO); + + /** + * 更新设备与地块关联 + * + * @param updateReqVO 更新信息 + */ + void updateDevicePlotRelation(@Valid DevicePlotRelationSaveReqVO updateReqVO); + + /** + * 删除设备与地块关联 + * + * @param id 编号 + */ + void deleteDevicePlotRelation(String id); + + /** + * 批量删除设备与地块关联 + * + * @param ids 编号 + */ + void deleteDevicePlotRelationListByIds(List ids); + + /** + * 获得设备与地块关联 + * + * @param id 编号 + * @return 设备与地块关联 + */ + DevicePlotRelationDO getDevicePlotRelation(String id); + + /** + * 获得设备与地块关联分页 + * + * @param pageReqVO 分页查询 + * @return 设备与地块关联分页 + */ + PageResult getDevicePlotRelationPage(DevicePlotRelationPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/deviceplotrelation/DevicePlotRelationServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/deviceplotrelation/DevicePlotRelationServiceImpl.java new file mode 100644 index 00000000..944d4034 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/deviceplotrelation/DevicePlotRelationServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.deviceplotrelation; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.deviceplotrelation.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.deviceplotrelation.DevicePlotRelationDO; +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.module.farm.dal.mysql.deviceplotrelation.DevicePlotRelationMapper; + +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.*; + +/** + * 设备与地块关联 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class DevicePlotRelationServiceImpl implements DevicePlotRelationService { + + @Resource + private DevicePlotRelationMapper devicePlotRelationMapper; + + @Override + public String createDevicePlotRelation(DevicePlotRelationSaveReqVO createReqVO) { + // 插入 + DevicePlotRelationDO devicePlotRelation = BeanUtils.toBean(createReqVO, DevicePlotRelationDO.class); + devicePlotRelationMapper.insert(devicePlotRelation); + + // 返回 + return devicePlotRelation.getId(); + } + + @Override + public void updateDevicePlotRelation(DevicePlotRelationSaveReqVO updateReqVO) { + // 校验存在 + validateDevicePlotRelationExists(updateReqVO.getId()); + // 更新 + DevicePlotRelationDO updateObj = BeanUtils.toBean(updateReqVO, DevicePlotRelationDO.class); + devicePlotRelationMapper.updateById(updateObj); + } + + @Override + public void deleteDevicePlotRelation(String id) { + // 校验存在 + validateDevicePlotRelationExists(id); + // 删除 + devicePlotRelationMapper.deleteById(id); + } + + @Override + public void deleteDevicePlotRelationListByIds(List ids) { + // 删除 + devicePlotRelationMapper.deleteByIds(ids); + } + + + private void validateDevicePlotRelationExists(String id) { + if (devicePlotRelationMapper.selectById(id) == null) { + throw exception(DEVICE_PLOT_RELATION_NOT_EXISTS); + } + } + + @Override + public DevicePlotRelationDO getDevicePlotRelation(String id) { + return devicePlotRelationMapper.selectById(id); + } + + @Override + public PageResult getDevicePlotRelationPage(DevicePlotRelationPageReqVO pageReqVO) { + return devicePlotRelationMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/disasterdata/DisasterDataService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/disasterdata/DisasterDataService.java new file mode 100644 index 00000000..19d12d6a --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/disasterdata/DisasterDataService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.disasterdata; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.disasterdata.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.disasterdata.DisasterDataDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 灾害数据 Service 接口 + * + * @author 芋道源码 + */ +public interface DisasterDataService { + + /** + * 创建灾害数据 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createDisasterData(@Valid DisasterDataSaveReqVO createReqVO); + + /** + * 更新灾害数据 + * + * @param updateReqVO 更新信息 + */ + void updateDisasterData(@Valid DisasterDataSaveReqVO updateReqVO); + + /** + * 删除灾害数据 + * + * @param id 编号 + */ + void deleteDisasterData(String id); + + /** + * 批量删除灾害数据 + * + * @param ids 编号 + */ + void deleteDisasterDataListByIds(List ids); + + /** + * 获得灾害数据 + * + * @param id 编号 + * @return 灾害数据 + */ + DisasterDataDO getDisasterData(String id); + + /** + * 获得灾害数据分页 + * + * @param pageReqVO 分页查询 + * @return 灾害数据分页 + */ + PageResult getDisasterDataPage(DisasterDataPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/disasterdata/DisasterDataServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/disasterdata/DisasterDataServiceImpl.java new file mode 100644 index 00000000..be6256b5 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/disasterdata/DisasterDataServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.disasterdata; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.disasterdata.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.disasterdata.DisasterDataDO; +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.module.farm.dal.mysql.disasterdata.DisasterDataMapper; + +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.*; + +/** + * 灾害数据 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class DisasterDataServiceImpl implements DisasterDataService { + + @Resource + private DisasterDataMapper disasterDataMapper; + + @Override + public String createDisasterData(DisasterDataSaveReqVO createReqVO) { + // 插入 + DisasterDataDO disasterData = BeanUtils.toBean(createReqVO, DisasterDataDO.class); + disasterDataMapper.insert(disasterData); + + // 返回 + return disasterData.getId(); + } + + @Override + public void updateDisasterData(DisasterDataSaveReqVO updateReqVO) { + // 校验存在 + validateDisasterDataExists(updateReqVO.getId()); + // 更新 + DisasterDataDO updateObj = BeanUtils.toBean(updateReqVO, DisasterDataDO.class); + disasterDataMapper.updateById(updateObj); + } + + @Override + public void deleteDisasterData(String id) { + // 校验存在 + validateDisasterDataExists(id); + // 删除 + disasterDataMapper.deleteById(id); + } + + @Override + public void deleteDisasterDataListByIds(List ids) { + // 删除 + disasterDataMapper.deleteByIds(ids); + } + + + private void validateDisasterDataExists(String id) { + if (disasterDataMapper.selectById(id) == null) { + throw exception(DISASTER_DATA_NOT_EXISTS); + } + } + + @Override + public DisasterDataDO getDisasterData(String id) { + return disasterDataMapper.selectById(id); + } + + @Override + public PageResult getDisasterDataPage(DisasterDataPageReqVO pageReqVO) { + return disasterDataMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/environmentindexconfig/EnvironmentIndexConfigService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/environmentindexconfig/EnvironmentIndexConfigService.java new file mode 100644 index 00000000..0efd53bb --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/environmentindexconfig/EnvironmentIndexConfigService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.environmentindexconfig; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.environmentindexconfig.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.environmentindexconfig.EnvironmentIndexConfigDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 环境指标配置 Service 接口 + * + * @author 芋道源码 + */ +public interface EnvironmentIndexConfigService { + + /** + * 创建环境指标配置 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createEnvironmentIndexConfig(@Valid EnvironmentIndexConfigSaveReqVO createReqVO); + + /** + * 更新环境指标配置 + * + * @param updateReqVO 更新信息 + */ + void updateEnvironmentIndexConfig(@Valid EnvironmentIndexConfigSaveReqVO updateReqVO); + + /** + * 删除环境指标配置 + * + * @param id 编号 + */ + void deleteEnvironmentIndexConfig(String id); + + /** + * 批量删除环境指标配置 + * + * @param ids 编号 + */ + void deleteEnvironmentIndexConfigListByIds(List ids); + + /** + * 获得环境指标配置 + * + * @param id 编号 + * @return 环境指标配置 + */ + EnvironmentIndexConfigDO getEnvironmentIndexConfig(String id); + + /** + * 获得环境指标配置分页 + * + * @param pageReqVO 分页查询 + * @return 环境指标配置分页 + */ + PageResult getEnvironmentIndexConfigPage(EnvironmentIndexConfigPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/environmentindexconfig/EnvironmentIndexConfigServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/environmentindexconfig/EnvironmentIndexConfigServiceImpl.java new file mode 100644 index 00000000..ca12965b --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/environmentindexconfig/EnvironmentIndexConfigServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.environmentindexconfig; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.environmentindexconfig.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.environmentindexconfig.EnvironmentIndexConfigDO; +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.module.farm.dal.mysql.environmentindexconfig.EnvironmentIndexConfigMapper; + +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.*; + +/** + * 环境指标配置 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class EnvironmentIndexConfigServiceImpl implements EnvironmentIndexConfigService { + + @Resource + private EnvironmentIndexConfigMapper environmentIndexConfigMapper; + + @Override + public String createEnvironmentIndexConfig(EnvironmentIndexConfigSaveReqVO createReqVO) { + // 插入 + EnvironmentIndexConfigDO environmentIndexConfig = BeanUtils.toBean(createReqVO, EnvironmentIndexConfigDO.class); + environmentIndexConfigMapper.insert(environmentIndexConfig); + + // 返回 + return environmentIndexConfig.getId(); + } + + @Override + public void updateEnvironmentIndexConfig(EnvironmentIndexConfigSaveReqVO updateReqVO) { + // 校验存在 + validateEnvironmentIndexConfigExists(updateReqVO.getId()); + // 更新 + EnvironmentIndexConfigDO updateObj = BeanUtils.toBean(updateReqVO, EnvironmentIndexConfigDO.class); + environmentIndexConfigMapper.updateById(updateObj); + } + + @Override + public void deleteEnvironmentIndexConfig(String id) { + // 校验存在 + validateEnvironmentIndexConfigExists(id); + // 删除 + environmentIndexConfigMapper.deleteById(id); + } + + @Override + public void deleteEnvironmentIndexConfigListByIds(List ids) { + // 删除 + environmentIndexConfigMapper.deleteByIds(ids); + } + + + private void validateEnvironmentIndexConfigExists(String id) { + if (environmentIndexConfigMapper.selectById(id) == null) { + throw exception(ENVIRONMENT_INDEX_CONFIG_NOT_EXISTS); + } + } + + @Override + public EnvironmentIndexConfigDO getEnvironmentIndexConfig(String id) { + return environmentIndexConfigMapper.selectById(id); + } + + @Override + public PageResult getEnvironmentIndexConfigPage(EnvironmentIndexConfigPageReqVO pageReqVO) { + return environmentIndexConfigMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingnamemaintenance/FarmingNameMaintenanceService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingnamemaintenance/FarmingNameMaintenanceService.java new file mode 100644 index 00000000..38ee958f --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingnamemaintenance/FarmingNameMaintenanceService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.farmingnamemaintenance; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.farmingnamemaintenance.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.farmingnamemaintenance.FarmingNameMaintenanceDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 农事名称维护 Service 接口 + * + * @author 芋道源码 + */ +public interface FarmingNameMaintenanceService { + + /** + * 创建农事名称维护 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createingNameMaintenance(@Valid FarmingNameMaintenanceSaveReqVO createReqVO); + + /** + * 更新农事名称维护 + * + * @param updateReqVO 更新信息 + */ + void updateingNameMaintenance(@Valid FarmingNameMaintenanceSaveReqVO updateReqVO); + + /** + * 删除农事名称维护 + * + * @param id 编号 + */ + void deleteingNameMaintenance(String id); + + /** + * 批量删除农事名称维护 + * + * @param ids 编号 + */ + void deleteingNameMaintenanceListByIds(List ids); + + /** + * 获得农事名称维护 + * + * @param id 编号 + * @return 农事名称维护 + */ + FarmingNameMaintenanceDO getingNameMaintenance(String id); + + /** + * 获得农事名称维护分页 + * + * @param pageReqVO 分页查询 + * @return 农事名称维护分页 + */ + PageResult getingNameMaintenancePage(FarmingNameMaintenancePageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingnamemaintenance/FarmingNameMaintenanceServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingnamemaintenance/FarmingNameMaintenanceServiceImpl.java new file mode 100644 index 00000000..e0cb0d19 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingnamemaintenance/FarmingNameMaintenanceServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.farmingnamemaintenance; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.farmingnamemaintenance.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.farmingnamemaintenance.FarmingNameMaintenanceDO; +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.module.farm.dal.mysql.farmingnamemaintenance.FarmingNameMaintenanceMapper; + +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.*; + +/** + * 农事名称维护 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class FarmingNameMaintenanceServiceImpl implements FarmingNameMaintenanceService { + + @Resource + private FarmingNameMaintenanceMapper ingNameMaintenanceMapper; + + @Override + public String createingNameMaintenance(FarmingNameMaintenanceSaveReqVO createReqVO) { + // 插入 + FarmingNameMaintenanceDO ingNameMaintenance = BeanUtils.toBean(createReqVO, FarmingNameMaintenanceDO.class); + ingNameMaintenanceMapper.insert(ingNameMaintenance); + + // 返回 + return ingNameMaintenance.getId(); + } + + @Override + public void updateingNameMaintenance(FarmingNameMaintenanceSaveReqVO updateReqVO) { + // 校验存在 + validateingNameMaintenanceExists(updateReqVO.getId()); + // 更新 + FarmingNameMaintenanceDO updateObj = BeanUtils.toBean(updateReqVO, FarmingNameMaintenanceDO.class); + ingNameMaintenanceMapper.updateById(updateObj); + } + + @Override + public void deleteingNameMaintenance(String id) { + // 校验存在 + validateingNameMaintenanceExists(id); + // 删除 + ingNameMaintenanceMapper.deleteById(id); + } + + @Override + public void deleteingNameMaintenanceListByIds(List ids) { + // 删除 + ingNameMaintenanceMapper.deleteByIds(ids); + } + + + private void validateingNameMaintenanceExists(String id) { + if (ingNameMaintenanceMapper.selectById(id) == null) { + throw exception(ING_NAME_MAINTENANCE_NOT_EXISTS); + } + } + + @Override + public FarmingNameMaintenanceDO getingNameMaintenance(String id) { + return ingNameMaintenanceMapper.selectById(id); + } + + @Override + public PageResult getingNameMaintenancePage(FarmingNameMaintenancePageReqVO pageReqVO) { + return ingNameMaintenanceMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecord/FarmingRecordService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecord/FarmingRecordService.java new file mode 100644 index 00000000..107d0bc2 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecord/FarmingRecordService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.farmingrecord; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.farmingrecord.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecord.FarmingRecordDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 种植中心-农事基地-农事记录 Service 接口 + * + * @author 芋道源码 + */ +public interface FarmingRecordService { + + /** + * 创建种植中心-农事基地-农事记录 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createingRecord(@Valid FarmingRecordSaveReqVO createReqVO); + + /** + * 更新种植中心-农事基地-农事记录 + * + * @param updateReqVO 更新信息 + */ + void updateingRecord(@Valid FarmingRecordSaveReqVO updateReqVO); + + /** + * 删除种植中心-农事基地-农事记录 + * + * @param id 编号 + */ + void deleteingRecord(String id); + + /** + * 批量删除种植中心-农事基地-农事记录 + * + * @param ids 编号 + */ + void deleteingRecordListByIds(List ids); + + /** + * 获得种植中心-农事基地-农事记录 + * + * @param id 编号 + * @return 种植中心-农事基地-农事记录 + */ + FarmingRecordDO getingRecord(String id); + + /** + * 获得种植中心-农事基地-农事记录分页 + * + * @param pageReqVO 分页查询 + * @return 种植中心-农事基地-农事记录分页 + */ + PageResult getingRecordPage(FarmingRecordPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecord/FarmingRecordServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecord/FarmingRecordServiceImpl.java new file mode 100644 index 00000000..feaf8e05 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecord/FarmingRecordServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.farmingrecord; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.farmingrecord.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecord.FarmingRecordDO; +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.module.farm.dal.mysql.farmingrecord.FarmingRecordMapper; + +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.*; + +/** + * 种植中心-农事基地-农事记录 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class FarmingRecordServiceImpl implements FarmingRecordService { + + @Resource + private FarmingRecordMapper ingRecordMapper; + + @Override + public String createingRecord(FarmingRecordSaveReqVO createReqVO) { + // 插入 + FarmingRecordDO ingRecord = BeanUtils.toBean(createReqVO, FarmingRecordDO.class); + ingRecordMapper.insert(ingRecord); + + // 返回 + return ingRecord.getId(); + } + + @Override + public void updateingRecord(FarmingRecordSaveReqVO updateReqVO) { + // 校验存在 + validateingRecordExists(updateReqVO.getId()); + // 更新 + FarmingRecordDO updateObj = BeanUtils.toBean(updateReqVO, FarmingRecordDO.class); + ingRecordMapper.updateById(updateObj); + } + + @Override + public void deleteingRecord(String id) { + // 校验存在 + validateingRecordExists(id); + // 删除 + ingRecordMapper.deleteById(id); + } + + @Override + public void deleteingRecordListByIds(List ids) { + // 删除 + ingRecordMapper.deleteByIds(ids); + } + + + private void validateingRecordExists(String id) { + if (ingRecordMapper.selectById(id) == null) { + throw exception(ING_RECORD_NOT_EXISTS); + } + } + + @Override + public FarmingRecordDO getingRecord(String id) { + return ingRecordMapper.selectById(id); + } + + @Override + public PageResult getingRecordPage(FarmingRecordPageReqVO pageReqVO) { + return ingRecordMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecordinput/FarmingRecordInputService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecordinput/FarmingRecordInputService.java new file mode 100644 index 00000000..a78c8674 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecordinput/FarmingRecordInputService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.farmingrecordinput; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.farmingrecordinput.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecordinput.FarmingRecordInputDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 种植中心-农事基地-农事记录-投入品 Service 接口 + * + * @author 芋道源码 + */ +public interface FarmingRecordInputService { + + /** + * 创建种植中心-农事基地-农事记录-投入品 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createingRecordInput(@Valid FarmingRecordInputSaveReqVO createReqVO); + + /** + * 更新种植中心-农事基地-农事记录-投入品 + * + * @param updateReqVO 更新信息 + */ + void updateingRecordInput(@Valid FarmingRecordInputSaveReqVO updateReqVO); + + /** + * 删除种植中心-农事基地-农事记录-投入品 + * + * @param id 编号 + */ + void deleteingRecordInput(String id); + + /** + * 批量删除种植中心-农事基地-农事记录-投入品 + * + * @param ids 编号 + */ + void deleteingRecordInputListByIds(List ids); + + /** + * 获得种植中心-农事基地-农事记录-投入品 + * + * @param id 编号 + * @return 种植中心-农事基地-农事记录-投入品 + */ + FarmingRecordInputDO getingRecordInput(String id); + + /** + * 获得种植中心-农事基地-农事记录-投入品分页 + * + * @param pageReqVO 分页查询 + * @return 种植中心-农事基地-农事记录-投入品分页 + */ + PageResult getingRecordInputPage(FarmingRecordInputPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecordinput/FarmingRecordInputServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecordinput/FarmingRecordInputServiceImpl.java new file mode 100644 index 00000000..f6abee79 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingrecordinput/FarmingRecordInputServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.farmingrecordinput; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.farmingrecordinput.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.farmingrecordinput.FarmingRecordInputDO; +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.module.farm.dal.mysql.farmingrecordinput.FarmingRecordInputMapper; + +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.*; + +/** + * 种植中心-农事基地-农事记录-投入品 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class FarmingRecordInputServiceImpl implements FarmingRecordInputService { + + @Resource + private FarmingRecordInputMapper ingRecordInputMapper; + + @Override + public String createingRecordInput(FarmingRecordInputSaveReqVO createReqVO) { + // 插入 + FarmingRecordInputDO ingRecordInput = BeanUtils.toBean(createReqVO, FarmingRecordInputDO.class); + ingRecordInputMapper.insert(ingRecordInput); + + // 返回 + return ingRecordInput.getId(); + } + + @Override + public void updateingRecordInput(FarmingRecordInputSaveReqVO updateReqVO) { + // 校验存在 + validateingRecordInputExists(updateReqVO.getId()); + // 更新 + FarmingRecordInputDO updateObj = BeanUtils.toBean(updateReqVO, FarmingRecordInputDO.class); + ingRecordInputMapper.updateById(updateObj); + } + + @Override + public void deleteingRecordInput(String id) { + // 校验存在 + validateingRecordInputExists(id); + // 删除 + ingRecordInputMapper.deleteById(id); + } + + @Override + public void deleteingRecordInputListByIds(List ids) { + // 删除 + ingRecordInputMapper.deleteByIds(ids); + } + + + private void validateingRecordInputExists(String id) { + if (ingRecordInputMapper.selectById(id) == null) { + throw exception(ING_RECORD_INPUT_NOT_EXISTS); + } + } + + @Override + public FarmingRecordInputDO getingRecordInput(String id) { + return ingRecordInputMapper.selectById(id); + } + + @Override + public PageResult getingRecordInputPage(FarmingRecordInputPageReqVO pageReqVO) { + return ingRecordInputMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingtypemaintenance/FarmingTypeMaintenanceService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingtypemaintenance/FarmingTypeMaintenanceService.java new file mode 100644 index 00000000..05eb2d06 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingtypemaintenance/FarmingTypeMaintenanceService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.farmingtypemaintenance; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.*; +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.PageParam; + +/** + * 农事类型维护 Service 接口 + * + * @author 芋道源码 + */ +public interface FarmingTypeMaintenanceService { + + /** + * 创建农事类型维护 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createingTypeMaintenance(@Valid FarmingTypeMaintenanceSaveReqVO createReqVO); + + /** + * 更新农事类型维护 + * + * @param updateReqVO 更新信息 + */ + void updateingTypeMaintenance(@Valid FarmingTypeMaintenanceSaveReqVO updateReqVO); + + /** + * 删除农事类型维护 + * + * @param id 编号 + */ + void deleteingTypeMaintenance(String id); + + /** + * 批量删除农事类型维护 + * + * @param ids 编号 + */ + void deleteingTypeMaintenanceListByIds(List ids); + + /** + * 获得农事类型维护 + * + * @param id 编号 + * @return 农事类型维护 + */ + FarmingTypeMaintenanceDO getingTypeMaintenance(String id); + + /** + * 获得农事类型维护分页 + * + * @param pageReqVO 分页查询 + * @return 农事类型维护分页 + */ + PageResult getingTypeMaintenancePage(FarmingTypeMaintenancePageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingtypemaintenance/FarmingTypeMaintenanceServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingtypemaintenance/FarmingTypeMaintenanceServiceImpl.java new file mode 100644 index 00000000..f716ef95 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farmingtypemaintenance/FarmingTypeMaintenanceServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.farmingtypemaintenance; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.farmingtypemaintenance.vo.*; +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.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + +import cn.iocoder.yudao.module.farm.dal.mysql.farmingtypemaintenance.FarmingTypeMaintenanceMapper; + +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.*; + +/** + * 农事类型维护 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class FarmingTypeMaintenanceServiceImpl implements FarmingTypeMaintenanceService { + + @Resource + private FarmingTypeMaintenanceMapper ingTypeMaintenanceMapper; + + @Override + public String createingTypeMaintenance(FarmingTypeMaintenanceSaveReqVO createReqVO) { + // 插入 + FarmingTypeMaintenanceDO ingTypeMaintenance = BeanUtils.toBean(createReqVO, FarmingTypeMaintenanceDO.class); + ingTypeMaintenanceMapper.insert(ingTypeMaintenance); + + // 返回 + return ingTypeMaintenance.getId(); + } + + @Override + public void updateingTypeMaintenance(FarmingTypeMaintenanceSaveReqVO updateReqVO) { + // 校验存在 + validateingTypeMaintenanceExists(updateReqVO.getId()); + // 更新 + FarmingTypeMaintenanceDO updateObj = BeanUtils.toBean(updateReqVO, FarmingTypeMaintenanceDO.class); + ingTypeMaintenanceMapper.updateById(updateObj); + } + + @Override + public void deleteingTypeMaintenance(String id) { + // 校验存在 + validateingTypeMaintenanceExists(id); + // 删除 + ingTypeMaintenanceMapper.deleteById(id); + } + + @Override + public void deleteingTypeMaintenanceListByIds(List ids) { + // 删除 + ingTypeMaintenanceMapper.deleteByIds(ids); + } + + + private void validateingTypeMaintenanceExists(String id) { + if (ingTypeMaintenanceMapper.selectById(id) == null) { + throw exception(ING_TYPE_MAINTENANCE_NOT_EXISTS); + } + } + + @Override + public FarmingTypeMaintenanceDO getingTypeMaintenance(String id) { + return ingTypeMaintenanceMapper.selectById(id); + } + + @Override + public PageResult getingTypeMaintenancePage(FarmingTypeMaintenancePageReqVO pageReqVO) { + return ingTypeMaintenanceMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/fertilizerindex/FertilizerIndexService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/fertilizerindex/FertilizerIndexService.java new file mode 100644 index 00000000..a7317cf4 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/fertilizerindex/FertilizerIndexService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.fertilizerindex; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.fertilizerindex.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.fertilizerindex.FertilizerIndexDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 化肥指标 Service 接口 + * + * @author 芋道源码 + */ +public interface FertilizerIndexService { + + /** + * 创建化肥指标 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createFertilizerIndex(@Valid FertilizerIndexSaveReqVO createReqVO); + + /** + * 更新化肥指标 + * + * @param updateReqVO 更新信息 + */ + void updateFertilizerIndex(@Valid FertilizerIndexSaveReqVO updateReqVO); + + /** + * 删除化肥指标 + * + * @param id 编号 + */ + void deleteFertilizerIndex(String id); + + /** + * 批量删除化肥指标 + * + * @param ids 编号 + */ + void deleteFertilizerIndexListByIds(List ids); + + /** + * 获得化肥指标 + * + * @param id 编号 + * @return 化肥指标 + */ + FertilizerIndexDO getFertilizerIndex(String id); + + /** + * 获得化肥指标分页 + * + * @param pageReqVO 分页查询 + * @return 化肥指标分页 + */ + PageResult getFertilizerIndexPage(FertilizerIndexPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/fertilizerindex/FertilizerIndexServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/fertilizerindex/FertilizerIndexServiceImpl.java new file mode 100644 index 00000000..9c4c79e9 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/fertilizerindex/FertilizerIndexServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.fertilizerindex; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.fertilizerindex.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.fertilizerindex.FertilizerIndexDO; +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.module.farm.dal.mysql.fertilizerindex.FertilizerIndexMapper; + +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.*; + +/** + * 化肥指标 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class FertilizerIndexServiceImpl implements FertilizerIndexService { + + @Resource + private FertilizerIndexMapper fertilizerIndexMapper; + + @Override + public String createFertilizerIndex(FertilizerIndexSaveReqVO createReqVO) { + // 插入 + FertilizerIndexDO fertilizerIndex = BeanUtils.toBean(createReqVO, FertilizerIndexDO.class); + fertilizerIndexMapper.insert(fertilizerIndex); + + // 返回 + return fertilizerIndex.getId(); + } + + @Override + public void updateFertilizerIndex(FertilizerIndexSaveReqVO updateReqVO) { + // 校验存在 + validateFertilizerIndexExists(updateReqVO.getId()); + // 更新 + FertilizerIndexDO updateObj = BeanUtils.toBean(updateReqVO, FertilizerIndexDO.class); + fertilizerIndexMapper.updateById(updateObj); + } + + @Override + public void deleteFertilizerIndex(String id) { + // 校验存在 + validateFertilizerIndexExists(id); + // 删除 + fertilizerIndexMapper.deleteById(id); + } + + @Override + public void deleteFertilizerIndexListByIds(List ids) { + // 删除 + fertilizerIndexMapper.deleteByIds(ids); + } + + + private void validateFertilizerIndexExists(String id) { + if (fertilizerIndexMapper.selectById(id) == null) { + throw exception(FERTILIZER_INDEX_NOT_EXISTS); + } + } + + @Override + public FertilizerIndexDO getFertilizerIndex(String id) { + return fertilizerIndexMapper.selectById(id); + } + + @Override + public PageResult getFertilizerIndexPage(FertilizerIndexPageReqVO pageReqVO) { + return fertilizerIndexMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/foundationinfo/FoundationInfoService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/foundationinfo/FoundationInfoService.java new file mode 100644 index 00000000..f195c699 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/foundationinfo/FoundationInfoService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.foundationinfo; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.foundationinfo.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.foundationinfo.FoundationInfoDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 基础信息 Service 接口 + * + * @author 芋道源码 + */ +public interface FoundationInfoService { + + /** + * 创建基础信息 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createFoundationInfo(@Valid FoundationInfoSaveReqVO createReqVO); + + /** + * 更新基础信息 + * + * @param updateReqVO 更新信息 + */ + void updateFoundationInfo(@Valid FoundationInfoSaveReqVO updateReqVO); + + /** + * 删除基础信息 + * + * @param id 编号 + */ + void deleteFoundationInfo(String id); + + /** + * 批量删除基础信息 + * + * @param ids 编号 + */ + void deleteFoundationInfoListByIds(List ids); + + /** + * 获得基础信息 + * + * @param id 编号 + * @return 基础信息 + */ + FoundationInfoDO getFoundationInfo(String id); + + /** + * 获得基础信息分页 + * + * @param pageReqVO 分页查询 + * @return 基础信息分页 + */ + PageResult getFoundationInfoPage(FoundationInfoPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/foundationinfo/FoundationInfoServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/foundationinfo/FoundationInfoServiceImpl.java new file mode 100644 index 00000000..fc27f2a7 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/foundationinfo/FoundationInfoServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.foundationinfo; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.foundationinfo.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.foundationinfo.FoundationInfoDO; +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.module.farm.dal.mysql.foundationinfo.FoundationInfoMapper; + +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.*; + +/** + * 基础信息 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class FoundationInfoServiceImpl implements FoundationInfoService { + + @Resource + private FoundationInfoMapper foundationInfoMapper; + + @Override + public String createFoundationInfo(FoundationInfoSaveReqVO createReqVO) { + // 插入 + FoundationInfoDO foundationInfo = BeanUtils.toBean(createReqVO, FoundationInfoDO.class); + foundationInfoMapper.insert(foundationInfo); + + // 返回 + return foundationInfo.getId(); + } + + @Override + public void updateFoundationInfo(FoundationInfoSaveReqVO updateReqVO) { + // 校验存在 + validateFoundationInfoExists(updateReqVO.getId()); + // 更新 + FoundationInfoDO updateObj = BeanUtils.toBean(updateReqVO, FoundationInfoDO.class); + foundationInfoMapper.updateById(updateObj); + } + + @Override + public void deleteFoundationInfo(String id) { + // 校验存在 + validateFoundationInfoExists(id); + // 删除 + foundationInfoMapper.deleteById(id); + } + + @Override + public void deleteFoundationInfoListByIds(List ids) { + // 删除 + foundationInfoMapper.deleteByIds(ids); + } + + + private void validateFoundationInfoExists(String id) { + if (foundationInfoMapper.selectById(id) == null) { + throw exception(FOUNDATION_INFO_NOT_EXISTS); + } + } + + @Override + public FoundationInfoDO getFoundationInfo(String id) { + return foundationInfoMapper.selectById(id); + } + + @Override + public PageResult getFoundationInfoPage(FoundationInfoPageReqVO pageReqVO) { + return foundationInfoMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/inputlibrary/InputLibraryService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/inputlibrary/InputLibraryService.java new file mode 100644 index 00000000..bab8196a --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/inputlibrary/InputLibraryService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.inputlibrary; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.inputlibrary.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.inputlibrary.InputLibraryDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 投入品库维护 Service 接口 + * + * @author 芋道源码 + */ +public interface InputLibraryService { + + /** + * 创建投入品库维护 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createInputLibrary(@Valid InputLibrarySaveReqVO createReqVO); + + /** + * 更新投入品库维护 + * + * @param updateReqVO 更新信息 + */ + void updateInputLibrary(@Valid InputLibrarySaveReqVO updateReqVO); + + /** + * 删除投入品库维护 + * + * @param id 编号 + */ + void deleteInputLibrary(String id); + + /** + * 批量删除投入品库维护 + * + * @param ids 编号 + */ + void deleteInputLibraryListByIds(List ids); + + /** + * 获得投入品库维护 + * + * @param id 编号 + * @return 投入品库维护 + */ + InputLibraryDO getInputLibrary(String id); + + /** + * 获得投入品库维护分页 + * + * @param pageReqVO 分页查询 + * @return 投入品库维护分页 + */ + PageResult getInputLibraryPage(InputLibraryPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/inputlibrary/InputLibraryServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/inputlibrary/InputLibraryServiceImpl.java new file mode 100644 index 00000000..2bbdca5f --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/inputlibrary/InputLibraryServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.inputlibrary; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.inputlibrary.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.inputlibrary.InputLibraryDO; +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.module.farm.dal.mysql.inputlibrary.InputLibraryMapper; + +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.*; + +/** + * 投入品库维护 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class InputLibraryServiceImpl implements InputLibraryService { + + @Resource + private InputLibraryMapper inputLibraryMapper; + + @Override + public String createInputLibrary(InputLibrarySaveReqVO createReqVO) { + // 插入 + InputLibraryDO inputLibrary = BeanUtils.toBean(createReqVO, InputLibraryDO.class); + inputLibraryMapper.insert(inputLibrary); + + // 返回 + return inputLibrary.getId(); + } + + @Override + public void updateInputLibrary(InputLibrarySaveReqVO updateReqVO) { + // 校验存在 + validateInputLibraryExists(updateReqVO.getId()); + // 更新 + InputLibraryDO updateObj = BeanUtils.toBean(updateReqVO, InputLibraryDO.class); + inputLibraryMapper.updateById(updateObj); + } + + @Override + public void deleteInputLibrary(String id) { + // 校验存在 + validateInputLibraryExists(id); + // 删除 + inputLibraryMapper.deleteById(id); + } + + @Override + public void deleteInputLibraryListByIds(List ids) { + // 删除 + inputLibraryMapper.deleteByIds(ids); + } + + + private void validateInputLibraryExists(String id) { + if (inputLibraryMapper.selectById(id) == null) { + throw exception(INPUT_LIBRARY_NOT_EXISTS); + } + } + + @Override + public InputLibraryDO getInputLibrary(String id) { + return inputLibraryMapper.selectById(id); + } + + @Override + public PageResult getInputLibraryPage(InputLibraryPageReqVO pageReqVO) { + return inputLibraryMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/messagecenter/MessageCenterService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/messagecenter/MessageCenterService.java new file mode 100644 index 00000000..bdc11feb --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/messagecenter/MessageCenterService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.messagecenter; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.messagecenter.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.messagecenter.MessageCenterDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 消息中心 Service 接口 + * + * @author 芋道源码 + */ +public interface MessageCenterService { + + /** + * 创建消息中心 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createMessageCenter(@Valid MessageCenterSaveReqVO createReqVO); + + /** + * 更新消息中心 + * + * @param updateReqVO 更新信息 + */ + void updateMessageCenter(@Valid MessageCenterSaveReqVO updateReqVO); + + /** + * 删除消息中心 + * + * @param id 编号 + */ + void deleteMessageCenter(String id); + + /** + * 批量删除消息中心 + * + * @param ids 编号 + */ + void deleteMessageCenterListByIds(List ids); + + /** + * 获得消息中心 + * + * @param id 编号 + * @return 消息中心 + */ + MessageCenterDO getMessageCenter(String id); + + /** + * 获得消息中心分页 + * + * @param pageReqVO 分页查询 + * @return 消息中心分页 + */ + PageResult getMessageCenterPage(MessageCenterPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/messagecenter/MessageCenterServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/messagecenter/MessageCenterServiceImpl.java new file mode 100644 index 00000000..c60304d7 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/messagecenter/MessageCenterServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.messagecenter; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.messagecenter.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.messagecenter.MessageCenterDO; +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.module.farm.dal.mysql.messagecenter.MessageCenterMapper; + +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.*; + +/** + * 消息中心 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class MessageCenterServiceImpl implements MessageCenterService { + + @Resource + private MessageCenterMapper messageCenterMapper; + + @Override + public String createMessageCenter(MessageCenterSaveReqVO createReqVO) { + // 插入 + MessageCenterDO messageCenter = BeanUtils.toBean(createReqVO, MessageCenterDO.class); + messageCenterMapper.insert(messageCenter); + + // 返回 + return messageCenter.getId(); + } + + @Override + public void updateMessageCenter(MessageCenterSaveReqVO updateReqVO) { + // 校验存在 + validateMessageCenterExists(updateReqVO.getId()); + // 更新 + MessageCenterDO updateObj = BeanUtils.toBean(updateReqVO, MessageCenterDO.class); + messageCenterMapper.updateById(updateObj); + } + + @Override + public void deleteMessageCenter(String id) { + // 校验存在 + validateMessageCenterExists(id); + // 删除 + messageCenterMapper.deleteById(id); + } + + @Override + public void deleteMessageCenterListByIds(List ids) { + // 删除 + messageCenterMapper.deleteByIds(ids); + } + + + private void validateMessageCenterExists(String id) { + if (messageCenterMapper.selectById(id) == null) { + throw exception(MESSAGE_CENTER_NOT_EXISTS); + } + } + + @Override + public MessageCenterDO getMessageCenter(String id) { + return messageCenterMapper.selectById(id); + } + + @Override + public PageResult getMessageCenterPage(MessageCenterPageReqVO pageReqVO) { + return messageCenterMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelcycle/ModelCycleService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelcycle/ModelCycleService.java new file mode 100644 index 00000000..ad0f5f94 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelcycle/ModelCycleService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.modelcycle; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.modelcycle.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.modelcycle.ModelCycleDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 模型管理-管理周期 Service 接口 + * + * @author 芋道源码 + */ +public interface ModelCycleService { + + /** + * 创建模型管理-管理周期 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createModelCycle(@Valid ModelCycleSaveReqVO createReqVO); + + /** + * 更新模型管理-管理周期 + * + * @param updateReqVO 更新信息 + */ + void updateModelCycle(@Valid ModelCycleSaveReqVO updateReqVO); + + /** + * 删除模型管理-管理周期 + * + * @param id 编号 + */ + void deleteModelCycle(String id); + + /** + * 批量删除模型管理-管理周期 + * + * @param ids 编号 + */ + void deleteModelCycleListByIds(List ids); + + /** + * 获得模型管理-管理周期 + * + * @param id 编号 + * @return 模型管理-管理周期 + */ + ModelCycleDO getModelCycle(String id); + + /** + * 获得模型管理-管理周期分页 + * + * @param pageReqVO 分页查询 + * @return 模型管理-管理周期分页 + */ + PageResult getModelCyclePage(ModelCyclePageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelcycle/ModelCycleServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelcycle/ModelCycleServiceImpl.java new file mode 100644 index 00000000..f2767937 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelcycle/ModelCycleServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.modelcycle; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.modelcycle.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.modelcycle.ModelCycleDO; +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.module.farm.dal.mysql.modelcycle.ModelCycleMapper; + +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.*; + +/** + * 模型管理-管理周期 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class ModelCycleServiceImpl implements ModelCycleService { + + @Resource + private ModelCycleMapper modelCycleMapper; + + @Override + public String createModelCycle(ModelCycleSaveReqVO createReqVO) { + // 插入 + ModelCycleDO modelCycle = BeanUtils.toBean(createReqVO, ModelCycleDO.class); + modelCycleMapper.insert(modelCycle); + + // 返回 + return modelCycle.getId(); + } + + @Override + public void updateModelCycle(ModelCycleSaveReqVO updateReqVO) { + // 校验存在 + validateModelCycleExists(updateReqVO.getId()); + // 更新 + ModelCycleDO updateObj = BeanUtils.toBean(updateReqVO, ModelCycleDO.class); + modelCycleMapper.updateById(updateObj); + } + + @Override + public void deleteModelCycle(String id) { + // 校验存在 + validateModelCycleExists(id); + // 删除 + modelCycleMapper.deleteById(id); + } + + @Override + public void deleteModelCycleListByIds(List ids) { + // 删除 + modelCycleMapper.deleteByIds(ids); + } + + + private void validateModelCycleExists(String id) { + if (modelCycleMapper.selectById(id) == null) { + throw exception(MODEL_CYCLE_NOT_EXISTS); + } + } + + @Override + public ModelCycleDO getModelCycle(String id) { + return modelCycleMapper.selectById(id); + } + + @Override + public PageResult getModelCyclePage(ModelCyclePageReqVO pageReqVO) { + return modelCycleMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelenvironmentindex/ModelEnvironmentIndexService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelenvironmentindex/ModelEnvironmentIndexService.java new file mode 100644 index 00000000..4aaec290 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelenvironmentindex/ModelEnvironmentIndexService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.modelenvironmentindex; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.modelenvironmentindex.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.modelenvironmentindex.ModelEnvironmentIndexDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 模型管理-环境指标 Service 接口 + * + * @author 芋道源码 + */ +public interface ModelEnvironmentIndexService { + + /** + * 创建模型管理-环境指标 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createModelEnvironmentIndex(@Valid ModelEnvironmentIndexSaveReqVO createReqVO); + + /** + * 更新模型管理-环境指标 + * + * @param updateReqVO 更新信息 + */ + void updateModelEnvironmentIndex(@Valid ModelEnvironmentIndexSaveReqVO updateReqVO); + + /** + * 删除模型管理-环境指标 + * + * @param id 编号 + */ + void deleteModelEnvironmentIndex(String id); + + /** + * 批量删除模型管理-环境指标 + * + * @param ids 编号 + */ + void deleteModelEnvironmentIndexListByIds(List ids); + + /** + * 获得模型管理-环境指标 + * + * @param id 编号 + * @return 模型管理-环境指标 + */ + ModelEnvironmentIndexDO getModelEnvironmentIndex(String id); + + /** + * 获得模型管理-环境指标分页 + * + * @param pageReqVO 分页查询 + * @return 模型管理-环境指标分页 + */ + PageResult getModelEnvironmentIndexPage(ModelEnvironmentIndexPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelenvironmentindex/ModelEnvironmentIndexServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelenvironmentindex/ModelEnvironmentIndexServiceImpl.java new file mode 100644 index 00000000..375a7a0f --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelenvironmentindex/ModelEnvironmentIndexServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.modelenvironmentindex; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.modelenvironmentindex.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.modelenvironmentindex.ModelEnvironmentIndexDO; +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.module.farm.dal.mysql.modelenvironmentindex.ModelEnvironmentIndexMapper; + +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.*; + +/** + * 模型管理-环境指标 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class ModelEnvironmentIndexServiceImpl implements ModelEnvironmentIndexService { + + @Resource + private ModelEnvironmentIndexMapper modelEnvironmentIndexMapper; + + @Override + public String createModelEnvironmentIndex(ModelEnvironmentIndexSaveReqVO createReqVO) { + // 插入 + ModelEnvironmentIndexDO modelEnvironmentIndex = BeanUtils.toBean(createReqVO, ModelEnvironmentIndexDO.class); + modelEnvironmentIndexMapper.insert(modelEnvironmentIndex); + + // 返回 + return modelEnvironmentIndex.getId(); + } + + @Override + public void updateModelEnvironmentIndex(ModelEnvironmentIndexSaveReqVO updateReqVO) { + // 校验存在 + validateModelEnvironmentIndexExists(updateReqVO.getId()); + // 更新 + ModelEnvironmentIndexDO updateObj = BeanUtils.toBean(updateReqVO, ModelEnvironmentIndexDO.class); + modelEnvironmentIndexMapper.updateById(updateObj); + } + + @Override + public void deleteModelEnvironmentIndex(String id) { + // 校验存在 + validateModelEnvironmentIndexExists(id); + // 删除 + modelEnvironmentIndexMapper.deleteById(id); + } + + @Override + public void deleteModelEnvironmentIndexListByIds(List ids) { + // 删除 + modelEnvironmentIndexMapper.deleteByIds(ids); + } + + + private void validateModelEnvironmentIndexExists(String id) { + if (modelEnvironmentIndexMapper.selectById(id) == null) { + throw exception(MODEL_ENVIRONMENT_INDEX_NOT_EXISTS); + } + } + + @Override + public ModelEnvironmentIndexDO getModelEnvironmentIndex(String id) { + return modelEnvironmentIndexMapper.selectById(id); + } + + @Override + public PageResult getModelEnvironmentIndexPage(ModelEnvironmentIndexPageReqVO pageReqVO) { + return modelEnvironmentIndexMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelfarmingoperation/ModelFarmingOperationService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelfarmingoperation/ModelFarmingOperationService.java new file mode 100644 index 00000000..79e6a4d0 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelfarmingoperation/ModelFarmingOperationService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.modelfarmingoperation; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperation.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperation.ModelFarmingOperationDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 模型管理-农事操作 Service 接口 + * + * @author 芋道源码 + */ +public interface ModelFarmingOperationService { + + /** + * 创建模型管理-农事操作 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createModelFarmingOperation(@Valid ModelFarmingOperationSaveReqVO createReqVO); + + /** + * 更新模型管理-农事操作 + * + * @param updateReqVO 更新信息 + */ + void updateModelFarmingOperation(@Valid ModelFarmingOperationSaveReqVO updateReqVO); + + /** + * 删除模型管理-农事操作 + * + * @param id 编号 + */ + void deleteModelFarmingOperation(String id); + + /** + * 批量删除模型管理-农事操作 + * + * @param ids 编号 + */ + void deleteModelFarmingOperationListByIds(List ids); + + /** + * 获得模型管理-农事操作 + * + * @param id 编号 + * @return 模型管理-农事操作 + */ + ModelFarmingOperationDO getModelFarmingOperation(String id); + + /** + * 获得模型管理-农事操作分页 + * + * @param pageReqVO 分页查询 + * @return 模型管理-农事操作分页 + */ + PageResult getModelFarmingOperationPage(ModelFarmingOperationPageReqVO pageReqVO); + +} \ 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 new file mode 100644 index 00000000..01a8cc23 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelfarmingoperation/ModelFarmingOperationServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.modelfarmingoperation; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperation.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperation.ModelFarmingOperationDO; +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.module.farm.dal.mysql.modelfarmingoperation.ModelFarmingOperationMapper; + +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.*; + +/** + * 模型管理-农事操作 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class ModelFarmingOperationServiceImpl implements ModelFarmingOperationService { + + @Resource + private ModelFarmingOperationMapper modelFarmingOperationMapper; + + @Override + public String createModelFarmingOperation(ModelFarmingOperationSaveReqVO createReqVO) { + // 插入 + ModelFarmingOperationDO modelFarmingOperation = BeanUtils.toBean(createReqVO, ModelFarmingOperationDO.class); + modelFarmingOperationMapper.insert(modelFarmingOperation); + + // 返回 + return modelFarmingOperation.getId(); + } + + @Override + public void updateModelFarmingOperation(ModelFarmingOperationSaveReqVO updateReqVO) { + // 校验存在 + validateModelFarmingOperationExists(updateReqVO.getId()); + // 更新 + ModelFarmingOperationDO updateObj = BeanUtils.toBean(updateReqVO, ModelFarmingOperationDO.class); + modelFarmingOperationMapper.updateById(updateObj); + } + + @Override + public void deleteModelFarmingOperation(String id) { + // 校验存在 + validateModelFarmingOperationExists(id); + // 删除 + modelFarmingOperationMapper.deleteById(id); + } + + @Override + public void deleteModelFarmingOperationListByIds(List ids) { + // 删除 + modelFarmingOperationMapper.deleteByIds(ids); + } + + + private void validateModelFarmingOperationExists(String id) { + if (modelFarmingOperationMapper.selectById(id) == null) { + throw exception(MODEL_FARMING_OPERATION_NOT_EXISTS); + } + } + + @Override + public ModelFarmingOperationDO getModelFarmingOperation(String id) { + return modelFarmingOperationMapper.selectById(id); + } + + @Override + public PageResult getModelFarmingOperationPage(ModelFarmingOperationPageReqVO pageReqVO) { + return modelFarmingOperationMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelfarmingoperationinput/ModelFarmingOperationInputService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelfarmingoperationinput/ModelFarmingOperationInputService.java new file mode 100644 index 00000000..a2927142 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelfarmingoperationinput/ModelFarmingOperationInputService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.modelfarmingoperationinput; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperationinput.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperationinput.ModelFarmingOperationInputDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 模型管理-农事操作-已选择投入品列 Service 接口 + * + * @author 芋道源码 + */ +public interface ModelFarmingOperationInputService { + + /** + * 创建模型管理-农事操作-已选择投入品列 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createModelFarmingOperationInput(@Valid ModelFarmingOperationInputSaveReqVO createReqVO); + + /** + * 更新模型管理-农事操作-已选择投入品列 + * + * @param updateReqVO 更新信息 + */ + void updateModelFarmingOperationInput(@Valid ModelFarmingOperationInputSaveReqVO updateReqVO); + + /** + * 删除模型管理-农事操作-已选择投入品列 + * + * @param id 编号 + */ + void deleteModelFarmingOperationInput(String id); + + /** + * 批量删除模型管理-农事操作-已选择投入品列 + * + * @param ids 编号 + */ + void deleteModelFarmingOperationInputListByIds(List ids); + + /** + * 获得模型管理-农事操作-已选择投入品列 + * + * @param id 编号 + * @return 模型管理-农事操作-已选择投入品列 + */ + ModelFarmingOperationInputDO getModelFarmingOperationInput(String id); + + /** + * 获得模型管理-农事操作-已选择投入品列分页 + * + * @param pageReqVO 分页查询 + * @return 模型管理-农事操作-已选择投入品列分页 + */ + PageResult getModelFarmingOperationInputPage(ModelFarmingOperationInputPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelfarmingoperationinput/ModelFarmingOperationInputServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelfarmingoperationinput/ModelFarmingOperationInputServiceImpl.java new file mode 100644 index 00000000..0d78c18f --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelfarmingoperationinput/ModelFarmingOperationInputServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.modelfarmingoperationinput; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.modelfarmingoperationinput.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.modelfarmingoperationinput.ModelFarmingOperationInputDO; +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.module.farm.dal.mysql.modelfarmingoperationinput.ModelFarmingOperationInputMapper; + +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.*; + +/** + * 模型管理-农事操作-已选择投入品列 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class ModelFarmingOperationInputServiceImpl implements ModelFarmingOperationInputService { + + @Resource + private ModelFarmingOperationInputMapper modelFarmingOperationInputMapper; + + @Override + public String createModelFarmingOperationInput(ModelFarmingOperationInputSaveReqVO createReqVO) { + // 插入 + ModelFarmingOperationInputDO modelFarmingOperationInput = BeanUtils.toBean(createReqVO, ModelFarmingOperationInputDO.class); + modelFarmingOperationInputMapper.insert(modelFarmingOperationInput); + + // 返回 + return modelFarmingOperationInput.getId(); + } + + @Override + public void updateModelFarmingOperationInput(ModelFarmingOperationInputSaveReqVO updateReqVO) { + // 校验存在 + validateModelFarmingOperationInputExists(updateReqVO.getId()); + // 更新 + ModelFarmingOperationInputDO updateObj = BeanUtils.toBean(updateReqVO, ModelFarmingOperationInputDO.class); + modelFarmingOperationInputMapper.updateById(updateObj); + } + + @Override + public void deleteModelFarmingOperationInput(String id) { + // 校验存在 + validateModelFarmingOperationInputExists(id); + // 删除 + modelFarmingOperationInputMapper.deleteById(id); + } + + @Override + public void deleteModelFarmingOperationInputListByIds(List ids) { + // 删除 + modelFarmingOperationInputMapper.deleteByIds(ids); + } + + + private void validateModelFarmingOperationInputExists(String id) { + if (modelFarmingOperationInputMapper.selectById(id) == null) { + throw exception(MODEL_FARMING_OPERATION_INPUT_NOT_EXISTS); + } + } + + @Override + public ModelFarmingOperationInputDO getModelFarmingOperationInput(String id) { + return modelFarmingOperationInputMapper.selectById(id); + } + + @Override + public PageResult getModelFarmingOperationInputPage(ModelFarmingOperationInputPageReqVO pageReqVO) { + return modelFarmingOperationInputMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelpestdiseaseweed/ModelPestDiseaseWeedService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelpestdiseaseweed/ModelPestDiseaseWeedService.java new file mode 100644 index 00000000..9dcc052a --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelpestdiseaseweed/ModelPestDiseaseWeedService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.modelpestdiseaseweed; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.modelpestdiseaseweed.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.modelpestdiseaseweed.ModelPestDiseaseWeedDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 模型管理-病虫草害 Service 接口 + * + * @author 芋道源码 + */ +public interface ModelPestDiseaseWeedService { + + /** + * 创建模型管理-病虫草害 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createModelPestDiseaseWeed(@Valid ModelPestDiseaseWeedSaveReqVO createReqVO); + + /** + * 更新模型管理-病虫草害 + * + * @param updateReqVO 更新信息 + */ + void updateModelPestDiseaseWeed(@Valid ModelPestDiseaseWeedSaveReqVO updateReqVO); + + /** + * 删除模型管理-病虫草害 + * + * @param id 编号 + */ + void deleteModelPestDiseaseWeed(String id); + + /** + * 批量删除模型管理-病虫草害 + * + * @param ids 编号 + */ + void deleteModelPestDiseaseWeedListByIds(List ids); + + /** + * 获得模型管理-病虫草害 + * + * @param id 编号 + * @return 模型管理-病虫草害 + */ + ModelPestDiseaseWeedDO getModelPestDiseaseWeed(String id); + + /** + * 获得模型管理-病虫草害分页 + * + * @param pageReqVO 分页查询 + * @return 模型管理-病虫草害分页 + */ + PageResult getModelPestDiseaseWeedPage(ModelPestDiseaseWeedPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelpestdiseaseweed/ModelPestDiseaseWeedServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelpestdiseaseweed/ModelPestDiseaseWeedServiceImpl.java new file mode 100644 index 00000000..6af510da --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelpestdiseaseweed/ModelPestDiseaseWeedServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.modelpestdiseaseweed; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.modelpestdiseaseweed.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.modelpestdiseaseweed.ModelPestDiseaseWeedDO; +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.module.farm.dal.mysql.modelpestdiseaseweed.ModelPestDiseaseWeedMapper; + +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.*; + +/** + * 模型管理-病虫草害 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class ModelPestDiseaseWeedServiceImpl implements ModelPestDiseaseWeedService { + + @Resource + private ModelPestDiseaseWeedMapper modelPestDiseaseWeedMapper; + + @Override + public String createModelPestDiseaseWeed(ModelPestDiseaseWeedSaveReqVO createReqVO) { + // 插入 + ModelPestDiseaseWeedDO modelPestDiseaseWeed = BeanUtils.toBean(createReqVO, ModelPestDiseaseWeedDO.class); + modelPestDiseaseWeedMapper.insert(modelPestDiseaseWeed); + + // 返回 + return modelPestDiseaseWeed.getId(); + } + + @Override + public void updateModelPestDiseaseWeed(ModelPestDiseaseWeedSaveReqVO updateReqVO) { + // 校验存在 + validateModelPestDiseaseWeedExists(updateReqVO.getId()); + // 更新 + ModelPestDiseaseWeedDO updateObj = BeanUtils.toBean(updateReqVO, ModelPestDiseaseWeedDO.class); + modelPestDiseaseWeedMapper.updateById(updateObj); + } + + @Override + public void deleteModelPestDiseaseWeed(String id) { + // 校验存在 + validateModelPestDiseaseWeedExists(id); + // 删除 + modelPestDiseaseWeedMapper.deleteById(id); + } + + @Override + public void deleteModelPestDiseaseWeedListByIds(List ids) { + // 删除 + modelPestDiseaseWeedMapper.deleteByIds(ids); + } + + + private void validateModelPestDiseaseWeedExists(String id) { + if (modelPestDiseaseWeedMapper.selectById(id) == null) { + throw exception(MODEL_PEST_DISEASE_WEED_NOT_EXISTS); + } + } + + @Override + public ModelPestDiseaseWeedDO getModelPestDiseaseWeed(String id) { + return modelPestDiseaseWeedMapper.selectById(id); + } + + @Override + public PageResult getModelPestDiseaseWeedPage(ModelPestDiseaseWeedPageReqVO pageReqVO) { + return modelPestDiseaseWeedMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelweatherdisaster/ModelWeatherDisasterService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelweatherdisaster/ModelWeatherDisasterService.java new file mode 100644 index 00000000..ac6664d6 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelweatherdisaster/ModelWeatherDisasterService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.modelweatherdisaster; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.modelweatherdisaster.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.modelweatherdisaster.ModelWeatherDisasterDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 模型管理-气象灾害 Service 接口 + * + * @author 芋道源码 + */ +public interface ModelWeatherDisasterService { + + /** + * 创建模型管理-气象灾害 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createModelWeatherDisaster(@Valid ModelWeatherDisasterSaveReqVO createReqVO); + + /** + * 更新模型管理-气象灾害 + * + * @param updateReqVO 更新信息 + */ + void updateModelWeatherDisaster(@Valid ModelWeatherDisasterSaveReqVO updateReqVO); + + /** + * 删除模型管理-气象灾害 + * + * @param id 编号 + */ + void deleteModelWeatherDisaster(String id); + + /** + * 批量删除模型管理-气象灾害 + * + * @param ids 编号 + */ + void deleteModelWeatherDisasterListByIds(List ids); + + /** + * 获得模型管理-气象灾害 + * + * @param id 编号 + * @return 模型管理-气象灾害 + */ + ModelWeatherDisasterDO getModelWeatherDisaster(String id); + + /** + * 获得模型管理-气象灾害分页 + * + * @param pageReqVO 分页查询 + * @return 模型管理-气象灾害分页 + */ + PageResult getModelWeatherDisasterPage(ModelWeatherDisasterPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelweatherdisaster/ModelWeatherDisasterServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelweatherdisaster/ModelWeatherDisasterServiceImpl.java new file mode 100644 index 00000000..ba183d32 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/modelweatherdisaster/ModelWeatherDisasterServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.modelweatherdisaster; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.modelweatherdisaster.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.modelweatherdisaster.ModelWeatherDisasterDO; +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.module.farm.dal.mysql.modelweatherdisaster.ModelWeatherDisasterMapper; + +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.*; + +/** + * 模型管理-气象灾害 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class ModelWeatherDisasterServiceImpl implements ModelWeatherDisasterService { + + @Resource + private ModelWeatherDisasterMapper modelWeatherDisasterMapper; + + @Override + public String createModelWeatherDisaster(ModelWeatherDisasterSaveReqVO createReqVO) { + // 插入 + ModelWeatherDisasterDO modelWeatherDisaster = BeanUtils.toBean(createReqVO, ModelWeatherDisasterDO.class); + modelWeatherDisasterMapper.insert(modelWeatherDisaster); + + // 返回 + return modelWeatherDisaster.getId(); + } + + @Override + public void updateModelWeatherDisaster(ModelWeatherDisasterSaveReqVO updateReqVO) { + // 校验存在 + validateModelWeatherDisasterExists(updateReqVO.getId()); + // 更新 + ModelWeatherDisasterDO updateObj = BeanUtils.toBean(updateReqVO, ModelWeatherDisasterDO.class); + modelWeatherDisasterMapper.updateById(updateObj); + } + + @Override + public void deleteModelWeatherDisaster(String id) { + // 校验存在 + validateModelWeatherDisasterExists(id); + // 删除 + modelWeatherDisasterMapper.deleteById(id); + } + + @Override + public void deleteModelWeatherDisasterListByIds(List ids) { + // 删除 + modelWeatherDisasterMapper.deleteByIds(ids); + } + + + private void validateModelWeatherDisasterExists(String id) { + if (modelWeatherDisasterMapper.selectById(id) == null) { + throw exception(MODEL_WEATHER_DISASTER_NOT_EXISTS); + } + } + + @Override + public ModelWeatherDisasterDO getModelWeatherDisaster(String id) { + return modelWeatherDisasterMapper.selectById(id); + } + + @Override + public PageResult getModelWeatherDisasterPage(ModelWeatherDisasterPageReqVO pageReqVO) { + return modelWeatherDisasterMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file 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 new file mode 100644 index 00000000..39ee0c82 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/personnelmanagement/PersonnelManagementService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.personnelmanagement; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.personnelmanagement.vo.*; +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; + +/** + * 人员管理 Service 接口 + * + * @author 芋道源码 + */ +public interface PersonnelManagementService { + + /** + * 创建人员管理 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createPersonnelManagement(@Valid PersonnelManagementSaveReqVO createReqVO); + + /** + * 更新人员管理 + * + * @param updateReqVO 更新信息 + */ + void updatePersonnelManagement(@Valid PersonnelManagementSaveReqVO updateReqVO); + + /** + * 删除人员管理 + * + * @param id 编号 + */ + void deletePersonnelManagement(String id); + + /** + * 批量删除人员管理 + * + * @param ids 编号 + */ + void deletePersonnelManagementListByIds(List ids); + + /** + * 获得人员管理 + * + * @param id 编号 + * @return 人员管理 + */ + PersonnelManagementDO getPersonnelManagement(String id); + + /** + * 获得人员管理分页 + * + * @param pageReqVO 分页查询 + * @return 人员管理分页 + */ + PageResult getPersonnelManagementPage(PersonnelManagementPageReqVO pageReqVO); + +} \ 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 new file mode 100644 index 00000000..45fb4abc --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/personnelmanagement/PersonnelManagementServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.personnelmanagement; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.personnelmanagement.vo.*; +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 cn.iocoder.yudao.framework.common.util.object.BeanUtils; + +import cn.iocoder.yudao.module.farm.dal.mysql.personnelmanagement.PersonnelManagementMapper; + +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.*; + +/** + * 人员管理 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class PersonnelManagementServiceImpl implements PersonnelManagementService { + + @Resource + private PersonnelManagementMapper personnelManagementMapper; + + @Override + public String createPersonnelManagement(PersonnelManagementSaveReqVO createReqVO) { + // 插入 + PersonnelManagementDO personnelManagement = BeanUtils.toBean(createReqVO, PersonnelManagementDO.class); + personnelManagementMapper.insert(personnelManagement); + + // 返回 + return personnelManagement.getId(); + } + + @Override + public void updatePersonnelManagement(PersonnelManagementSaveReqVO updateReqVO) { + // 校验存在 + validatePersonnelManagementExists(updateReqVO.getId()); + // 更新 + PersonnelManagementDO updateObj = BeanUtils.toBean(updateReqVO, PersonnelManagementDO.class); + personnelManagementMapper.updateById(updateObj); + } + + @Override + public void deletePersonnelManagement(String id) { + // 校验存在 + validatePersonnelManagementExists(id); + // 删除 + personnelManagementMapper.deleteById(id); + } + + @Override + public void deletePersonnelManagementListByIds(List ids) { + // 删除 + personnelManagementMapper.deleteByIds(ids); + } + + + private void validatePersonnelManagementExists(String id) { + if (personnelManagementMapper.selectById(id) == null) { + throw exception(PERSONNEL_MANAGEMENT_NOT_EXISTS); + } + } + + @Override + public PersonnelManagementDO getPersonnelManagement(String id) { + return personnelManagementMapper.selectById(id); + } + + @Override + public PageResult getPersonnelManagementPage(PersonnelManagementPageReqVO pageReqVO) { + return personnelManagementMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/pestdiseaseweedlibrary/PestDiseaseWeedLibraryService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/pestdiseaseweedlibrary/PestDiseaseWeedLibraryService.java new file mode 100644 index 00000000..014b4a07 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/pestdiseaseweedlibrary/PestDiseaseWeedLibraryService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.pestdiseaseweedlibrary; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.pestdiseaseweedlibrary.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.pestdiseaseweedlibrary.PestDiseaseWeedLibraryDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 病虫草害库维护 Service 接口 + * + * @author 芋道源码 + */ +public interface PestDiseaseWeedLibraryService { + + /** + * 创建病虫草害库维护 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createPestDiseaseWeedLibrary(@Valid PestDiseaseWeedLibrarySaveReqVO createReqVO); + + /** + * 更新病虫草害库维护 + * + * @param updateReqVO 更新信息 + */ + void updatePestDiseaseWeedLibrary(@Valid PestDiseaseWeedLibrarySaveReqVO updateReqVO); + + /** + * 删除病虫草害库维护 + * + * @param id 编号 + */ + void deletePestDiseaseWeedLibrary(String id); + + /** + * 批量删除病虫草害库维护 + * + * @param ids 编号 + */ + void deletePestDiseaseWeedLibraryListByIds(List ids); + + /** + * 获得病虫草害库维护 + * + * @param id 编号 + * @return 病虫草害库维护 + */ + PestDiseaseWeedLibraryDO getPestDiseaseWeedLibrary(String id); + + /** + * 获得病虫草害库维护分页 + * + * @param pageReqVO 分页查询 + * @return 病虫草害库维护分页 + */ + PageResult getPestDiseaseWeedLibraryPage(PestDiseaseWeedLibraryPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/pestdiseaseweedlibrary/PestDiseaseWeedLibraryServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/pestdiseaseweedlibrary/PestDiseaseWeedLibraryServiceImpl.java new file mode 100644 index 00000000..bb9fcb75 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/pestdiseaseweedlibrary/PestDiseaseWeedLibraryServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.pestdiseaseweedlibrary; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.pestdiseaseweedlibrary.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.pestdiseaseweedlibrary.PestDiseaseWeedLibraryDO; +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.module.farm.dal.mysql.pestdiseaseweedlibrary.PestDiseaseWeedLibraryMapper; + +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.*; + +/** + * 病虫草害库维护 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class PestDiseaseWeedLibraryServiceImpl implements PestDiseaseWeedLibraryService { + + @Resource + private PestDiseaseWeedLibraryMapper pestDiseaseWeedLibraryMapper; + + @Override + public String createPestDiseaseWeedLibrary(PestDiseaseWeedLibrarySaveReqVO createReqVO) { + // 插入 + PestDiseaseWeedLibraryDO pestDiseaseWeedLibrary = BeanUtils.toBean(createReqVO, PestDiseaseWeedLibraryDO.class); + pestDiseaseWeedLibraryMapper.insert(pestDiseaseWeedLibrary); + + // 返回 + return pestDiseaseWeedLibrary.getId(); + } + + @Override + public void updatePestDiseaseWeedLibrary(PestDiseaseWeedLibrarySaveReqVO updateReqVO) { + // 校验存在 + validatePestDiseaseWeedLibraryExists(updateReqVO.getId()); + // 更新 + PestDiseaseWeedLibraryDO updateObj = BeanUtils.toBean(updateReqVO, PestDiseaseWeedLibraryDO.class); + pestDiseaseWeedLibraryMapper.updateById(updateObj); + } + + @Override + public void deletePestDiseaseWeedLibrary(String id) { + // 校验存在 + validatePestDiseaseWeedLibraryExists(id); + // 删除 + pestDiseaseWeedLibraryMapper.deleteById(id); + } + + @Override + public void deletePestDiseaseWeedLibraryListByIds(List ids) { + // 删除 + pestDiseaseWeedLibraryMapper.deleteByIds(ids); + } + + + private void validatePestDiseaseWeedLibraryExists(String id) { + if (pestDiseaseWeedLibraryMapper.selectById(id) == null) { + throw exception(PEST_DISEASE_WEED_LIBRARY_NOT_EXISTS); + } + } + + @Override + public PestDiseaseWeedLibraryDO getPestDiseaseWeedLibrary(String id) { + return pestDiseaseWeedLibraryMapper.selectById(id); + } + + @Override + public PageResult getPestDiseaseWeedLibraryPage(PestDiseaseWeedLibraryPageReqVO pageReqVO) { + return pestDiseaseWeedLibraryMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/pesticideresidueindex/PesticideResidueIndexService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/pesticideresidueindex/PesticideResidueIndexService.java new file mode 100644 index 00000000..dcc51dc4 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/pesticideresidueindex/PesticideResidueIndexService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.pesticideresidueindex; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.pesticideresidueindex.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.pesticideresidueindex.PesticideResidueIndexDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 农残指标 Service 接口 + * + * @author 芋道源码 + */ +public interface PesticideResidueIndexService { + + /** + * 创建农残指标 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createPesticideResidueIndex(@Valid PesticideResidueIndexSaveReqVO createReqVO); + + /** + * 更新农残指标 + * + * @param updateReqVO 更新信息 + */ + void updatePesticideResidueIndex(@Valid PesticideResidueIndexSaveReqVO updateReqVO); + + /** + * 删除农残指标 + * + * @param id 编号 + */ + void deletePesticideResidueIndex(String id); + + /** + * 批量删除农残指标 + * + * @param ids 编号 + */ + void deletePesticideResidueIndexListByIds(List ids); + + /** + * 获得农残指标 + * + * @param id 编号 + * @return 农残指标 + */ + PesticideResidueIndexDO getPesticideResidueIndex(String id); + + /** + * 获得农残指标分页 + * + * @param pageReqVO 分页查询 + * @return 农残指标分页 + */ + PageResult getPesticideResidueIndexPage(PesticideResidueIndexPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/pesticideresidueindex/PesticideResidueIndexServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/pesticideresidueindex/PesticideResidueIndexServiceImpl.java new file mode 100644 index 00000000..94784003 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/pesticideresidueindex/PesticideResidueIndexServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.pesticideresidueindex; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.pesticideresidueindex.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.pesticideresidueindex.PesticideResidueIndexDO; +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.module.farm.dal.mysql.pesticideresidueindex.PesticideResidueIndexMapper; + +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.*; + +/** + * 农残指标 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class PesticideResidueIndexServiceImpl implements PesticideResidueIndexService { + + @Resource + private PesticideResidueIndexMapper pesticideResidueIndexMapper; + + @Override + public String createPesticideResidueIndex(PesticideResidueIndexSaveReqVO createReqVO) { + // 插入 + PesticideResidueIndexDO pesticideResidueIndex = BeanUtils.toBean(createReqVO, PesticideResidueIndexDO.class); + pesticideResidueIndexMapper.insert(pesticideResidueIndex); + + // 返回 + return pesticideResidueIndex.getId(); + } + + @Override + public void updatePesticideResidueIndex(PesticideResidueIndexSaveReqVO updateReqVO) { + // 校验存在 + validatePesticideResidueIndexExists(updateReqVO.getId()); + // 更新 + PesticideResidueIndexDO updateObj = BeanUtils.toBean(updateReqVO, PesticideResidueIndexDO.class); + pesticideResidueIndexMapper.updateById(updateObj); + } + + @Override + public void deletePesticideResidueIndex(String id) { + // 校验存在 + validatePesticideResidueIndexExists(id); + // 删除 + pesticideResidueIndexMapper.deleteById(id); + } + + @Override + public void deletePesticideResidueIndexListByIds(List ids) { + // 删除 + pesticideResidueIndexMapper.deleteByIds(ids); + } + + + private void validatePesticideResidueIndexExists(String id) { + if (pesticideResidueIndexMapper.selectById(id) == null) { + throw exception(PESTICIDE_RESIDUE_INDEX_NOT_EXISTS); + } + } + + @Override + public PesticideResidueIndexDO getPesticideResidueIndex(String id) { + return pesticideResidueIndexMapper.selectById(id); + } + + @Override + public PageResult getPesticideResidueIndexPage(PesticideResidueIndexPageReqVO pageReqVO) { + return pesticideResidueIndexMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/plotinfo/PlotInfoService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/plotinfo/PlotInfoService.java new file mode 100644 index 00000000..8d108fd1 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/plotinfo/PlotInfoService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.plotinfo; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.plotinfo.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.plotinfo.PlotInfoDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 地块 Service 接口 + * + * @author 芋道源码 + */ +public interface PlotInfoService { + + /** + * 创建地块 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createPlotInfo(@Valid PlotInfoSaveReqVO createReqVO); + + /** + * 更新地块 + * + * @param updateReqVO 更新信息 + */ + void updatePlotInfo(@Valid PlotInfoSaveReqVO updateReqVO); + + /** + * 删除地块 + * + * @param id 编号 + */ + void deletePlotInfo(String id); + + /** + * 批量删除地块 + * + * @param ids 编号 + */ + void deletePlotInfoListByIds(List ids); + + /** + * 获得地块 + * + * @param id 编号 + * @return 地块 + */ + PlotInfoDO getPlotInfo(String id); + + /** + * 获得地块分页 + * + * @param pageReqVO 分页查询 + * @return 地块分页 + */ + PageResult getPlotInfoPage(PlotInfoPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/plotinfo/PlotInfoServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/plotinfo/PlotInfoServiceImpl.java new file mode 100644 index 00000000..d68269d0 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/plotinfo/PlotInfoServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.plotinfo; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.plotinfo.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.plotinfo.PlotInfoDO; +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.module.farm.dal.mysql.plotinfo.PlotInfoMapper; + +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.*; + +/** + * 地块 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class PlotInfoServiceImpl implements PlotInfoService { + + @Resource + private PlotInfoMapper plotInfoMapper; + + @Override + public String createPlotInfo(PlotInfoSaveReqVO createReqVO) { + // 插入 + PlotInfoDO plotInfo = BeanUtils.toBean(createReqVO, PlotInfoDO.class); + plotInfoMapper.insert(plotInfo); + + // 返回 + return plotInfo.getId(); + } + + @Override + public void updatePlotInfo(PlotInfoSaveReqVO updateReqVO) { + // 校验存在 + validatePlotInfoExists(updateReqVO.getId()); + // 更新 + PlotInfoDO updateObj = BeanUtils.toBean(updateReqVO, PlotInfoDO.class); + plotInfoMapper.updateById(updateObj); + } + + @Override + public void deletePlotInfo(String id) { + // 校验存在 + validatePlotInfoExists(id); + // 删除 + plotInfoMapper.deleteById(id); + } + + @Override + public void deletePlotInfoListByIds(List ids) { + // 删除 + plotInfoMapper.deleteByIds(ids); + } + + + private void validatePlotInfoExists(String id) { + if (plotInfoMapper.selectById(id) == null) { + throw exception(PLOT_INFO_NOT_EXISTS); + } + } + + @Override + public PlotInfoDO getPlotInfo(String id) { + return plotInfoMapper.selectById(id); + } + + @Override + public PageResult getPlotInfoPage(PlotInfoPageReqVO pageReqVO) { + return plotInfoMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/productionplan/ProductionPlanService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/productionplan/ProductionPlanService.java new file mode 100644 index 00000000..28a56b67 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/productionplan/ProductionPlanService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.productionplan; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.productionplan.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.productionplan.ProductionPlanDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 种植中心-生产计划-生产计划 Service 接口 + * + * @author 芋道源码 + */ +public interface ProductionPlanService { + + /** + * 创建种植中心-生产计划-生产计划 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createProductionPlan(@Valid ProductionPlanSaveReqVO createReqVO); + + /** + * 更新种植中心-生产计划-生产计划 + * + * @param updateReqVO 更新信息 + */ + void updateProductionPlan(@Valid ProductionPlanSaveReqVO updateReqVO); + + /** + * 删除种植中心-生产计划-生产计划 + * + * @param id 编号 + */ + void deleteProductionPlan(String id); + + /** + * 批量删除种植中心-生产计划-生产计划 + * + * @param ids 编号 + */ + void deleteProductionPlanListByIds(List ids); + + /** + * 获得种植中心-生产计划-生产计划 + * + * @param id 编号 + * @return 种植中心-生产计划-生产计划 + */ + ProductionPlanDO getProductionPlan(String id); + + /** + * 获得种植中心-生产计划-生产计划分页 + * + * @param pageReqVO 分页查询 + * @return 种植中心-生产计划-生产计划分页 + */ + PageResult getProductionPlanPage(ProductionPlanPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/productionplan/ProductionPlanServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/productionplan/ProductionPlanServiceImpl.java new file mode 100644 index 00000000..7e11a15e --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/productionplan/ProductionPlanServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.productionplan; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.productionplan.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.productionplan.ProductionPlanDO; +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.module.farm.dal.mysql.productionplan.ProductionPlanMapper; + +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.*; + +/** + * 种植中心-生产计划-生产计划 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class ProductionPlanServiceImpl implements ProductionPlanService { + + @Resource + private ProductionPlanMapper productionPlanMapper; + + @Override + public String createProductionPlan(ProductionPlanSaveReqVO createReqVO) { + // 插入 + ProductionPlanDO productionPlan = BeanUtils.toBean(createReqVO, ProductionPlanDO.class); + productionPlanMapper.insert(productionPlan); + + // 返回 + return productionPlan.getId(); + } + + @Override + public void updateProductionPlan(ProductionPlanSaveReqVO updateReqVO) { + // 校验存在 + validateProductionPlanExists(updateReqVO.getId()); + // 更新 + ProductionPlanDO updateObj = BeanUtils.toBean(updateReqVO, ProductionPlanDO.class); + productionPlanMapper.updateById(updateObj); + } + + @Override + public void deleteProductionPlan(String id) { + // 校验存在 + validateProductionPlanExists(id); + // 删除 + productionPlanMapper.deleteById(id); + } + + @Override + public void deleteProductionPlanListByIds(List ids) { + // 删除 + productionPlanMapper.deleteByIds(ids); + } + + + private void validateProductionPlanExists(String id) { + if (productionPlanMapper.selectById(id) == null) { + throw exception(PRODUCTION_PLAN_NOT_EXISTS); + } + } + + @Override + public ProductionPlanDO getProductionPlan(String id) { + return productionPlanMapper.selectById(id); + } + + @Override + public PageResult getProductionPlanPage(ProductionPlanPageReqVO pageReqVO) { + return productionPlanMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/productmanagement/ProductManagementService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/productmanagement/ProductManagementService.java new file mode 100644 index 00000000..043f995c --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/productmanagement/ProductManagementService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.productmanagement; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.productmanagement.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.productmanagement.ProductManagementDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 商品管理 Service 接口 + * + * @author 芋道源码 + */ +public interface ProductManagementService { + + /** + * 创建商品管理 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createProductManagement(@Valid ProductManagementSaveReqVO createReqVO); + + /** + * 更新商品管理 + * + * @param updateReqVO 更新信息 + */ + void updateProductManagement(@Valid ProductManagementSaveReqVO updateReqVO); + + /** + * 删除商品管理 + * + * @param id 编号 + */ + void deleteProductManagement(String id); + + /** + * 批量删除商品管理 + * + * @param ids 编号 + */ + void deleteProductManagementListByIds(List ids); + + /** + * 获得商品管理 + * + * @param id 编号 + * @return 商品管理 + */ + ProductManagementDO getProductManagement(String id); + + /** + * 获得商品管理分页 + * + * @param pageReqVO 分页查询 + * @return 商品管理分页 + */ + PageResult getProductManagementPage(ProductManagementPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/productmanagement/ProductManagementServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/productmanagement/ProductManagementServiceImpl.java new file mode 100644 index 00000000..23ccff9d --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/productmanagement/ProductManagementServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.productmanagement; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.productmanagement.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.productmanagement.ProductManagementDO; +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.module.farm.dal.mysql.productmanagement.ProductManagementMapper; + +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.*; + +/** + * 商品管理 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class ProductManagementServiceImpl implements ProductManagementService { + + @Resource + private ProductManagementMapper productManagementMapper; + + @Override + public String createProductManagement(ProductManagementSaveReqVO createReqVO) { + // 插入 + ProductManagementDO productManagement = BeanUtils.toBean(createReqVO, ProductManagementDO.class); + productManagementMapper.insert(productManagement); + + // 返回 + return productManagement.getId(); + } + + @Override + public void updateProductManagement(ProductManagementSaveReqVO updateReqVO) { + // 校验存在 + validateProductManagementExists(updateReqVO.getId()); + // 更新 + ProductManagementDO updateObj = BeanUtils.toBean(updateReqVO, ProductManagementDO.class); + productManagementMapper.updateById(updateObj); + } + + @Override + public void deleteProductManagement(String id) { + // 校验存在 + validateProductManagementExists(id); + // 删除 + productManagementMapper.deleteById(id); + } + + @Override + public void deleteProductManagementListByIds(List ids) { + // 删除 + productManagementMapper.deleteByIds(ids); + } + + + private void validateProductManagementExists(String id) { + if (productManagementMapper.selectById(id) == null) { + throw exception(PRODUCT_MANAGEMENT_NOT_EXISTS); + } + } + + @Override + public ProductManagementDO getProductManagement(String id) { + return productManagementMapper.selectById(id); + } + + @Override + public PageResult getProductManagementPage(ProductManagementPageReqVO pageReqVO) { + return productManagementMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/specieslibrary/SpeciesLibraryService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/specieslibrary/SpeciesLibraryService.java new file mode 100644 index 00000000..3a3b72d3 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/specieslibrary/SpeciesLibraryService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.specieslibrary; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.specieslibrary.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.specieslibrary.SpeciesLibraryDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 物种库维护 Service 接口 + * + * @author 芋道源码 + */ +public interface SpeciesLibraryService { + + /** + * 创建物种库维护 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createSpeciesLibrary(@Valid SpeciesLibrarySaveReqVO createReqVO); + + /** + * 更新物种库维护 + * + * @param updateReqVO 更新信息 + */ + void updateSpeciesLibrary(@Valid SpeciesLibrarySaveReqVO updateReqVO); + + /** + * 删除物种库维护 + * + * @param id 编号 + */ + void deleteSpeciesLibrary(String id); + + /** + * 批量删除物种库维护 + * + * @param ids 编号 + */ + void deleteSpeciesLibraryListByIds(List ids); + + /** + * 获得物种库维护 + * + * @param id 编号 + * @return 物种库维护 + */ + SpeciesLibraryDO getSpeciesLibrary(String id); + + /** + * 获得物种库维护分页 + * + * @param pageReqVO 分页查询 + * @return 物种库维护分页 + */ + PageResult getSpeciesLibraryPage(SpeciesLibraryPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/specieslibrary/SpeciesLibraryServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/specieslibrary/SpeciesLibraryServiceImpl.java new file mode 100644 index 00000000..43a46572 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/specieslibrary/SpeciesLibraryServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.specieslibrary; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.specieslibrary.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.specieslibrary.SpeciesLibraryDO; +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.module.farm.dal.mysql.specieslibrary.SpeciesLibraryMapper; + +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.*; + +/** + * 物种库维护 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class SpeciesLibraryServiceImpl implements SpeciesLibraryService { + + @Resource + private SpeciesLibraryMapper speciesLibraryMapper; + + @Override + public String createSpeciesLibrary(SpeciesLibrarySaveReqVO createReqVO) { + // 插入 + SpeciesLibraryDO speciesLibrary = BeanUtils.toBean(createReqVO, SpeciesLibraryDO.class); + speciesLibraryMapper.insert(speciesLibrary); + + // 返回 + return speciesLibrary.getId(); + } + + @Override + public void updateSpeciesLibrary(SpeciesLibrarySaveReqVO updateReqVO) { + // 校验存在 + validateSpeciesLibraryExists(updateReqVO.getId()); + // 更新 + SpeciesLibraryDO updateObj = BeanUtils.toBean(updateReqVO, SpeciesLibraryDO.class); + speciesLibraryMapper.updateById(updateObj); + } + + @Override + public void deleteSpeciesLibrary(String id) { + // 校验存在 + validateSpeciesLibraryExists(id); + // 删除 + speciesLibraryMapper.deleteById(id); + } + + @Override + public void deleteSpeciesLibraryListByIds(List ids) { + // 删除 + speciesLibraryMapper.deleteByIds(ids); + } + + + private void validateSpeciesLibraryExists(String id) { + if (speciesLibraryMapper.selectById(id) == null) { + throw exception(SPECIES_LIBRARY_NOT_EXISTS); + } + } + + @Override + public SpeciesLibraryDO getSpeciesLibrary(String id) { + return speciesLibraryMapper.selectById(id); + } + + @Override + public PageResult getSpeciesLibraryPage(SpeciesLibraryPageReqVO pageReqVO) { + return speciesLibraryMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/varietydata/VarietyDataService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/varietydata/VarietyDataService.java new file mode 100644 index 00000000..10a58cb4 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/varietydata/VarietyDataService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.varietydata; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.varietydata.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.varietydata.VarietyDataDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 品种数据 Service 接口 + * + * @author 芋道源码 + */ +public interface VarietyDataService { + + /** + * 创建品种数据 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createVarietyData(@Valid VarietyDataSaveReqVO createReqVO); + + /** + * 更新品种数据 + * + * @param updateReqVO 更新信息 + */ + void updateVarietyData(@Valid VarietyDataSaveReqVO updateReqVO); + + /** + * 删除品种数据 + * + * @param id 编号 + */ + void deleteVarietyData(String id); + + /** + * 批量删除品种数据 + * + * @param ids 编号 + */ + void deleteVarietyDataListByIds(List ids); + + /** + * 获得品种数据 + * + * @param id 编号 + * @return 品种数据 + */ + VarietyDataDO getVarietyData(String id); + + /** + * 获得品种数据分页 + * + * @param pageReqVO 分页查询 + * @return 品种数据分页 + */ + PageResult getVarietyDataPage(VarietyDataPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/varietydata/VarietyDataServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/varietydata/VarietyDataServiceImpl.java new file mode 100644 index 00000000..c9b7b8f2 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/varietydata/VarietyDataServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.varietydata; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.varietydata.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.varietydata.VarietyDataDO; +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.module.farm.dal.mysql.varietydata.VarietyDataMapper; + +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.*; + +/** + * 品种数据 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class VarietyDataServiceImpl implements VarietyDataService { + + @Resource + private VarietyDataMapper varietyDataMapper; + + @Override + public String createVarietyData(VarietyDataSaveReqVO createReqVO) { + // 插入 + VarietyDataDO varietyData = BeanUtils.toBean(createReqVO, VarietyDataDO.class); + varietyDataMapper.insert(varietyData); + + // 返回 + return varietyData.getId(); + } + + @Override + public void updateVarietyData(VarietyDataSaveReqVO updateReqVO) { + // 校验存在 + validateVarietyDataExists(updateReqVO.getId()); + // 更新 + VarietyDataDO updateObj = BeanUtils.toBean(updateReqVO, VarietyDataDO.class); + varietyDataMapper.updateById(updateObj); + } + + @Override + public void deleteVarietyData(String id) { + // 校验存在 + validateVarietyDataExists(id); + // 删除 + varietyDataMapper.deleteById(id); + } + + @Override + public void deleteVarietyDataListByIds(List ids) { + // 删除 + varietyDataMapper.deleteByIds(ids); + } + + + private void validateVarietyDataExists(String id) { + if (varietyDataMapper.selectById(id) == null) { + throw exception(VARIETY_DATA_NOT_EXISTS); + } + } + + @Override + public VarietyDataDO getVarietyData(String id) { + return varietyDataMapper.selectById(id); + } + + @Override + public PageResult getVarietyDataPage(VarietyDataPageReqVO pageReqVO) { + return varietyDataMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/weatherdisasterlibrary/WeatherDisasterLibraryService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/weatherdisasterlibrary/WeatherDisasterLibraryService.java new file mode 100644 index 00000000..168c8803 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/weatherdisasterlibrary/WeatherDisasterLibraryService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.farm.service.weatherdisasterlibrary; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.farm.controller.admin.weatherdisasterlibrary.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.weatherdisasterlibrary.WeatherDisasterLibraryDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 气象灾害库维护 Service 接口 + * + * @author 芋道源码 + */ +public interface WeatherDisasterLibraryService { + + /** + * 创建气象灾害库维护 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createWeatherDisasterLibrary(@Valid WeatherDisasterLibrarySaveReqVO createReqVO); + + /** + * 更新气象灾害库维护 + * + * @param updateReqVO 更新信息 + */ + void updateWeatherDisasterLibrary(@Valid WeatherDisasterLibrarySaveReqVO updateReqVO); + + /** + * 删除气象灾害库维护 + * + * @param id 编号 + */ + void deleteWeatherDisasterLibrary(String id); + + /** + * 批量删除气象灾害库维护 + * + * @param ids 编号 + */ + void deleteWeatherDisasterLibraryListByIds(List ids); + + /** + * 获得气象灾害库维护 + * + * @param id 编号 + * @return 气象灾害库维护 + */ + WeatherDisasterLibraryDO getWeatherDisasterLibrary(String id); + + /** + * 获得气象灾害库维护分页 + * + * @param pageReqVO 分页查询 + * @return 气象灾害库维护分页 + */ + PageResult getWeatherDisasterLibraryPage(WeatherDisasterLibraryPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/weatherdisasterlibrary/WeatherDisasterLibraryServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/weatherdisasterlibrary/WeatherDisasterLibraryServiceImpl.java new file mode 100644 index 00000000..16c890eb --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/weatherdisasterlibrary/WeatherDisasterLibraryServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.farm.service.weatherdisasterlibrary; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.farm.controller.admin.weatherdisasterlibrary.vo.*; +import cn.iocoder.yudao.module.farm.dal.dataobject.weatherdisasterlibrary.WeatherDisasterLibraryDO; +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.module.farm.dal.mysql.weatherdisasterlibrary.WeatherDisasterLibraryMapper; + +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.*; + +/** + * 气象灾害库维护 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class WeatherDisasterLibraryServiceImpl implements WeatherDisasterLibraryService { + + @Resource + private WeatherDisasterLibraryMapper weatherDisasterLibraryMapper; + + @Override + public String createWeatherDisasterLibrary(WeatherDisasterLibrarySaveReqVO createReqVO) { + // 插入 + WeatherDisasterLibraryDO weatherDisasterLibrary = BeanUtils.toBean(createReqVO, WeatherDisasterLibraryDO.class); + weatherDisasterLibraryMapper.insert(weatherDisasterLibrary); + + // 返回 + return weatherDisasterLibrary.getId(); + } + + @Override + public void updateWeatherDisasterLibrary(WeatherDisasterLibrarySaveReqVO updateReqVO) { + // 校验存在 + validateWeatherDisasterLibraryExists(updateReqVO.getId()); + // 更新 + WeatherDisasterLibraryDO updateObj = BeanUtils.toBean(updateReqVO, WeatherDisasterLibraryDO.class); + weatherDisasterLibraryMapper.updateById(updateObj); + } + + @Override + public void deleteWeatherDisasterLibrary(String id) { + // 校验存在 + validateWeatherDisasterLibraryExists(id); + // 删除 + weatherDisasterLibraryMapper.deleteById(id); + } + + @Override + public void deleteWeatherDisasterLibraryListByIds(List ids) { + // 删除 + weatherDisasterLibraryMapper.deleteByIds(ids); + } + + + private void validateWeatherDisasterLibraryExists(String id) { + if (weatherDisasterLibraryMapper.selectById(id) == null) { + throw exception(WEATHER_DISASTER_LIBRARY_NOT_EXISTS); + } + } + + @Override + public WeatherDisasterLibraryDO getWeatherDisasterLibrary(String id) { + return weatherDisasterLibraryMapper.selectById(id); + } + + @Override + public PageResult getWeatherDisasterLibraryPage(WeatherDisasterLibraryPageReqVO pageReqVO) { + return weatherDisasterLibraryMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/baseinfo/BaseInfoMapper.xml b/yudao-module-farm/src/main/resources/mapper/baseinfo/BaseInfoMapper.xml new file mode 100644 index 00000000..fb15c40c --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/baseinfo/BaseInfoMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/companyinfo/CompanyInfoMapper.xml b/yudao-module-farm/src/main/resources/mapper/companyinfo/CompanyInfoMapper.xml new file mode 100644 index 00000000..6970c4a9 --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/companyinfo/CompanyInfoMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/cultivationarea/CultivationAreaMapper.xml b/yudao-module-farm/src/main/resources/mapper/cultivationarea/CultivationAreaMapper.xml new file mode 100644 index 00000000..c2528444 --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/cultivationarea/CultivationAreaMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/deviceinfo/DeviceInfoMapper.xml b/yudao-module-farm/src/main/resources/mapper/deviceinfo/DeviceInfoMapper.xml new file mode 100644 index 00000000..8999af5d --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/deviceinfo/DeviceInfoMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/deviceplotrelation/DevicePlotRelationMapper.xml b/yudao-module-farm/src/main/resources/mapper/deviceplotrelation/DevicePlotRelationMapper.xml new file mode 100644 index 00000000..47c36121 --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/deviceplotrelation/DevicePlotRelationMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/disasterdata/DisasterDataMapper.xml b/yudao-module-farm/src/main/resources/mapper/disasterdata/DisasterDataMapper.xml new file mode 100644 index 00000000..6b56a3d3 --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/disasterdata/DisasterDataMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/environmentindexconfig/EnvironmentIndexConfigMapper.xml b/yudao-module-farm/src/main/resources/mapper/environmentindexconfig/EnvironmentIndexConfigMapper.xml new file mode 100644 index 00000000..8adb2651 --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/environmentindexconfig/EnvironmentIndexConfigMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/farmingnamemaintenance/FarmingNameMaintenanceMapper.xml b/yudao-module-farm/src/main/resources/mapper/farmingnamemaintenance/FarmingNameMaintenanceMapper.xml new file mode 100644 index 00000000..cd902d4b --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/farmingnamemaintenance/FarmingNameMaintenanceMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/farmingrecord/FarmingRecordMapper.xml b/yudao-module-farm/src/main/resources/mapper/farmingrecord/FarmingRecordMapper.xml new file mode 100644 index 00000000..7b23fb65 --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/farmingrecord/FarmingRecordMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/farmingrecordinput/FarmingRecordInputMapper.xml b/yudao-module-farm/src/main/resources/mapper/farmingrecordinput/FarmingRecordInputMapper.xml new file mode 100644 index 00000000..d7d6fcb0 --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/farmingrecordinput/FarmingRecordInputMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/farmingtypemaintenance/FarmingTypeMaintenanceMapper.xml b/yudao-module-farm/src/main/resources/mapper/farmingtypemaintenance/FarmingTypeMaintenanceMapper.xml new file mode 100644 index 00000000..6e575b31 --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/farmingtypemaintenance/FarmingTypeMaintenanceMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/fertilizerindex/FertilizerIndexMapper.xml b/yudao-module-farm/src/main/resources/mapper/fertilizerindex/FertilizerIndexMapper.xml new file mode 100644 index 00000000..4e5c1256 --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/fertilizerindex/FertilizerIndexMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/foundationinfo/FoundationInfoMapper.xml b/yudao-module-farm/src/main/resources/mapper/foundationinfo/FoundationInfoMapper.xml new file mode 100644 index 00000000..7dfcc20e --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/foundationinfo/FoundationInfoMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/inputlibrary/InputLibraryMapper.xml b/yudao-module-farm/src/main/resources/mapper/inputlibrary/InputLibraryMapper.xml new file mode 100644 index 00000000..862a54f9 --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/inputlibrary/InputLibraryMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/messagecenter/MessageCenterMapper.xml b/yudao-module-farm/src/main/resources/mapper/messagecenter/MessageCenterMapper.xml new file mode 100644 index 00000000..8d5e642e --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/messagecenter/MessageCenterMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/modelcycle/ModelCycleMapper.xml b/yudao-module-farm/src/main/resources/mapper/modelcycle/ModelCycleMapper.xml new file mode 100644 index 00000000..2d375e5d --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/modelcycle/ModelCycleMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/modelenvironmentindex/ModelEnvironmentIndexMapper.xml b/yudao-module-farm/src/main/resources/mapper/modelenvironmentindex/ModelEnvironmentIndexMapper.xml new file mode 100644 index 00000000..7fcfcefb --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/modelenvironmentindex/ModelEnvironmentIndexMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/modelfarmingoperation/ModelFarmingOperationMapper.xml b/yudao-module-farm/src/main/resources/mapper/modelfarmingoperation/ModelFarmingOperationMapper.xml new file mode 100644 index 00000000..ce406a17 --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/modelfarmingoperation/ModelFarmingOperationMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/modelfarmingoperationinput/ModelFarmingOperationInputMapper.xml b/yudao-module-farm/src/main/resources/mapper/modelfarmingoperationinput/ModelFarmingOperationInputMapper.xml new file mode 100644 index 00000000..4534d4a4 --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/modelfarmingoperationinput/ModelFarmingOperationInputMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/modelpestdiseaseweed/ModelPestDiseaseWeedMapper.xml b/yudao-module-farm/src/main/resources/mapper/modelpestdiseaseweed/ModelPestDiseaseWeedMapper.xml new file mode 100644 index 00000000..0937de46 --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/modelpestdiseaseweed/ModelPestDiseaseWeedMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/modelweatherdisaster/ModelWeatherDisasterMapper.xml b/yudao-module-farm/src/main/resources/mapper/modelweatherdisaster/ModelWeatherDisasterMapper.xml new file mode 100644 index 00000000..7a06c8d0 --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/modelweatherdisaster/ModelWeatherDisasterMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ 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 new file mode 100644 index 00000000..52ff3196 --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/personnelmanagement/PersonnelManagementMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/pestdiseaseweedlibrary/PestDiseaseWeedLibraryMapper.xml b/yudao-module-farm/src/main/resources/mapper/pestdiseaseweedlibrary/PestDiseaseWeedLibraryMapper.xml new file mode 100644 index 00000000..b4282301 --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/pestdiseaseweedlibrary/PestDiseaseWeedLibraryMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/pesticideresidueindex/PesticideResidueIndexMapper.xml b/yudao-module-farm/src/main/resources/mapper/pesticideresidueindex/PesticideResidueIndexMapper.xml new file mode 100644 index 00000000..e4347377 --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/pesticideresidueindex/PesticideResidueIndexMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/plotinfo/PlotInfoMapper.xml b/yudao-module-farm/src/main/resources/mapper/plotinfo/PlotInfoMapper.xml new file mode 100644 index 00000000..128dba5f --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/plotinfo/PlotInfoMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ 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 new file mode 100644 index 00000000..43aa5bb7 --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/productionplan/ProductionPlanMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/productmanagement/ProductManagementMapper.xml b/yudao-module-farm/src/main/resources/mapper/productmanagement/ProductManagementMapper.xml new file mode 100644 index 00000000..b473c13f --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/productmanagement/ProductManagementMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/specieslibrary/SpeciesLibraryMapper.xml b/yudao-module-farm/src/main/resources/mapper/specieslibrary/SpeciesLibraryMapper.xml new file mode 100644 index 00000000..a9be03d3 --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/specieslibrary/SpeciesLibraryMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/varietydata/VarietyDataMapper.xml b/yudao-module-farm/src/main/resources/mapper/varietydata/VarietyDataMapper.xml new file mode 100644 index 00000000..4c9d5a3a --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/varietydata/VarietyDataMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-farm/src/main/resources/mapper/weatherdisasterlibrary/WeatherDisasterLibraryMapper.xml b/yudao-module-farm/src/main/resources/mapper/weatherdisasterlibrary/WeatherDisasterLibraryMapper.xml new file mode 100644 index 00000000..d5fadf5a --- /dev/null +++ b/yudao-module-farm/src/main/resources/mapper/weatherdisasterlibrary/WeatherDisasterLibraryMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file