This commit is contained in:
1009473166@qq.com
2026-07-31 10:35:09 +08:00
parent b206402e13
commit ac175a1405
6 changed files with 624 additions and 0 deletions

View File

@@ -0,0 +1,104 @@
package com.ruoyi.system.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
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.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.domain.AgvContainerTask;
import com.ruoyi.system.service.IAgvContainerTaskService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* agv料架搬运任务Controller
*
* @author ruoyi
* @date 2026-05-15
*/
@RestController
@RequestMapping("/system/task")
public class AgvContainerTaskController extends BaseController
{
@Autowired
private IAgvContainerTaskService agvContainerTaskService;
/**
* 查询agv料架搬运任务列表
*/
@PreAuthorize("@ss.hasPermi('system:task:list')")
@GetMapping("/list")
public TableDataInfo list(AgvContainerTask agvContainerTask)
{
startPage();
List<AgvContainerTask> list = agvContainerTaskService.selectAgvContainerTaskList(agvContainerTask);
return getDataTable(list);
}
/**
* 导出agv料架搬运任务列表
*/
@PreAuthorize("@ss.hasPermi('system:task:export')")
@Log(title = "agv料架搬运任务", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, AgvContainerTask agvContainerTask)
{
List<AgvContainerTask> list = agvContainerTaskService.selectAgvContainerTaskList(agvContainerTask);
ExcelUtil<AgvContainerTask> util = new ExcelUtil<AgvContainerTask>(AgvContainerTask.class);
util.exportExcel(response, list, "agv料架搬运任务数据");
}
/**
* 获取agv料架搬运任务详细信息
*/
@PreAuthorize("@ss.hasPermi('system:task:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(agvContainerTaskService.selectAgvContainerTaskById(id));
}
/**
* 新增agv料架搬运任务
*/
@PreAuthorize("@ss.hasPermi('system:task:add')")
@Log(title = "agv料架搬运任务", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody AgvContainerTask agvContainerTask)
{
return toAjax(agvContainerTaskService.insertAgvContainerTask(agvContainerTask));
}
/**
* 修改agv料架搬运任务
*/
@PreAuthorize("@ss.hasPermi('system:task:edit')")
@Log(title = "agv料架搬运任务", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody AgvContainerTask agvContainerTask)
{
return toAjax(agvContainerTaskService.updateAgvContainerTask(agvContainerTask));
}
/**
* 删除agv料架搬运任务
*/
@PreAuthorize("@ss.hasPermi('system:task:remove')")
@Log(title = "agv料架搬运任务", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(agvContainerTaskService.deleteAgvContainerTaskByIds(ids));
}
}

View File

@@ -0,0 +1,173 @@
package com.ruoyi.system.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* agv料架搬运任务对象 agv_container_task
*
* @author ruoyi
* @date 2026-05-15
*/
public class AgvContainerTask extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** 作业编码 */
@Excel(name = "作业编码")
private String container;
/** 起点 */
@Excel(name = "起点")
private String startPoint;
/** 终点 */
@Excel(name = "终点")
private String endPoint;
/** 开始时间 */
@Excel(name = "开始时间")
private String startTime;
/** 结束时间 */
@Excel(name = "结束时间")
private String finishTime;
/** 任务号 */
@Excel(name = "任务号")
private String taskNo;
/** 任务状态 0-创建 1-执行中 2-完成 */
@Excel(name = "任务状态 0-创建 1-执行中 2-完成")
private String status;
/** 任务类型 */
@Excel(name = "任务类型")
private String spare1;
/** 托盘码 */
@Excel(name = "托盘码")
private String spare2;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setContainer(String container)
{
this.container = container;
}
public String getContainer()
{
return container;
}
public void setStartPoint(String startPoint)
{
this.startPoint = startPoint;
}
public String getStartPoint()
{
return startPoint;
}
public void setEndPoint(String endPoint)
{
this.endPoint = endPoint;
}
public String getEndPoint()
{
return endPoint;
}
public void setStartTime(String startTime)
{
this.startTime = startTime;
}
public String getStartTime()
{
return startTime;
}
public void setFinishTime(String finishTime)
{
this.finishTime = finishTime;
}
public String getFinishTime()
{
return finishTime;
}
public void setTaskNo(String taskNo)
{
this.taskNo = taskNo;
}
public String getTaskNo()
{
return taskNo;
}
public void setStatus(String status)
{
this.status = status;
}
public String getStatus()
{
return status;
}
public void setSpare1(String spare1)
{
this.spare1 = spare1;
}
public String getSpare1()
{
return spare1;
}
public void setSpare2(String spare2)
{
this.spare2 = spare2;
}
public String getSpare2()
{
return spare2;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("container", getContainer())
.append("startPoint", getStartPoint())
.append("endPoint", getEndPoint())
.append("createTime", getCreateTime())
.append("startTime", getStartTime())
.append("finishTime", getFinishTime())
.append("taskNo", getTaskNo())
.append("status", getStatus())
.append("spare1", getSpare1())
.append("spare2", getSpare2())
.toString();
}
}

View File

@@ -0,0 +1,68 @@
package com.ruoyi.system.mapper;
import java.util.List;
import com.ruoyi.system.domain.AgvContainerTask;
/**
* agv料架搬运任务Mapper接口
*
* @author ruoyi
* @date 2026-05-15
*/
public interface AgvContainerTaskMapper
{
/**
* 查询agv料架搬运任务
*
* @param id agv料架搬运任务主键
* @return agv料架搬运任务
*/
public AgvContainerTask selectAgvContainerTaskById(Long id);
/**
* 查询agv料架搬运任务列表
*
* @param agvContainerTask agv料架搬运任务
* @return agv料架搬运任务集合
*/
public List<AgvContainerTask> selectAgvContainerTaskList(AgvContainerTask agvContainerTask);
/**
* 新增agv料架搬运任务
*
* @param agvContainerTask agv料架搬运任务
* @return 结果
*/
public int insertAgvContainerTask(AgvContainerTask agvContainerTask);
/**
* 修改agv料架搬运任务
*
* @param agvContainerTask agv料架搬运任务
* @return 结果
*/
public int updateAgvContainerTask(AgvContainerTask agvContainerTask);
/**
* 删除agv料架搬运任务
*
* @param id agv料架搬运任务主键
* @return 结果
*/
public int deleteAgvContainerTaskById(Long id);
public int deleteAgvContainerTaskByContainer(String orderId);
/**
* 批量删除agv料架搬运任务
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteAgvContainerTaskByIds(Long[] ids);
void insertAgvContainerTaskFinish(String orderId);
void updateAgvContainerTaskByOrder(String orderId);
AgvContainerTask selectAgvContainerFinishOne();
}

View File

@@ -0,0 +1,63 @@
package com.ruoyi.system.service;
import java.util.List;
import com.ruoyi.system.domain.AgvContainerTask;
/**
* agv料架搬运任务Service接口
*
* @author ruoyi
* @date 2026-05-15
*/
public interface IAgvContainerTaskService
{
/**
* 查询agv料架搬运任务
*
* @param id agv料架搬运任务主键
* @return agv料架搬运任务
*/
public AgvContainerTask selectAgvContainerTaskById(Long id);
/**
* 查询agv料架搬运任务列表
*
* @param agvContainerTask agv料架搬运任务
* @return agv料架搬运任务集合
*/
public List<AgvContainerTask> selectAgvContainerTaskList(AgvContainerTask agvContainerTask);
/**
* 新增agv料架搬运任务
*
* @param agvContainerTask agv料架搬运任务
* @return 结果
*/
public int insertAgvContainerTask(AgvContainerTask agvContainerTask);
/**
* 修改agv料架搬运任务
*
* @param agvContainerTask agv料架搬运任务
* @return 结果
*/
public int updateAgvContainerTask(AgvContainerTask agvContainerTask);
/**
* 批量删除agv料架搬运任务
*
* @param ids 需要删除的agv料架搬运任务主键集合
* @return 结果
*/
public int deleteAgvContainerTaskByIds(Long[] ids);
/**
* 删除agv料架搬运任务信息
*
* @param id agv料架搬运任务主键
* @return 结果
*/
public int deleteAgvContainerTaskById(Long id);
void deleteAgvContainerTaskByOrderId(String container);
}

View File

@@ -0,0 +1,100 @@
package com.ruoyi.system.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.AgvContainerTaskMapper;
import com.ruoyi.system.domain.AgvContainerTask;
import com.ruoyi.system.service.IAgvContainerTaskService;
/**
* agv料架搬运任务Service业务层处理
*
* @author ruoyi
* @date 2026-05-15
*/
@Service
public class AgvContainerTaskServiceImpl implements IAgvContainerTaskService
{
@Autowired
private AgvContainerTaskMapper agvContainerTaskMapper;
/**
* 查询agv料架搬运任务
*
* @param id agv料架搬运任务主键
* @return agv料架搬运任务
*/
@Override
public AgvContainerTask selectAgvContainerTaskById(Long id)
{
return agvContainerTaskMapper.selectAgvContainerTaskById(id);
}
/**
* 查询agv料架搬运任务列表
*
* @param agvContainerTask agv料架搬运任务
* @return agv料架搬运任务
*/
@Override
public List<AgvContainerTask> selectAgvContainerTaskList(AgvContainerTask agvContainerTask)
{
return agvContainerTaskMapper.selectAgvContainerTaskList(agvContainerTask);
}
/**
* 新增agv料架搬运任务
*
* @param agvContainerTask agv料架搬运任务
* @return 结果
*/
@Override
public int insertAgvContainerTask(AgvContainerTask agvContainerTask)
{
agvContainerTask.setCreateTime(DateUtils.getNowDate());
return agvContainerTaskMapper.insertAgvContainerTask(agvContainerTask);
}
/**
* 修改agv料架搬运任务
*
* @param agvContainerTask agv料架搬运任务
* @return 结果
*/
@Override
public int updateAgvContainerTask(AgvContainerTask agvContainerTask)
{
return agvContainerTaskMapper.updateAgvContainerTask(agvContainerTask);
}
/**
* 批量删除agv料架搬运任务
*
* @param ids 需要删除的agv料架搬运任务主键
* @return 结果
*/
@Override
public int deleteAgvContainerTaskByIds(Long[] ids)
{
return agvContainerTaskMapper.deleteAgvContainerTaskByIds(ids);
}
/**
* 删除agv料架搬运任务信息
*
* @param id agv料架搬运任务主键
* @return 结果
*/
@Override
public int deleteAgvContainerTaskById(Long id)
{
return agvContainerTaskMapper.deleteAgvContainerTaskById(id);
}
@Override
public void deleteAgvContainerTaskByOrderId(String container) {
agvContainerTaskMapper.deleteAgvContainerTaskByContainer(container);
}
}

View File

@@ -0,0 +1,116 @@
<?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.system.mapper.AgvContainerTaskMapper">
<resultMap type="AgvContainerTask" id="AgvContainerTaskResult">
<result property="id" column="id" />
<result property="container" column="container" />
<result property="startPoint" column="start_point" />
<result property="endPoint" column="end_point" />
<result property="createTime" column="create_time" />
<result property="startTime" column="start_time" />
<result property="finishTime" column="finish_time" />
<result property="taskNo" column="task_no" />
<result property="status" column="status" />
<result property="spare1" column="spare1" />
<result property="spare2" column="spare2" />
</resultMap>
<sql id="selectAgvContainerTaskVo">
select id, container, start_point, end_point, create_time, start_time, finish_time, task_no, status, spare1, spare2 from agv_container_task
</sql>
<select id="selectAgvContainerTaskList" parameterType="AgvContainerTask" resultMap="AgvContainerTaskResult">
<include refid="selectAgvContainerTaskVo"/>
<where>
<if test="container != null and container != ''"> and container = #{container}</if>
<if test="startPoint != null and startPoint != ''"> and start_point = #{startPoint}</if>
<if test="endPoint != null and endPoint != ''"> and end_point = #{endPoint}</if>
<if test="startTime != null and startTime != ''"> and start_time = #{startTime}</if>
<if test="finishTime != null and finishTime != ''"> and finish_time = #{finishTime}</if>
<if test="taskNo != null and taskNo != ''"> and task_no = #{taskNo}</if>
<if test="status != null and status != ''"> and status = #{status}</if>
<if test="spare1 != null and spare1 != ''"> and spare1 = #{spare1}</if>
<if test="spare2 != null and spare2 != ''"> and spare2 = #{spare2}</if>
</where>
</select>
<select id="selectAgvContainerTaskById" parameterType="Long" resultMap="AgvContainerTaskResult">
<include refid="selectAgvContainerTaskVo"/>
where id = #{id}
</select>
<insert id="insertAgvContainerTask" parameterType="AgvContainerTask" useGeneratedKeys="true" keyProperty="id">
insert into agv_container_task
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="container != null">container,</if>
<if test="startPoint != null">start_point,</if>
<if test="endPoint != null">end_point,</if>
<if test="createTime != null">create_time,</if>
<if test="startTime != null">start_time,</if>
<if test="finishTime != null">finish_time,</if>
<if test="taskNo != null">task_no,</if>
<if test="status != null">status,</if>
<if test="spare1 != null">spare1,</if>
<if test="spare2 != null">spare2,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="container != null">#{container},</if>
<if test="startPoint != null">#{startPoint},</if>
<if test="endPoint != null">#{endPoint},</if>
<if test="createTime != null">#{createTime},</if>
<if test="startTime != null">#{startTime},</if>
<if test="finishTime != null">#{finishTime},</if>
<if test="taskNo != null">#{taskNo},</if>
<if test="status != null">#{status},</if>
<if test="spare1 != null">#{spare1},</if>
<if test="spare2 != null">#{spare2},</if>
</trim>
</insert>
<update id="updateAgvContainerTask" parameterType="AgvContainerTask">
update agv_container_task
<trim prefix="SET" suffixOverrides=",">
<if test="container != null">container = #{container},</if>
<if test="startPoint != null">start_point = #{startPoint},</if>
<if test="endPoint != null">end_point = #{endPoint},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="startTime != null">start_time = #{startTime},</if>
<if test="finishTime != null">finish_time = #{finishTime},</if>
<if test="taskNo != null">task_no = #{taskNo},</if>
<if test="status != null">status = #{status},</if>
<if test="spare1 != null">spare1 = #{spare1},</if>
<if test="spare2 != null">spare2 = #{spare2},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteAgvContainerTaskById" parameterType="Long">
delete from agv_container_task where id = #{id}
</delete>
<delete id="deleteAgvContainerTaskByContainer" parameterType="string">
delete from agv_container_task where container = #{container}
</delete>
<delete id="deleteAgvContainerTaskByIds" parameterType="String">
delete from agv_container_task where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
<select id="insertAgvContainerTaskFinish" parameterType="string">
insert into agv_container_task_finish select * from agv_container_task where container=#{orderId}
</select>
<update id="updateAgvContainerTaskByOrder" parameterType="string">
update agv_container_task set status='2' where container=#{orderId}
</update>
<select id="selectAgvContainerFinishOne" resultMap="AgvContainerTaskResult">
select top 1 * from agv_container_task where status='2'
</select>
</mapper>