Files
FT568-WCS/ruoyi-admin/src/main/java/com/ruoyi/job/controller/MydoJobController.java
2026-04-14 13:36:17 +08:00

142 lines
4.5 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package com.ruoyi.job.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
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.job.domain.MydoJob;
import com.ruoyi.job.service.IMydoJobService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
import static com.ruoyi.common.TaskStatusCode.TASK_EP_DDJ_FINISH;
import static com.ruoyi.common.TaskStatusCode.TASK_EP_SSJ_STOCKOUT_FINISH;
/**
* 作业信息Controller
*
* @author ruoyi
* @date 2025-09-22
*/
@RestController
@RequestMapping("/job/mydoJob")
public class MydoJobController extends BaseController
{
@Autowired
private IMydoJobService mydoJobService;
/**
* 查询作业信息列表
*/
@PreAuthorize("@ss.hasPermi('job:mydoJob:list')")
@GetMapping("/list")
public TableDataInfo list(MydoJob mydoJob)
{
startPage();
List<MydoJob> list = mydoJobService.selectMydoJobList(mydoJob);
return getDataTable(list);
}
/**
* 查询作业信息列表
*/
@PreAuthorize("@ss.hasPermi('job:mydoJob:list')")
@GetMapping("/listFinish")
public TableDataInfo listFinish(MydoJob mydoJob)
{
startPage();
List<MydoJob> list = mydoJobService.selectMydoJobFinishList(mydoJob);
return getDataTable(list);
}
/**
* 导出作业信息列表
*/
@PreAuthorize("@ss.hasPermi('job:mydoJob:export')")
@Log(title = "作业信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, MydoJob mydoJob)
{
List<MydoJob> list = mydoJobService.selectMydoJobList(mydoJob);
ExcelUtil<MydoJob> util = new ExcelUtil<MydoJob>(MydoJob.class);
util.exportExcel(response, list, "作业信息数据");
}
/**
* 获取作业信息详细信息
*/
@PreAuthorize("@ss.hasPermi('job:mydoJob:query')")
@GetMapping(value = "/{jobId}")
public AjaxResult getInfo(@PathVariable("jobId") String jobId)
{
return success(mydoJobService.selectMydoJobByJobId(jobId));
}
/**
* 新增作业信息
*/
@PreAuthorize("@ss.hasPermi('job:mydoJob:add')")
@Log(title = "作业信息", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody MydoJob mydoJob)
{
return toAjax(mydoJobService.insertMydoJob(mydoJob));
}
/**
* 修改作业信息
*/
@PreAuthorize("@ss.hasPermi('job:mydoJob:edit')")
@Log(title = "作业信息", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody MydoJob mydoJob)
{
return toAjax(mydoJobService.updateMydoJob(mydoJob));
}
/**
* 删除作业信息
*/
@PreAuthorize("@ss.hasPermi('job:mydoJob:remove')")
@Log(title = "作业信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{jobIds}")
public AjaxResult remove(@PathVariable String[] jobIds)
{
return toAjax(mydoJobService.deleteMydoJobByJobIds(jobIds));
}
@PreAuthorize("@ss.hasAnyPermi('job:mydoJob:OuthandFinish')")
@Log(title = "出库手动完成", businessType = BusinessType.OTHER)
@RequestMapping("/OuthandFinish")
public AjaxResult manualCompleted(@RequestParam("jobIds")String[] jobIds)
{
return mydoJobService.OuthandFinish(jobIds);
}
/**
* 处理未正常移除的【堆垛机执行完成】或【出库到位】的遗留任务
*/
@Scheduled(fixedDelay = 3000)
public void mydoJobHandler() {
//此处堆垛机执行完成-【TASK_EP_DDJ_FINISH】或出库到位-【TASK_EP_SSJ_STOCKOUT_FINISH】的常量值相同,均可表示任务【已完成】
//用其中一种状态查询所有标记为【已完成】的任务
List<MydoJob> jobs = mydoJobService.selectMydoJobList(
new MydoJob().builder().executionPhase(TASK_EP_DDJ_FINISH).build()
);
if (!jobs.isEmpty()) {
for (MydoJob job : jobs) {
mydoJobService.taskFinish(Long.valueOf(job.getTaskNo()));
}
}
}
}