Quellcode durchsuchen

system-base增加农事模版基础代码

jiuling vor 10 Monaten
Ursprung
Commit
625776b67e

+ 113 - 0
ruoyi-modules/ruoyi-base/src/main/java/com/ruoyi/base/controller/AgriculturalTasksController.java

@@ -0,0 +1,113 @@
+package com.ruoyi.base.controller;
+
+import java.util.List;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+
+import com.ruoyi.common.core.domain.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.security.annotation.RequiresPermissions;
+import com.ruoyi.base.domain.AgriculturalTasks;
+import com.ruoyi.base.service.IAgriculturalTasksService;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.web.page.TableDataInfo;
+
+/**
+ * 农事任务Controller
+ * 
+ * @author ruoyi
+ * @date 2025-07-22
+ */
+@RestController
+@RequestMapping("/tasks")
+public class AgriculturalTasksController extends BaseController
+{
+    @Autowired
+    private IAgriculturalTasksService agriculturalTasksService;
+
+    /**
+     * 查询农事任务列表
+     */
+//    @RequiresPermissions("system:tasks:list")
+    @GetMapping("/list")
+    public TableDataInfo list(AgriculturalTasks agriculturalTasks)
+    {
+        startPage();
+        List<AgriculturalTasks> list = agriculturalTasksService.selectAgriculturalTasksList(agriculturalTasks);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出农事任务列表
+     */
+    @RequiresPermissions("system:tasks:export")
+    @Log(title = "农事任务", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, AgriculturalTasks agriculturalTasks)
+    {
+        List<AgriculturalTasks> list = agriculturalTasksService.selectAgriculturalTasksList(agriculturalTasks);
+        ExcelUtil<AgriculturalTasks> util = new ExcelUtil<AgriculturalTasks>(AgriculturalTasks.class);
+        util.exportExcel(response, list, "农事任务数据");
+    }
+
+    /**
+     * 获取农事任务详细信息
+     */
+//    @RequiresPermissions("system:tasks:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(agriculturalTasksService.selectAgriculturalTasksById(id));
+    }
+
+    /**
+     * 新增农事任务
+     */
+    @Log(title = "农事任务", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody AgriculturalTasks agriculturalTasks)
+    {
+        return toAjax(agriculturalTasksService.insertAgriculturalTasks(agriculturalTasks));
+    }
+
+    /**
+     * 修改农事任务
+     */
+//    @RequiresPermissions("system:tasks:edit")
+    @Log(title = "农事任务", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody AgriculturalTasks agriculturalTasks)
+    {
+        return toAjax(agriculturalTasksService.updateAgriculturalTasks(agriculturalTasks));
+    }
+
+
+    /**
+     * 删除农事任务
+     */
+    @RequiresPermissions("system:tasks:remove")
+    @Log(title = "农事任务", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(agriculturalTasksService.deleteAgriculturalTasksByIds(ids));
+    }
+
+    @PostMapping("/countType")
+    public R count(@RequestBody AgriculturalTasks agriculturalTasks){
+
+        return R.ok(agriculturalTasksService.countStatusTypeTasks(agriculturalTasks));
+    }
+}

+ 194 - 0
ruoyi-modules/ruoyi-base/src/main/java/com/ruoyi/base/domain/AgriculturalTasks.java

@@ -0,0 +1,194 @@
+package com.ruoyi.base.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+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;
+
+/**
+ * 农事任务对象 agricultural_tasks
+ * 
+ * @author ruoyi
+ * @date 2025-07-22
+ */
+public class AgriculturalTasks extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** $column.columnComment */
+    private Long id;
+
+    /** 关联地块ID */
+    @Excel(name = "关联地块ID")
+    private Long plotId;
+
+    /** 任务名称 */
+    @Excel(name = "任务名称")
+    private String taskName;
+
+    /** 任务图片URL */
+    @Excel(name = "任务图片URL")
+    private String taskImages;
+
+    /** 任务类型名称:施肥、灌溉、打药等 */
+    @Excel(name = "任务类型名称:施肥、灌溉、打药等")
+    private String typeName;
+
+    /** 任务状态 */
+    @Excel(name = "任务状态")
+    private String taskStatus;
+
+    /** 计划执行时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "计划执行时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date executeTime;
+
+    /** 负责人名称 */
+    @Excel(name = "负责人名称")
+    private Long assigneeId;
+
+    /** 实际完成时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "实际完成时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date completionTime;
+
+    /** 完成说明 */
+    @Excel(name = "完成说明")
+    private String completionDesc;
+
+    /** 创建人ID */
+    @Excel(name = "创建人ID")
+    private Long creatorId;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+
+    public void setPlotId(Long plotId) 
+    {
+        this.plotId = plotId;
+    }
+
+    public Long getPlotId() 
+    {
+        return plotId;
+    }
+
+    public void setTaskName(String taskName) 
+    {
+        this.taskName = taskName;
+    }
+
+    public String getTaskName() 
+    {
+        return taskName;
+    }
+
+    public void setTaskImages(String taskImages) 
+    {
+        this.taskImages = taskImages;
+    }
+
+    public String getTaskImages() 
+    {
+        return taskImages;
+    }
+
+    public void setTypeName(String typeName) 
+    {
+        this.typeName = typeName;
+    }
+
+    public String getTypeName() 
+    {
+        return typeName;
+    }
+
+    public void setTaskStatus(String taskStatus) 
+    {
+        this.taskStatus = taskStatus;
+    }
+
+    public String getTaskStatus() 
+    {
+        return taskStatus;
+    }
+
+    public void setExecuteTime(Date executeTime) 
+    {
+        this.executeTime = executeTime;
+    }
+
+    public Date getExecuteTime() 
+    {
+        return executeTime;
+    }
+
+    public void setAssigneeId(Long assigneeId) 
+    {
+        this.assigneeId = assigneeId;
+    }
+
+    public Long getAssigneeId() 
+    {
+        return assigneeId;
+    }
+
+    public void setCompletionTime(Date completionTime) 
+    {
+        this.completionTime = completionTime;
+    }
+
+    public Date getCompletionTime() 
+    {
+        return completionTime;
+    }
+
+    public void setCompletionDesc(String completionDesc) 
+    {
+        this.completionDesc = completionDesc;
+    }
+
+    public String getCompletionDesc() 
+    {
+        return completionDesc;
+    }
+
+    public void setCreatorId(Long creatorId) 
+    {
+        this.creatorId = creatorId;
+    }
+
+    public Long getCreatorId() 
+    {
+        return creatorId;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("plotId", getPlotId())
+            .append("taskName", getTaskName())
+            .append("taskImages", getTaskImages())
+            .append("typeName", getTypeName())
+            .append("taskStatus", getTaskStatus())
+            .append("executeTime", getExecuteTime())
+            .append("assigneeId", getAssigneeId())
+            .append("remark", getRemark())
+            .append("completionTime", getCompletionTime())
+            .append("completionDesc", getCompletionDesc())
+            .append("creatorId", getCreatorId())
+            .append("createTime", getCreateTime())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 63 - 0
ruoyi-modules/ruoyi-base/src/main/java/com/ruoyi/base/mapper/AgriculturalTasksMapper.java

@@ -0,0 +1,63 @@
+package com.ruoyi.base.mapper;
+
+import java.util.List;
+import com.ruoyi.base.domain.AgriculturalTasks;
+
+/**
+ * 农事任务Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2025-07-22
+ */
+public interface AgriculturalTasksMapper 
+{
+    /**
+     * 查询农事任务
+     * 
+     * @param id 农事任务主键
+     * @return 农事任务
+     */
+    public AgriculturalTasks selectAgriculturalTasksById(Long id);
+
+    /**
+     * 查询农事任务列表
+     * 
+     * @param agriculturalTasks 农事任务
+     * @return 农事任务集合
+     */
+    public List<AgriculturalTasks> selectAgriculturalTasksList(AgriculturalTasks agriculturalTasks);
+
+    /**
+     * 新增农事任务
+     * 
+     * @param agriculturalTasks 农事任务
+     * @return 结果
+     */
+    public int insertAgriculturalTasks(AgriculturalTasks agriculturalTasks);
+
+    /**
+     * 修改农事任务
+     * 
+     * @param agriculturalTasks 农事任务
+     * @return 结果
+     */
+    public int updateAgriculturalTasks(AgriculturalTasks agriculturalTasks);
+
+    /**
+     * 删除农事任务
+     * 
+     * @param id 农事任务主键
+     * @return 结果
+     */
+    public int deleteAgriculturalTasksById(Long id);
+
+    /**
+     * 批量删除农事任务
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteAgriculturalTasksByIds(Long[] ids);
+
+    int countStatusTypeTasks(AgriculturalTasks agriculturalTasks);
+}

+ 63 - 0
ruoyi-modules/ruoyi-base/src/main/java/com/ruoyi/base/service/IAgriculturalTasksService.java

@@ -0,0 +1,63 @@
+package com.ruoyi.base.service;
+
+import java.util.List;
+import com.ruoyi.base.domain.AgriculturalTasks;
+
+/**
+ * 农事任务Service接口
+ * 
+ * @author ruoyi
+ * @date 2025-07-22
+ */
+public interface IAgriculturalTasksService 
+{
+    /**
+     * 查询农事任务
+     * 
+     * @param id 农事任务主键
+     * @return 农事任务
+     */
+    public AgriculturalTasks selectAgriculturalTasksById(Long id);
+
+    /**
+     * 查询农事任务列表
+     * 
+     * @param agriculturalTasks 农事任务
+     * @return 农事任务集合
+     */
+    public List<AgriculturalTasks> selectAgriculturalTasksList(AgriculturalTasks agriculturalTasks);
+
+    /**
+     * 新增农事任务
+     * 
+     * @param agriculturalTasks 农事任务
+     * @return 结果
+     */
+    public int insertAgriculturalTasks(AgriculturalTasks agriculturalTasks);
+
+    /**
+     * 修改农事任务
+     * 
+     * @param agriculturalTasks 农事任务
+     * @return 结果
+     */
+    public int updateAgriculturalTasks(AgriculturalTasks agriculturalTasks);
+
+    /**
+     * 批量删除农事任务
+     * 
+     * @param ids 需要删除的农事任务主键集合
+     * @return 结果
+     */
+    public int deleteAgriculturalTasksByIds(Long[] ids);
+
+    /**
+     * 删除农事任务信息
+     * 
+     * @param id 农事任务主键
+     * @return 结果
+     */
+    public int deleteAgriculturalTasksById(Long id);
+
+    int countStatusTypeTasks(AgriculturalTasks agriculturalTasks);
+}

+ 101 - 0
ruoyi-modules/ruoyi-base/src/main/java/com/ruoyi/base/service/impl/AgriculturalTasksServiceImpl.java

@@ -0,0 +1,101 @@
+package com.ruoyi.base.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.core.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.base.mapper.AgriculturalTasksMapper;
+import com.ruoyi.base.domain.AgriculturalTasks;
+import com.ruoyi.base.service.IAgriculturalTasksService;
+
+/**
+ * 农事任务Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2025-07-22
+ */
+@Service
+public class AgriculturalTasksServiceImpl implements IAgriculturalTasksService 
+{
+    @Autowired
+    private AgriculturalTasksMapper agriculturalTasksMapper;
+
+    /**
+     * 查询农事任务
+     * 
+     * @param id 农事任务主键
+     * @return 农事任务
+     */
+    @Override
+    public AgriculturalTasks selectAgriculturalTasksById(Long id)
+    {
+        return agriculturalTasksMapper.selectAgriculturalTasksById(id);
+    }
+
+    /**
+     * 查询农事任务列表
+     * 
+     * @param agriculturalTasks 农事任务
+     * @return 农事任务
+     */
+    @Override
+    public List<AgriculturalTasks> selectAgriculturalTasksList(AgriculturalTasks agriculturalTasks)
+    {
+        return agriculturalTasksMapper.selectAgriculturalTasksList(agriculturalTasks);
+    }
+
+    /**
+     * 新增农事任务
+     * 
+     * @param agriculturalTasks 农事任务
+     * @return 结果
+     */
+    @Override
+    public int insertAgriculturalTasks(AgriculturalTasks agriculturalTasks)
+    {
+        agriculturalTasks.setCreateTime(DateUtils.getNowDate());
+        return agriculturalTasksMapper.insertAgriculturalTasks(agriculturalTasks);
+    }
+
+    /**
+     * 修改农事任务
+     * 
+     * @param agriculturalTasks 农事任务
+     * @return 结果
+     */
+    @Override
+    public int updateAgriculturalTasks(AgriculturalTasks agriculturalTasks)
+    {
+        agriculturalTasks.setUpdateTime(DateUtils.getNowDate());
+        return agriculturalTasksMapper.updateAgriculturalTasks(agriculturalTasks);
+    }
+
+    /**
+     * 批量删除农事任务
+     * 
+     * @param ids 需要删除的农事任务主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAgriculturalTasksByIds(Long[] ids)
+    {
+        return agriculturalTasksMapper.deleteAgriculturalTasksByIds(ids);
+    }
+
+    /**
+     * 删除农事任务信息
+     * 
+     * @param id 农事任务主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAgriculturalTasksById(Long id)
+    {
+        return agriculturalTasksMapper.deleteAgriculturalTasksById(id);
+    }
+
+    @Override
+    public int countStatusTypeTasks(AgriculturalTasks agriculturalTasks) {
+        return agriculturalTasksMapper.countStatusTypeTasks(agriculturalTasks);
+    }
+}

+ 121 - 0
ruoyi-modules/ruoyi-base/src/main/resources/mapper/base/AgriculturalTasksMapper.xml

@@ -0,0 +1,121 @@
+<?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.ruoyi.base.mapper.AgriculturalTasksMapper">
+    
+    <resultMap type="AgriculturalTasks" id="AgriculturalTasksResult">
+        <result property="id"    column="id"    />
+        <result property="plotId"    column="plot_id"    />
+        <result property="taskName"    column="task_name"    />
+        <result property="taskImages"    column="task_images"    />
+        <result property="typeName"    column="type_name"    />
+        <result property="taskStatus"    column="task_status"    />
+        <result property="executeTime"    column="execute_time"    />
+        <result property="assigneeId"    column="assignee_id"    />
+        <result property="remark"    column="remark"    />
+        <result property="completionTime"    column="completion_time"    />
+        <result property="completionDesc"    column="completion_desc"    />
+        <result property="creatorId"    column="creator_id"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectAgriculturalTasksVo">
+        select id, plot_id, task_name, task_images, type_name, task_status, execute_time, assignee_id, remark, completion_time, completion_desc, creator_id, create_time, update_time from agricultural_tasks
+    </sql>
+
+    <select id="selectAgriculturalTasksList" parameterType="AgriculturalTasks" resultMap="AgriculturalTasksResult">
+        <include refid="selectAgriculturalTasksVo"/>
+        <where>  
+            <if test="plotId != null "> and plot_id = #{plotId}</if>
+            <if test="taskName != null  and taskName != ''"> and task_name like concat('%', #{taskName}, '%')</if>
+            <if test="taskImages != null  and taskImages != ''"> and task_images = #{taskImages}</if>
+            <if test="typeName != null  and typeName != ''"> and type_name like concat('%', #{typeName}, '%')</if>
+            <if test="taskStatus != null  and taskStatus != ''"> and task_status = #{taskStatus}</if>
+            <if test="executeTime != null "> and execute_time = #{executeTime}</if>
+            <if test="assigneeId != null "> and assignee_id = #{assigneeId}</if>
+            <if test="completionTime != null "> and completion_time = #{completionTime}</if>
+            <if test="completionDesc != null  and completionDesc != ''"> and completion_desc = #{completionDesc}</if>
+            <if test="creatorId != null "> and creator_id = #{creatorId}</if>
+        </where>
+    </select>
+    
+    <select id="selectAgriculturalTasksById" parameterType="Long" resultMap="AgriculturalTasksResult">
+        <include refid="selectAgriculturalTasksVo"/>
+        where id = #{id}
+    </select>
+    <select id="countStatusTypeTasks" resultType="java.lang.Integer" parameterType="AgriculturalTasks">
+        select count(*) from agricultural_tasks
+        <where>
+            <if test="plotId != null "> and plot_id = #{plotId}</if>
+            <if test="taskStatus != null  and taskStatus != ''"> and task_status = #{taskStatus}</if>
+            <if test="assigneeId != null "> and assignee_id = #{assigneeId}</if>
+        </where>
+    </select>
+
+    <insert id="insertAgriculturalTasks" parameterType="AgriculturalTasks" useGeneratedKeys="true" keyProperty="id">
+        insert into agricultural_tasks
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="plotId != null">plot_id,</if>
+            <if test="taskName != null and taskName != ''">task_name,</if>
+            <if test="taskImages != null and taskImages != ''">task_images,</if>
+            <if test="typeName != null and typeName != ''">type_name,</if>
+            <if test="taskStatus != null">task_status,</if>
+            <if test="executeTime != null">execute_time,</if>
+            <if test="assigneeId != null">assignee_id,</if>
+            <if test="remark != null">remark,</if>
+            <if test="completionTime != null">completion_time,</if>
+            <if test="completionDesc != null">completion_desc,</if>
+            <if test="creatorId != null">creator_id,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="plotId != null">#{plotId},</if>
+            <if test="taskName != null and taskName != ''">#{taskName},</if>
+            <if test="taskImages != null and taskImages != ''">#{taskImages},</if>
+            <if test="typeName != null and typeName != ''">#{typeName},</if>
+            <if test="taskStatus != null">#{taskStatus},</if>
+            <if test="executeTime != null">#{executeTime},</if>
+            <if test="assigneeId != null">#{assigneeId},</if>
+            <if test="remark != null">#{remark},</if>
+            <if test="completionTime != null">#{completionTime},</if>
+            <if test="completionDesc != null">#{completionDesc},</if>
+            <if test="creatorId != null">#{creatorId},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateAgriculturalTasks" parameterType="AgriculturalTasks">
+        update agricultural_tasks
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="plotId != null">plot_id = #{plotId},</if>
+            <if test="taskName != null and taskName != ''">task_name = #{taskName},</if>
+            <if test="taskImages != null and taskImages != ''">task_images = #{taskImages},</if>
+            <if test="typeName != null and typeName != ''">type_name = #{typeName},</if>
+            <if test="taskStatus != null">task_status = #{taskStatus},</if>
+            <if test="executeTime != null">execute_time = #{executeTime},</if>
+            <if test="assigneeId != null">assignee_id = #{assigneeId},</if>
+            <if test="remark != null">remark = #{remark},</if>
+            <if test="completionTime != null">completion_time = #{completionTime},</if>
+            <if test="completionDesc != null">completion_desc = #{completionDesc},</if>
+            <if test="creatorId != null">creator_id = #{creatorId},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteAgriculturalTasksById" parameterType="Long">
+        delete from agricultural_tasks where id = #{id}
+    </delete>
+
+    <delete id="deleteAgriculturalTasksByIds" parameterType="String">
+        delete from agricultural_tasks where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>