严智鑫
2024-12-25 490df5d4d92877171076756af73a96dee1fc053f
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/TaskingController.java
@@ -1,7 +1,17 @@
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;
@@ -9,102 +19,169 @@
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
 * <p>
 * 工作任务操作记录明细 前端控制器
 * </p>
 *
 * @author wu
 * @since 2024-08-28
 * @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("/updateLoadState") //切换模式"
        @ApiOperation("查询库位信息 返回结果")
        @PostMapping("/findKBBTLensSorting")
        @ResponseBody
        public Result<Boolean> updateStatus(@RequestBody Integer state) {
            if(state == 1){
                boolean result =taskingService.updateStatus(state);
                return Result.build(1,"定制模式",result);
            }else {
                boolean result =taskingService.updateStatus(state);
                return Result.build(0,"标准模式",result);
        public Result findKBBTLensSorting(@RequestBody Map<String, String> map) {
            try {
                String scanId=map.get("scanId").toString();
                if (!scanId.isEmpty()){
                    List<KBBTLensSorting> list=kBBTLensSortingMapper.selectList(new QueryWrapper<KBBTLensSorting>().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("点击暂停设备")
        @PostMapping("/updateLoadStatus") //点击暂停设备
        @ApiOperation("扫码成功后返回结果 machineId,scanId")
        @PostMapping("/scanMachineAdd")
        @ResponseBody
        public Result<Boolean> updateLoadStatus(@RequestBody Integer state) {
            if(state == 1){
                boolean result =taskingService.updateLoadState(state);
                return Result.build(1,"成功",result);
            }else {
                boolean result =taskingService.updateLoadState(state);
                return Result.build(0,"成功",result);
        public Result scanMachineAdd(@RequestBody Map<String, String> 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("/updateDamage") //暂停上片任务
        @ApiOperation("报工提交 ")
        @PostMapping("/reportForWork")
        @ResponseBody
        public Result<Tasking> updateDamage(@RequestBody Tasking tasking) {
            boolean result =taskingService.updateDamage(tasking);
            return Result.build(1,"定制模式",null);
        public Result reportForWork(@RequestBody Machine machine) {
            try {
                int deleteCount=taskingMapper.deleteJoin(new MPJLambdaWrapper<Tasking>()
                        .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("/selectTasking") //暂停上片任务
        @ApiOperation("查询当前设备,未完工状态的线上任务")
        @PostMapping("/findMachineTask")
        @ResponseBody
        public Result<List<Tasking>> selectTasking() {
            List<Tasking> tasking =taskingService.selectTasking();
            return Result.build(1,"定制模式",tasking);
        }
        @ApiOperation("查询当前工艺,某工作状态的线上任务")
        @PostMapping("/findCraftTasking")
        @ResponseBody
        public Result findCraftTasking(@RequestBody Tasking tasking) {
            List<Tasking> list =taskingService.findCraftTasking(tasking);
        public Result findMachineTask(@RequestBody Machine machine) {
            List<Tasking> list =taskingService.findMachineTask(machine);
            return Result.build(200,"成功",list);
        }
        @ApiOperation("修改任务状态 【破损/失败/完工】")
        @PostMapping("/updateCraftTasking")
        @ApiOperation("查询当前设备,某状态的线上任务【等待/正在工作/完工】")
        @PostMapping("/findMachineWorkStateTask")
        @ResponseBody
        public Result updateCraftTasking(@RequestBody Tasking tasking) {
            int count =taskingService.updateCraftTasking(tasking);
        public Result findMachineWorkStateTask(@RequestBody Machine machine,String workState) {
            List<Tasking> 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("/updateMachineState")
        @ApiOperation("修改任务状态 【正在工作】")
        @PostMapping("/startMachineTask")
        @ResponseBody
        public Result updateMachineState(@RequestBody Tasking tasking) {
            int count =taskingService.updateCraftTasking(tasking);
        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("/updateTopLine")
        @PostMapping("/glassTopLineList")
        @ResponseBody
        public Result updateTopLine(@RequestBody Tasking tasking) {
            int count =taskingService.updateCraftTasking(tasking);
        public Result glassTopLineList(@RequestBody List<Tasking> 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("/updateDownLine")
        @PostMapping("/glassDownLine")
        @ResponseBody
        public Result updateDownLine(@RequestBody Tasking tasking) {
            int count =taskingService.updateCraftTasking(tasking);
        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("/scanReport")
        @ResponseBody
        public Result scanReport(@RequestBody Tasking tasking) {
            int count =taskingService.stopTasking(tasking);
            return Result.build(200,"修改成功:"+count,count);
        }
}