src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java
New file @@ -0,0 +1,125 @@ /* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package org.springblade.modules.farmplant.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.modules.farmplant.entity.FarmPlant; import org.springblade.modules.farmplant.service.FarmPlantService; import org.springblade.modules.farmplant.vo.FarmPlantVO; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.Date; /** * 农场养殖记录表控制器 * @since 2022-05-12 * @author zhongrj */ @RestController @AllArgsConstructor @RequestMapping("/farmPlant") public class FarmPlantController extends BladeController { private final FarmPlantService farmplantService; /** * 详情 */ @GetMapping("/detail") @ApiOperationSupport(order = 1) @ApiOperation(value = "详情", notes = "传入farmPlant") public R<FarmPlant> detail(FarmPlant farmPlant) { FarmPlant detail = farmplantService.getOne(Condition.getQueryWrapper(farmPlant)); return R.data(detail); } /** * 分页 */ @GetMapping("/list") @ApiOperationSupport(order = 2) @ApiOperation(value = "分页", notes = "传入farmPlant") public R<IPage<FarmPlant>> list(FarmPlant farmPlant, Query query) { IPage<FarmPlant> pages = farmplantService.page(Condition.getPage(query), Condition.getQueryWrapper(farmPlant)); return R.data(pages); } /** * 自定义分页 */ @GetMapping("/page") @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入farmPlant") public R<IPage<FarmPlantVO>> page(FarmPlantVO farmPlant, Query query) { IPage<FarmPlantVO> pages = farmplantService.selectFarmPlantPage(Condition.getPage(query), farmPlant); return R.data(pages); } /** * 新增 */ @PostMapping("/save") @ApiOperationSupport(order = 4) @ApiOperation(value = "新增", notes = "传入farmPlant") public R save(@Valid @RequestBody FarmPlant farmPlant) { farmPlant.setCreateTime(new Date()); return R.status(farmplantService.save(farmPlant)); } /** * 修改 */ @PostMapping("/update") @ApiOperationSupport(order = 5) @ApiOperation(value = "修改", notes = "传入farmPlant") public R update(@Valid @RequestBody FarmPlant farmPlant) { //更新并返回 return R.status(farmplantService.updateById(farmPlant)); } /** * 新增或修改 */ @PostMapping("/submit") @ApiOperationSupport(order = 6) @ApiOperation(value = "新增或修改", notes = "传入farmPlant") public R submit(@Valid @RequestBody FarmPlant farmPlant) { return R.status(farmplantService.saveOrUpdate(farmPlant)); } /** * 删除 */ @PostMapping("/remove") @ApiOperationSupport(order = 7) @ApiOperation(value = "逻辑删除", notes = "传入ids") public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { return R.status(farmplantService.removeByIds(Func.toLongList(ids))); } } src/main/java/org/springblade/modules/farmplant/controller/StrainController.java
New file @@ -0,0 +1,113 @@ package org.springblade.modules.farmplant.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; import org.springblade.common.node.TreeNode; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.modules.farmplant.entity.Strain; import org.springblade.modules.farmplant.service.StrainService; import org.springblade.modules.farmplant.vo.StrainVO; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; /** * 农场检测报告/证书控制器 * @since 2022-05-11 * @author zhongrj */ @RestController @AllArgsConstructor @RequestMapping("/strain") public class StrainController extends BladeController { private final StrainService strainService; /** * 详情 */ @GetMapping("/detail") @ApiOperationSupport(order = 1) @ApiOperation(value = "详情", notes = "传入strain") public R<Strain> detail(Strain strain) { Strain detail = strainService.getOne(Condition.getQueryWrapper(strain)); return R.data(detail); } /** * 分页 */ @GetMapping("/list") @ApiOperationSupport(order = 2) @ApiOperation(value = "分页", notes = "传入strain") public R<IPage<Strain>> list(Strain strain, Query query) { IPage<Strain> pages = strainService.page(Condition.getPage(query), Condition.getQueryWrapper(strain)); return R.data(pages); } /** * 自定义分页 */ @GetMapping("/page") @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入strain") public R<IPage<StrainVO>> page(StrainVO strain, Query query) { IPage<StrainVO> pages = strainService.selectStrainPage(Condition.getPage(query), strain); return R.data(pages); } /** * 新增 */ @PostMapping("/save") @ApiOperationSupport(order = 4) @ApiOperation(value = "新增", notes = "传入strain") public R save(@Valid @RequestBody Strain strain) { return R.status(strainService.save(strain)); } /** * 修改 */ @PostMapping("/update") @ApiOperationSupport(order = 5) @ApiOperation(value = "修改", notes = "传入strain") public R update(@Valid @RequestBody Strain strain) { return R.status(strainService.updateById(strain)); } /** * 新增或修改 */ @PostMapping("/submit") @ApiOperationSupport(order = 6) @ApiOperation(value = "新增或修改", notes = "传入strain") public R submit(@Valid @RequestBody Strain strain) { return R.status(strainService.saveOrUpdate(strain)); } /** * 删除 */ @PostMapping("/remove") @ApiOperationSupport(order = 7) @ApiOperation(value = "逻辑删除", notes = "传入ids") public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { return R.status(strainService.removeByIds(Func.toLongList(ids))); } @GetMapping("/strain-tree") public R strainTree(StrainVO strain){ return R.data(strainService.strainTree(strain)); } } src/main/java/org/springblade/modules/farmplant/entity/FarmPlant.java
New file @@ -0,0 +1,117 @@ package org.springblade.modules.farmplant.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; /** * 农场养殖记录表实体类 * @since 2022-05-12 * @author zhongrj */ @Data @TableName("sys_farm_plant") public class FarmPlant implements Serializable { private static final long serialVersionUID = 1L; /** * 主键id */ @TableId(value = "id",type = IdType.AUTO) private Integer id; /** * 土地id */ private String landId; /** * 种类id */ private Integer strainId; /** * 品种 */ private String varieties; /** * 种植标准(0:有机 1:绿色 2:无公害 3:普通) */ private String plant; /** * 种植方式(0:移栽 1:直播) */ private String plantingWay; /** * 作业方式(0:人工 1:机械) */ private String jobWay; /** * 移栽时间 */ @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date transplanTime; /** * 预计采购时间 */ @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date recoveryTime; /** * 预计亩产 */ private Integer per; /** * 株数 */ private Integer plantNumber; /** * 株间距 */ private Integer plantSpacing; /** * 种植类型(0:种植业 1:水产业) */ private String farmType; /** * 投苗时间(养殖业独有字段) */ @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date seedingTime; /** * 养殖数量(养殖业独有字段) */ private Integer breed; /** * 创建时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; } src/main/java/org/springblade/modules/farmplant/entity/Strain.java
New file @@ -0,0 +1,58 @@ package org.springblade.modules.farmplant.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; /** * 种养品种实体类 * @since 2022-05-12 * @author zhongrj */ @Data @TableName("sys_strain") public class Strain implements Serializable { private static final long serialVersionUID = 1L; /** * 主键id */ @TableId(value = "id",type = IdType.AUTO) private Integer id; /** * 名称 */ private String strainName; /** * 品种类型(0:种植业 1:水产业) */ private String strainType; /** * 品种图片url */ private String url; /** * 创建时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; /** * 别名 */ private String alias; } src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.java
New file @@ -0,0 +1,26 @@ package org.springblade.modules.farmplant.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.springblade.modules.farmplant.entity.FarmPlant; import org.springblade.modules.farmplant.vo.FarmPlantVO; import java.util.List; /** * 农场养殖记录表Mapper 接口 * @since 2022-05-12 * @author zhongrj */ public interface FarmPlantMapper extends BaseMapper<FarmPlant> { /** * 自定义分页 * * @param page * @param farm * @return */ List<FarmPlantVO> selectFarmPlantPage(@Param("page") IPage page, @Param("farmPlant") FarmPlantVO farm); } src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml
New file @@ -0,0 +1,30 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.springblade.modules.farmplant.mapper.FarmPlantMapper"> <!--自定义查询农场养殖记录分页数据--> <select id="selectFarmPlantPage" resultType="org.springblade.modules.farmplant.vo.FarmPlantVO"> select sfp.*,ss.strain_name strainName from sys_farm_plant sfp left join sys_strain ss on ss.id = sfp.strain_id where 1=1 <if test="farmPlant.plant!=null and farmPlant.plant!=''"> and sfp.plant = #{farmPlant.plant} </if> <if test="farmPlant.landId!=null and farmPlant.landId!=''"> and sfp.land_id = #{farmPlant.landId} </if> <if test="farmPlant.plantingWay!=null and farmPlant.plantingWay!=''"> and sfp.planting_way = #{farmPlant.plantingWay} </if> <if test="farmPlant.jobWay!=null and farmPlant.jobWay!=''"> and sfp.job_way = #{farmPlant.jobWay} </if> <if test="farmPlant.strainName!=null and farmPlant.strainName!=''"> and ss.strain_name like concat('%',#{farmPlant.strainName},'%') </if> <if test="farmPlant.varieties!=null and farmPlant.varieties!=''"> and sfp.varieties like concat('%',#{farmPlant.varieties},'%') </if> order by sfp.id desc </select> </mapper> src/main/java/org/springblade/modules/farmplant/mapper/StrainMapper.java
New file @@ -0,0 +1,28 @@ package org.springblade.modules.farmplant.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.springblade.common.node.TreeNode; import org.springblade.modules.farmplant.entity.Strain; import org.springblade.modules.farmplant.vo.StrainVO; import java.util.List; /** * 种养品种Mapper 接口 * @since 2022-05-12 * @author zhongrj */ public interface StrainMapper extends BaseMapper<Strain> { /** * 自定义分页 * * @param page * @param strain * @return */ List<StrainVO> selectStrainPage(@Param("page") IPage page, @Param("strain") StrainVO strain); } src/main/java/org/springblade/modules/farmplant/mapper/StrainMapper.xml
New file @@ -0,0 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.springblade.modules.farmplant.mapper.StrainMapper"> <!--自定义查询农场检测报告/证书分页数据--> <select id="selectStrainPage" resultType="org.springblade.modules.farmplant.vo.StrainVO"> select * from sys_strain where 1=1 </select> </mapper> src/main/java/org/springblade/modules/farmplant/service/FarmPlantService.java
New file @@ -0,0 +1,24 @@ package org.springblade.modules.farmplant.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.springblade.modules.farmplant.entity.FarmPlant; import org.springblade.modules.farmplant.vo.FarmPlantVO; /** * 农场养殖记录表服务类 * @since 2022-05-12 * @author zhongrj */ public interface FarmPlantService extends IService<FarmPlant> { /** * 自定义分页 * * @param page * @param farm * @return */ IPage<FarmPlantVO> selectFarmPlantPage(IPage<FarmPlantVO> page, FarmPlantVO farm); } src/main/java/org/springblade/modules/farmplant/service/StrainService.java
New file @@ -0,0 +1,35 @@ package org.springblade.modules.farmplant.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.springblade.common.node.TreeNode; import org.springblade.modules.farmplant.entity.Strain; import org.springblade.modules.farmplant.vo.StrainVO; import java.util.List; /** * 种养品种服务类 * @since 2022-05-12 * @author zhongrj */ public interface StrainService extends IService<Strain> { /** * 自定义分页 * * @param page * @param strain * @return */ IPage<StrainVO> selectStrainPage(IPage<StrainVO> page, StrainVO strain); /** * 查询种类信息 * @param strain * @return */ List<Strain> strainTree(StrainVO strain); } src/main/java/org/springblade/modules/farmplant/service/impl/FarmPlantServiceImpl.java
New file @@ -0,0 +1,29 @@ package org.springblade.modules.farmplant.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springblade.modules.farmplant.entity.FarmPlant; import org.springblade.modules.farmplant.mapper.FarmPlantMapper; import org.springblade.modules.farmplant.service.FarmPlantService; import org.springblade.modules.farmplant.vo.FarmPlantVO; import org.springframework.stereotype.Service; /** * 农场养殖记录表服务实现类 * @since 2022-05-12 * @author zhongrj */ @Service public class FarmPlantServiceImpl extends ServiceImpl<FarmPlantMapper, FarmPlant> implements FarmPlantService { /** * 自定义分页 * * @param page * @param farm * @return */ @Override public IPage<FarmPlantVO> selectFarmPlantPage(IPage<FarmPlantVO> page, FarmPlantVO farm) { return page.setRecords(baseMapper.selectFarmPlantPage(page, farm)); } } src/main/java/org/springblade/modules/farmplant/service/impl/StrainServiceImpl.java
New file @@ -0,0 +1,43 @@ package org.springblade.modules.farmplant.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springblade.common.node.TreeNode; import org.springblade.modules.farmplant.entity.Strain; import org.springblade.modules.farmplant.mapper.StrainMapper; import org.springblade.modules.farmplant.service.StrainService; import org.springblade.modules.farmplant.vo.StrainVO; import org.springframework.stereotype.Service; import java.util.List; /** * 种养品种服务实现类 * @since 2022-05-12 * @author zhongrj */ @Service public class StrainServiceImpl extends ServiceImpl<StrainMapper, Strain> implements StrainService { /** * 自定义分页 * @param page * @param strain * @return */ @Override public IPage<StrainVO> selectStrainPage(IPage<StrainVO> page, StrainVO strain) { return page.setRecords(baseMapper.selectStrainPage(page, strain)); } /** * 查询种类信息 * @param strain * @return */ @Override public List<Strain> strainTree(StrainVO strain) { return list(new QueryWrapper<>(strain)); } } src/main/java/org/springblade/modules/farmplant/vo/FarmPlantVO.java
New file @@ -0,0 +1,20 @@ package org.springblade.modules.farmplant.vo; import lombok.Data; import org.springblade.modules.farmplant.entity.FarmPlant; /** * 农场养殖记录表VO * @since 2022-05-12 * @author zhongrj */ @Data public class FarmPlantVO extends FarmPlant { private static final long serialVersionUID = 1L; /** * 种类名称 */ private String strainName; } src/main/java/org/springblade/modules/farmplant/vo/StrainVO.java
New file @@ -0,0 +1,15 @@ package org.springblade.modules.farmplant.vo; import lombok.Data; import org.springblade.modules.farmplant.entity.Strain; /** * 种养品种VO * @since 2022-05-12 * @author zhongrj */ @Data public class StrainVO extends Strain { private static final long serialVersionUID = 1L; }