hanfucheng 11 месяцев назад
Родитель
Сommit
fcb8c89407

+ 44 - 0
data-ui/src/api/data/digitalforest/plant/plant.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询野生植物列表
+export function listPlant(query) {
+  return request({
+    url: '/center-data/plant/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询野生植物详细
+export function getPlant(id) {
+  return request({
+    url: '/center-data/plant/' + id,
+    method: 'get'
+  })
+}
+
+// 新增野生植物
+export function addPlant(data) {
+  return request({
+    url: '/center-data/plant',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改野生植物
+export function updatePlant(data) {
+  return request({
+    url: '/center-data/plant',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除野生植物
+export function delPlant(id) {
+  return request({
+    url: '/center-data/plant/' + id,
+    method: 'delete'
+  })
+}

+ 384 - 0
data-ui/src/views/data/digitalforest/plant/index.vue

@@ -0,0 +1,384 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch"
+             @submit.native.prevent>
+      <el-form-item label="名称" prop="plantName">
+        <el-input
+          v-model="queryParams.plantName"
+          placeholder="请输入名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="编号" prop="plantNumber">
+        <el-input
+          v-model="queryParams.plantNumber"
+          placeholder="请输入编号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item prop="deptId">
+        <template slot="label">
+          <span @click="changeQueryType" v-if="queryParams.deptName === 0">本级及下级</span>
+          <span @click="changeQueryType" v-if="queryParams.deptName === 1">只查询本级</span>
+        </template>
+        <treeselect v-model="queryParams.deptId" :options="deptOptions" multiple:false :show-count="true"
+                    placeholder="请选择部门" @select="hx" :noResultsText="'空'" :noOptionsText="'空'" style="width: 240px"/>
+        <el-input v-model="queryParams.deptName" v-if="false"/>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['forest:plant:add']"
+        >新增
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['forest:plant:edit']"
+        >修改
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['forest:plant:remove']"
+        >删除
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['forest:plant:export']"
+        >导出
+        </el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="plantList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center"/>
+      <el-table-column label="名称" align="center" prop="plantName"/>
+      <el-table-column label="编号" align="center" prop="plantNumber"/>
+      <el-table-column label="植物类型" align="center" prop="plantType"/>
+      <el-table-column label="所属部门" align="center" prop="deptName"/>
+      <el-table-column label="创建人" align="center" prop="createName"/>
+      <el-table-column label="创建时间" align="center" prop="createTime"/>
+      <el-table-column label="修改人" align="center" prop="updateName"/>
+      <el-table-column label="修改时间" align="center" prop="updateTime"/>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['forest:plant:edit']"
+          >修改
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['forest:plant:remove']"
+          >删除
+          </el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改野生植物对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="名称" prop="plantName">
+          <el-input v-model="form.plantName" placeholder="请输入名称" maxlength = "18"/>
+        </el-form-item>
+        <el-form-item label="编号" prop="plantNumber">
+          <el-input v-model="form.plantNumber" placeholder="请输入编号" maxlength = "18"/>
+        </el-form-item>
+        <el-form-item label="植物类型" prop="plantType">
+          <el-input v-model="form.plantType" placeholder="请输入植物类型" maxlength = "18"/>
+        </el-form-item>
+        <el-form-item label="经度" prop="longitude" @dblclick.native="showMap">
+          <el-input v-model="form.longitude" placeholder="鼠标双击选择经纬度"/>
+        </el-form-item>
+        <el-form-item label="纬度" prop="latitude" @dblclick.native="showMap">
+          <el-input v-model="form.latitude" placeholder="鼠标双击选择经纬度"/>
+        </el-form-item>
+        <el-form-item label="所属部门" prop="deptId">
+          <treeselect v-model="form.deptId" :options="deptOptions" multiple:false :show-count="true"
+                      placeholder="请选择部门" @select="hx" :noResultsText="'空'" :noOptionsText="'空'"/>
+        </el-form-item>
+        <el-form-item label="备注" prop="remarks">
+          <el-input v-model="form.remarks" type="textarea" placeholder="请输入内容" maxlength="255"/>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {listPlant, getPlant, delPlant, addPlant, updatePlant} from "@/api/data/digitalforest/plant/plant";
+import Treeselect from "@riophae/vue-treeselect";
+import {treeselect} from "@/api/system/dept";
+import {checkLat, checkLon} from "@/api/rules/rules";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import {format_date} from "@/views/data/common/dateExport";
+
+export default {
+  name: "Plant",
+  components: {Treeselect},
+  data() {
+    return {
+      // 部门树选项
+      deptOptions: undefined,
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 野生植物表格数据
+      plantList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        deptId: null,
+        deptName: 0,
+        createName: null,
+        updateName: null,
+        longitude: null,
+        latitude: null,
+        plantName: null,
+        plantNumber: null,
+        plantType: null,
+        remarks: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        plantName: [
+          {required: true, message: "名称不能为空", trigger: "change"}
+        ],
+        plantNumber: [
+          {required: true, message: "编号不能为空", trigger: "change"}
+        ],
+        plantType: [
+          {required: true, message: "植物类型不能为空", trigger: "change"}
+        ],
+        deptId: [
+          {required: true, message: "所属部门不能为空", trigger: "change"},
+        ],
+        longitude: [
+          {required: true, message: '经度不能为空', trigger: 'change'},
+          {validator: checkLon, trigger: 'blur'}
+        ],
+        latitude: [
+          {required: true, message: '纬度不能为空', trigger: 'change'},
+          {validator: checkLat, trigger: 'blur'}
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+    this.getTreeselect();
+  },
+  methods: {
+    hx(node) {
+      this.form.dataDeptId = node.id
+      this.form.deptId = node.id
+      this.form.deptName = node.label
+      this.$refs.form.validateField("deptId")
+    },
+    showMap() {
+      this.ISuperMapvisible = true;
+      this.$nextTick(() => {
+        this.$refs.ISuperMap.init(this.sign, {
+          id: this.form.id,
+          longitude: this.form.longitude,
+          latitude: this.form.latitude,
+          xiantude: this.form.longitude//this.form.longitude换成每个页面对应线或者面对应的字段
+        })
+      })
+    },
+    /** 查询野生植物列表 */
+    getList() {
+      this.loading = true;
+      listPlant(this.queryParams).then(response => {
+        this.plantList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        deptId: null,
+        deptName: null,
+        createBy: null,
+        createName: null,
+        createTime: null,
+        updateBy: null,
+        updateName: null,
+        updateTime: null,
+        longitude: null,
+        latitude: null,
+        plantName: null,
+        plantNumber: null,
+        plantType: null,
+        remarks: null
+      };
+      this.resetForm("form");
+    },
+    showLatLng: function (lat, lng) {
+      this.form.latitude = lat
+      this.form.longitude = lng
+    },
+    setDataDeptId(e) {
+      this.form.deptId = e.deptId
+      this.form.deptName = e.deptName
+    },
+    /** 查询部门下拉树结构 */
+    getTreeselect() {
+      treeselect().then(response => {
+        this.deptOptions = response.data;
+      });
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.queryParams.deptName = 0;
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length !== 1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加野生植物";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getPlant(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改野生植物";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updatePlant(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addPlant(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否删除选中的数据?').then(function () {
+        return delPlant(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {
+      });
+    },
+    // 点击按钮修改是否只查询本级部门用户
+    changeQueryType() {
+      this.queryParams.deptName = this.queryParams.deptName === 0 ? 1 : 0;
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('center-data/plant/export', {
+        ...this.queryParams
+      }, `野生植物_${format_date(new Date())}.xlsx`)
+    }
+  }
+};
+</script>

+ 91 - 0
src/main/java/com/sooka/sponest/data/digitalforest/controller/CenterdataTForestPlantController.java

@@ -0,0 +1,91 @@
+package com.sooka.sponest.data.digitalforest.controller;
+
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.TableDataInfo;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.security.annotation.RequiresPermissions;
+import com.sooka.sponest.data.digitalforest.domain.CenterdataTForestPlant;
+import com.sooka.sponest.data.digitalforest.service.ICenterdataTForestPlantService;
+import com.sooka.sponest.data.utils.ExcelUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 野生植物Controller
+ *
+ * @author 韩福成
+ * @date 2024-07-10
+ */
+@RestController
+@RequestMapping("/plant")
+public class CenterdataTForestPlantController extends BaseController {
+    @Autowired
+    private ICenterdataTForestPlantService centerdataTForestPlantService;
+
+    /**
+     * 查询野生植物列表
+     */
+    @RequiresPermissions("forest:plant:list")
+    @GetMapping("/list")
+    public TableDataInfo list(CenterdataTForestPlant centerdataTForestPlant) {
+        startPage();
+        List<CenterdataTForestPlant> list = centerdataTForestPlantService.selectCenterdataTForestPlantList(centerdataTForestPlant);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出野生植物列表
+     */
+    @RequiresPermissions("forest:plant:export")
+    @Log(title = "野生植物", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, CenterdataTForestPlant centerdataTForestPlant) {
+        List<CenterdataTForestPlant> list = centerdataTForestPlantService.selectCenterdataTForestPlantList(centerdataTForestPlant);
+        ExcelUtil<CenterdataTForestPlant> util = new ExcelUtil<CenterdataTForestPlant>(CenterdataTForestPlant.class);
+        util.exportExcel(response, list, "野生植物数据");
+    }
+
+    /**
+     * 获取野生植物详细信息
+     */
+    @RequiresPermissions("forest:plant:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id) {
+        return AjaxResult.success(centerdataTForestPlantService.selectCenterdataTForestPlantById(id));
+    }
+
+    /**
+     * 新增野生植物
+     */
+    @RequiresPermissions("forest:plant:add")
+    @Log(title = "野生植物", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CenterdataTForestPlant centerdataTForestPlant) {
+        return toAjax(centerdataTForestPlantService.insertCenterdataTForestPlant(centerdataTForestPlant));
+    }
+
+    /**
+     * 修改野生植物
+     */
+    @RequiresPermissions("forest:plant:edit")
+    @Log(title = "野生植物", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CenterdataTForestPlant centerdataTForestPlant) {
+        return toAjax(centerdataTForestPlantService.updateCenterdataTForestPlant(centerdataTForestPlant));
+    }
+
+    /**
+     * 删除野生植物
+     */
+    @RequiresPermissions("forest:plant:remove")
+    @Log(title = "野生植物", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids) {
+        return toAjax(centerdataTForestPlantService.deleteCenterdataTForestPlantByIds(ids));
+    }
+}

+ 162 - 0
src/main/java/com/sooka/sponest/data/digitalforest/domain/CenterdataTForestPlant.java

@@ -0,0 +1,162 @@
+package com.sooka.sponest.data.digitalforest.domain;
+
+import com.sooka.sponest.data.base.domain.BaseBusinessEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+
+/**
+ * 野生植物对象 centerdata_t_forest_plant
+ *
+ * @author 韩福成
+ * @date 2024-07-10
+ */
+public class CenterdataTForestPlant extends BaseBusinessEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    private String id;
+
+    /**
+     * 部门id
+     */
+    private Long deptId;
+
+    /**
+     * 部门名称
+     */
+    @Excel(name = "部门名称")
+    private String deptName;
+
+    /**
+     * 经度
+     */
+    @Excel(name = "经度")
+    private String longitude;
+
+    /**
+     * 纬度
+     */
+    @Excel(name = "纬度")
+    private String latitude;
+
+    /**
+     * 名称
+     */
+    @Excel(name = "名称")
+    private String plantName;
+
+    /**
+     * 编号
+     */
+    @Excel(name = "编号")
+    private String plantNumber;
+
+    /**
+     * 类型
+     */
+    @Excel(name = "类型")
+    private String plantType;
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    private String remarks;
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setDeptId(Long deptId) {
+        this.deptId = deptId;
+    }
+
+    public Long getDeptId() {
+        return deptId;
+    }
+
+    public void setDeptName(String deptName) {
+        this.deptName = deptName;
+    }
+
+    public String getDeptName() {
+        return deptName;
+    }
+
+    public void setLongitude(String longitude) {
+        this.longitude = longitude;
+    }
+
+    public String getLongitude() {
+        return longitude;
+    }
+
+    public void setLatitude(String latitude) {
+        this.latitude = latitude;
+    }
+
+    public String getLatitude() {
+        return latitude;
+    }
+
+    public void setPlantName(String plantName) {
+        this.plantName = plantName;
+    }
+
+    public String getPlantName() {
+        return plantName;
+    }
+
+    public void setPlantNumber(String plantNumber) {
+        this.plantNumber = plantNumber;
+    }
+
+    public String getPlantNumber() {
+        return plantNumber;
+    }
+
+    public void setPlantType(String plantType) {
+        this.plantType = plantType;
+    }
+
+    public String getPlantType() {
+        return plantType;
+    }
+
+    public void setRemarks(String remarks) {
+        this.remarks = remarks;
+    }
+
+    public String getRemarks() {
+        return remarks;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("id", getId())
+                .append("deptId", getDeptId())
+                .append("deptName", getDeptName())
+                .append("createBy", getCreateBy())
+                .append("createName", getCreateName())
+                .append("createTime", getCreateTime())
+                .append("updateBy", getUpdateBy())
+                .append("updateName", getUpdateName())
+                .append("updateTime", getUpdateTime())
+                .append("longitude", getLongitude())
+                .append("latitude", getLatitude())
+                .append("plantName", getPlantName())
+                .append("plantNumber", getPlantNumber())
+                .append("plantType", getPlantType())
+                .append("remarks", getRemarks())
+                .toString();
+    }
+}

+ 62 - 0
src/main/java/com/sooka/sponest/data/digitalforest/mapper/CenterdataTForestPlantMapper.java

@@ -0,0 +1,62 @@
+package com.sooka.sponest.data.digitalforest.mapper;
+
+
+import com.sooka.sponest.data.digitalforest.domain.CenterdataTForestPlant;
+
+import java.util.List;
+
+/**
+ * 野生植物Mapper接口
+ *
+ * @author 韩福成
+ * @date 2024-07-10
+ */
+public interface CenterdataTForestPlantMapper {
+    /**
+     * 查询野生植物
+     *
+     * @param id 野生植物主键
+     * @return 野生植物
+     */
+    public CenterdataTForestPlant selectCenterdataTForestPlantById(String id);
+
+    /**
+     * 查询野生植物列表
+     *
+     * @param centerdataTForestPlant 野生植物
+     * @return 野生植物集合
+     */
+    public List<CenterdataTForestPlant> selectCenterdataTForestPlantList(CenterdataTForestPlant centerdataTForestPlant);
+
+    /**
+     * 新增野生植物
+     *
+     * @param centerdataTForestPlant 野生植物
+     * @return 结果
+     */
+    public int insertCenterdataTForestPlant(CenterdataTForestPlant centerdataTForestPlant);
+
+    /**
+     * 修改野生植物
+     *
+     * @param centerdataTForestPlant 野生植物
+     * @return 结果
+     */
+    public int updateCenterdataTForestPlant(CenterdataTForestPlant centerdataTForestPlant);
+
+    /**
+     * 删除野生植物
+     *
+     * @param id 野生植物主键
+     * @return 结果
+     */
+    public int deleteCenterdataTForestPlantById(String id);
+
+    /**
+     * 批量删除野生植物
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteCenterdataTForestPlantByIds(String[] ids);
+}

+ 62 - 0
src/main/java/com/sooka/sponest/data/digitalforest/service/ICenterdataTForestPlantService.java

@@ -0,0 +1,62 @@
+package com.sooka.sponest.data.digitalforest.service;
+
+import com.sooka.sponest.data.digitalforest.domain.CenterdataTForestPlant;
+
+import java.util.List;
+
+
+/**
+ * 野生植物Service接口
+ *
+ * @author 韩福成
+ * @date 2024-07-10
+ */
+public interface ICenterdataTForestPlantService {
+    /**
+     * 查询野生植物
+     *
+     * @param id 野生植物主键
+     * @return 野生植物
+     */
+    public CenterdataTForestPlant selectCenterdataTForestPlantById(String id);
+
+    /**
+     * 查询野生植物列表
+     *
+     * @param centerdataTForestPlant 野生植物
+     * @return 野生植物集合
+     */
+    public List<CenterdataTForestPlant> selectCenterdataTForestPlantList(CenterdataTForestPlant centerdataTForestPlant);
+
+    /**
+     * 新增野生植物
+     *
+     * @param centerdataTForestPlant 野生植物
+     * @return 结果
+     */
+    public int insertCenterdataTForestPlant(CenterdataTForestPlant centerdataTForestPlant);
+
+    /**
+     * 修改野生植物
+     *
+     * @param centerdataTForestPlant 野生植物
+     * @return 结果
+     */
+    public int updateCenterdataTForestPlant(CenterdataTForestPlant centerdataTForestPlant);
+
+    /**
+     * 批量删除野生植物
+     *
+     * @param ids 需要删除的野生植物主键集合
+     * @return 结果
+     */
+    public int deleteCenterdataTForestPlantByIds(String[] ids);
+
+    /**
+     * 删除野生植物信息
+     *
+     * @param id 野生植物主键
+     * @return 结果
+     */
+    public int deleteCenterdataTForestPlantById(String id);
+}

+ 101 - 0
src/main/java/com/sooka/sponest/data/digitalforest/service/impl/CenterdataTForestPlantServiceImpl.java

@@ -0,0 +1,101 @@
+package com.sooka.sponest.data.digitalforest.service.impl;
+
+import java.util.List;
+
+import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.common.core.utils.uuid.IdUtils;
+import com.ruoyi.common.datascope.annotation.DataScopeMutiDept;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import com.sooka.sponest.data.base.service.impl.BaseServiceImpl;
+import com.sooka.sponest.data.digitalforest.domain.CenterdataTForestPlant;
+import com.sooka.sponest.data.digitalforest.mapper.CenterdataTForestPlantMapper;
+import com.sooka.sponest.data.digitalforest.service.ICenterdataTForestPlantService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 野生植物Service业务层处理
+ *
+ * @author 韩福成
+ * @date 2024-07-10
+ */
+@Service
+public class CenterdataTForestPlantServiceImpl extends BaseServiceImpl implements ICenterdataTForestPlantService {
+    @Autowired
+    private CenterdataTForestPlantMapper centerdataTForestPlantMapper;
+
+    /**
+     * 查询野生植物
+     *
+     * @param id 野生植物主键
+     * @return 野生植物
+     */
+    @Override
+    public CenterdataTForestPlant selectCenterdataTForestPlantById(String id) {
+        return centerdataTForestPlantMapper.selectCenterdataTForestPlantById(id);
+    }
+
+    /**
+     * 查询野生植物列表
+     *
+     * @param centerdataTForestPlant 野生植物
+     * @return 野生植物
+     */
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<CenterdataTForestPlant> selectCenterdataTForestPlantList(CenterdataTForestPlant centerdataTForestPlant) {
+        setSookaDataBase(centerdataTForestPlant);
+        return centerdataTForestPlantMapper.selectCenterdataTForestPlantList(centerdataTForestPlant);
+    }
+
+    /**
+     * 新增野生植物
+     *
+     * @param centerdataTForestPlant 野生植物
+     * @return 结果
+     */
+    @Override
+    public int insertCenterdataTForestPlant(CenterdataTForestPlant centerdataTForestPlant) {
+        centerdataTForestPlant.setId(IdUtils.simpleUUID());
+        centerdataTForestPlant.setCreateBy(SecurityUtils.getUserId().toString());
+        centerdataTForestPlant.setCreateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
+        centerdataTForestPlant.setCreateTime(DateUtils.getNowDate());
+        return centerdataTForestPlantMapper.insertCenterdataTForestPlant(centerdataTForestPlant);
+    }
+
+    /**
+     * 修改野生植物
+     *
+     * @param centerdataTForestPlant 野生植物
+     * @return 结果
+     */
+    @Override
+    public int updateCenterdataTForestPlant(CenterdataTForestPlant centerdataTForestPlant) {
+        centerdataTForestPlant.setUpdateBy(SecurityUtils.getUserId());
+        centerdataTForestPlant.setUpdateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
+        centerdataTForestPlant.setUpdateTime(DateUtils.getNowDate());
+        return centerdataTForestPlantMapper.updateCenterdataTForestPlant(centerdataTForestPlant);
+    }
+
+    /**
+     * 批量删除野生植物
+     *
+     * @param ids 需要删除的野生植物主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCenterdataTForestPlantByIds(String[] ids) {
+        return centerdataTForestPlantMapper.deleteCenterdataTForestPlantByIds(ids);
+    }
+
+    /**
+     * 删除野生植物信息
+     *
+     * @param id 野生植物主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCenterdataTForestPlantById(String id) {
+        return centerdataTForestPlantMapper.deleteCenterdataTForestPlantById(id);
+    }
+}

+ 131 - 0
src/main/resources/mapper/digitalforest/CenterdataTForestPlantMapper.xml

@@ -0,0 +1,131 @@
+<?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="com.sooka.sponest.data.digitalforest.mapper.CenterdataTForestPlantMapper">
+
+    <resultMap type="CenterdataTForestPlant" id="CenterdataTForestPlantResult">
+        <result property="id"    column="id"    />
+        <result property="deptId"    column="dept_id"    />
+        <result property="deptName"    column="dept_name"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createName"    column="create_name"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateName"    column="update_name"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="longitude"    column="longitude"    />
+        <result property="latitude"    column="latitude"    />
+        <result property="plantName"    column="plant_name"    />
+        <result property="plantNumber"    column="plant_number"    />
+        <result property="plantType"    column="plant_type"    />
+        <result property="remarks"    column="remarks"    />
+    </resultMap>
+
+    <sql id="selectCenterdataTForestPlantVo">
+        select a.id, a.dept_id, a.dept_name, a.create_by, a.create_name, a.create_time, a.update_by, a.update_name, a.update_time, a.longitude,
+               a.latitude, a.plant_name, a.plant_number, a.plant_type, a.remarks from centerdata_t_forest_plant a
+    </sql>
+
+    <select id="selectCenterdataTForestPlantList" parameterType="CenterdataTForestPlant" resultMap="CenterdataTForestPlantResult">
+        <include refid="selectCenterdataTForestPlantVo"/>
+        left join ${database_system}.sys_dept d on a.dept_id=d.dept_id
+        <where>
+            <if test="createName != null  and createName != ''">and create_name like concat('%', #{createName}, '%')
+            </if>
+            <if test="updateName != null  and updateName != ''">and update_name like concat('%', #{updateName}, '%')
+            </if>
+            <if test="longitude != null  and longitude != ''">and longitude = #{longitude}</if>
+            <if test="latitude != null  and latitude != ''">and latitude = #{latitude}</if>
+            <if test="plantName != null  and plantName != ''">and plant_name like concat('%', #{plantName}, '%')</if>
+            <if test="plantNumber != null  and plantNumber != ''">and plant_number = #{plantNumber}</if>
+            <if test="plantType != null  and plantType != ''">and plant_type = #{plantType}</if>
+            <if test="remarks != null  and remarks != ''">and remarks = #{remarks}</if>
+            <if test="deptId != null">
+                <choose>
+                    <when test="deptName != null and deptName == 0">
+                        and FIND_IN_SET( #{deptId}, CONCAT( d.ancestors, ",", d.dept_id) )
+                    </when>
+                    <otherwise>and d.dept_id = #{deptId}</otherwise>
+                </choose>
+            </if>
+            ${params.dataScope}
+        </where>
+        order by a.create_time desc
+    </select>
+
+    <select id="selectCenterdataTForestPlantById" parameterType="String" resultMap="CenterdataTForestPlantResult">
+        <include refid="selectCenterdataTForestPlantVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertCenterdataTForestPlant" parameterType="CenterdataTForestPlant">
+        insert into centerdata_t_forest_plant
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="deptId != null">dept_id,</if>
+            <if test="deptName != null">dept_name,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createName != null">create_name,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateName != null">update_name,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="longitude != null">longitude,</if>
+            <if test="latitude != null">latitude,</if>
+            <if test="plantName != null">plant_name,</if>
+            <if test="plantNumber != null">plant_number,</if>
+            <if test="plantType != null">plant_type,</if>
+            <if test="remarks != null">remarks,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="deptId != null">#{deptId},</if>
+            <if test="deptName != null">#{deptName},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createName != null">#{createName},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateName != null">#{updateName},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="longitude != null">#{longitude},</if>
+            <if test="latitude != null">#{latitude},</if>
+            <if test="plantName != null">#{plantName},</if>
+            <if test="plantNumber != null">#{plantNumber},</if>
+            <if test="plantType != null">#{plantType},</if>
+            <if test="remarks != null">#{remarks},</if>
+         </trim>
+    </insert>
+
+    <update id="updateCenterdataTForestPlant" parameterType="CenterdataTForestPlant">
+        update centerdata_t_forest_plant
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="deptId != null">dept_id = #{deptId},</if>
+            <if test="deptName != null">dept_name = #{deptName},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createName != null">create_name = #{createName},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateName != null">update_name = #{updateName},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="longitude != null">longitude = #{longitude},</if>
+            <if test="latitude != null">latitude = #{latitude},</if>
+            <if test="plantName != null">plant_name = #{plantName},</if>
+            <if test="plantNumber != null">plant_number = #{plantNumber},</if>
+            <if test="plantType != null">plant_type = #{plantType},</if>
+            <if test="remarks != null">remarks = #{remarks},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteCenterdataTForestPlantById" parameterType="String">
+        delete from centerdata_t_forest_plant where id = #{id}
+    </delete>
+
+    <delete id="deleteCenterdataTForestPlantByIds" parameterType="String">
+        delete from centerdata_t_forest_plant where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>