package com.mes.md.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.md.entity.KBBTLensSorting;
import com.mes.md.entity.LineConfiguration;
import com.mes.md.entity.Machine;
import com.mes.md.entity.Tasking;
import com.mes.md.mapper.KBBTLensSortingMapper;
import com.mes.md.mapper.MachineMapper;
import com.mes.md.mapper.TaskingMapper;
import com.mes.md.service.ProjectService;
import com.mes.md.service.TaskingLogService;
import com.mes.md.service.TaskingService;
import com.mes.utils.Result;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
*
* 工作任务操作记录明细 前端控制器
*
*
* @author yanzhixin
* @since 2024-09-13
*/
@RestController
@RequestMapping("/tasking")
public class TaskingController {
@Autowired
private TaskingService taskingService;
@Autowired
private ProjectService projectService;
@Autowired
private MachineMapper machineMapper;
@Autowired
private TaskingMapper taskingMapper;
@Autowired
private TaskingLogService taskingLogService;
@Autowired
private KBBTLensSortingMapper kBBTLensSortingMapper;
@ApiOperation("查询库位信息 返回结果")
@PostMapping("/findKBBTLensSorting")
@ResponseBody
public Result findKBBTLensSorting(@RequestBody Map map) {
try {
String scanId = map.get("scanId").toString();
if (!scanId.isEmpty()) {
List list = kBBTLensSortingMapper.selectList(new QueryWrapper().lambda()
.eq(KBBTLensSorting::getBarcode, scanId));
return Result.build(200, "成功", list);
}
return Result.build(199, "前端传值NULL", map);
} catch (Exception e) {
return Result.build(199, "异常", map);
}
}
@ApiOperation("扫码成功后返回结果 machineId,scanId")
@PostMapping("/scanMachineAdd")
@ResponseBody
public Result scanMachineAdd(@RequestBody Map map) {
try {
String machineId = map.get("machineId").toString();
String scanId = map.get("scanId").toString();
if (!scanId.isEmpty() && !machineId.isEmpty()) {
Machine machine = machineMapper.selectById(machineId);
int addCount = taskingService.scanMachineAdd(machine, scanId);
return Result.build(200, "成功", addCount);
}
return Result.build(199, "前端传值NULL", map);
} catch (Exception e) {
return Result.build(199, "异常", map);
}
}
@ApiOperation("报工提交 ")
@PostMapping("/reportForWork")
@ResponseBody
public Result reportForWork(@RequestBody Machine machine) {
try {
int deleteCount = taskingMapper.deleteJoin(new MPJLambdaWrapper()
.selectAll(Tasking.class)
.innerJoin(LineConfiguration.class, LineConfiguration::getId, Tasking::getLineConfigurationId)
.innerJoin(Machine.class, Machine::getId, LineConfiguration::getMachineId)
.eq(LineConfiguration::getMachineId, machine.getId())
.eq(Tasking::getGlassState, "正常")
.eq(Tasking::getState, "线上")
.ne(Tasking::getWorkState, "完工"));
taskingLogService.reportTaskingLog();
return Result.build(200, "成功", deleteCount);
} catch (Exception e) {
return Result.build(199, "异常", machine);
}
}
@ApiOperation("查询当前设备,未完工状态的线上任务")
@PostMapping("/findMachineTask")
@ResponseBody
public Result findMachineTask(@RequestBody Machine machine) {
List list = taskingService.findMachineTask(machine);
return Result.build(200, "成功", list);
}
@ApiOperation("查询当前设备,某状态的线上任务【等待/正在工作/完工】")
@PostMapping("/findMachineWorkStateTask")
@ResponseBody
public Result findMachineWorkStateTask(@RequestBody Machine machine, String workState) {
List list = taskingService.findMachineWorkStateTask(machine, workState);
return Result.build(200, "成功", list);
}
@ApiOperation("修改玻璃状态 【破损】")
@PostMapping("/damagedTask")
@ResponseBody
public Result damagedTask(@RequestBody Tasking tasking) {
int count = taskingService.damagedTask(tasking);
return Result.build(200, "修改成功:" + count, count);
}
@ApiOperation("修改任务状态 【正在工作】")
@PostMapping("/startMachineTask")
@ResponseBody
public Result startMachineTask(@RequestBody Machine machine) {
Tasking tasking = taskingService.startMachineTask(machine);
return Result.build(200, "修改成功:", tasking);
}
@ApiOperation("修改任务状态 【失败】")
@PostMapping("/loseMachineTask")
@ResponseBody
public Result loseMachineTask(@RequestBody Machine machine) {
int count = taskingService.loseMachineTask(machine);
return Result.build(200, "修改成功:" + count, count);
}
@ApiOperation("修改任务状态 【完工】")
@PostMapping("/finishMachineTask")
@ResponseBody
public Result finishMachineTask(@RequestBody Machine machine) {
int count = taskingService.finishMachineTask(machine);
return Result.build(200, "修改成功:" + count, count);
}
@ApiOperation("修改当前设备 【上线】")
@PostMapping("/glassTopLineList")
@ResponseBody
public Result glassTopLineList(@RequestBody List taskingList) {
int count = taskingService.glassTopLine(taskingList);
return Result.build(200, "修改成功:" + count, count);
}
@ApiOperation("修改当前设备 【上线】")
@PostMapping("/glassTopLine")
@ResponseBody
public Result glassTopLine(@RequestBody Tasking tasking) {
int count = taskingService.glassTopLine(tasking);
return Result.build(200, "修改成功:" + count, count);
}
@ApiOperation("修改当前设备 【下线】")
@PostMapping("/glassDownLine")
@ResponseBody
public Result glassDownLine(@RequestBody Tasking tasking) {
int count = taskingService.glassDownLine(tasking);
return Result.build(200, "修改成功:" + count, count);
}
@ApiOperation("玻璃 【下线】")
@PostMapping("/glassAgainTopLine")
@ResponseBody
public Result glassAgainTopLine(@RequestBody Tasking tasking) {
int count = taskingService.stopTasking(tasking);
return Result.build(200, "修改成功:" + count, count);
}
@ApiOperation("查询【线下】玻璃 ")
@PostMapping("/selectGlassDownLine")
@ResponseBody
public Result selectGlassDownLine() {
List downLineTask = taskingService.findDownLineTask();
return Result.build(200, "查询成功:", downLineTask);
}
@ApiOperation("删除【线下】玻璃 ")
@PostMapping("/deleteGlassDownLine")
@ResponseBody
public Result deleteGlassDownLine() {
int count = taskingService.deleteGlassDownLine();
return Result.build(200, "清除成功:"+count, count);
}
@ApiOperation("提交 扫码报工 ")
@PostMapping("/scanReport")
@ResponseBody
public Result scanReport(@RequestBody Tasking tasking) {
int count = taskingService.stopTasking(tasking);
return Result.build(200, "修改成功:" + count, count);
}
}