严智鑫
2024-06-14 6977fb42d5067f6c938ef3de559a6ad19b542a0b
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
@@ -2,14 +2,20 @@
import com.mes.engineering.entity.Engineering;
import com.mes.engineering.service.impl.EngineeringServiceImpl;
import com.mes.engineering.service.EngineeringService;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.service.GlassInfoService;
import com.mes.pp.service.OptimizeProjectService;
import com.mes.uppattenusage.entity.UpPattenUsage;
import com.mes.uppattenusage.service.UpPattenUsageService;
import com.mes.utils.Result;
import com.mes.workstation.service.UpWorkstationService;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.mes.engineering.service.EngineeringService;
import java.util.List;
/**
 * <p>
 *  前端控制器
@@ -24,14 +30,76 @@
public class EngineeringController {
    @Autowired
    private EngineeringService engineeringService;
    @Autowired
    private UpPattenUsageService upPattenUsageService;
    @Autowired
    private GlassInfoService glassInfoService;
    @Autowired
    private OptimizeProjectService optimizeProjectService;
    @ApiOperation("开始/暂停任务/传递工程号和状态,开始是1 暂停是0")
    @PostMapping("/pauseTask") //暂停上片任务
    @ResponseBody
    public  Result <List<UpPattenUsage>> pauseTask(@RequestBody Engineering engineering) {
        boolean work=engineeringService.changeTask(engineering.getEngineerId(),engineering.getState());
        List<UpPattenUsage> glass = upPattenUsageService.prioritylist();
        if(work){
            return Result.build(200,"成功",glass);
        }else {
            return Result.build(100,"失败",glass);
        }
    }
    @ApiOperation("暂停")
    @PostMapping("/pause") //暂停上片任务
    @ResponseBody
    public  Result <List<UpPattenUsage>> pause(@RequestBody Engineering engineering) {
        boolean work=engineeringService.pauseTask(engineering.getEngineerId(),engineering.getState());
        List<UpPattenUsage> glass = upPattenUsageService.prioritylist();String message;
        if(work){
            return Result.build(200,"成功",glass);
        }else {
            return Result.build(100,"成功",glass);
        }
    }
    @ApiOperation("开始上片")
    @PostMapping("/changeTask") //调用上片任务
    @ResponseBody
    public Result <Engineering> changeTask(String projectId , Integer state) {
        boolean work=engineeringService.changeTask(projectId,state);
        log.info("开始任务返回:{}", work);
        return Result.build(200, "",null);
    public  Result <Boolean> changeTask(@RequestBody Engineering engineering) {
        log.info("engineeringId:{}", engineering);
        UpPattenUsage upPattenUsage = upPattenUsageService.selectedEngineering(engineering.getEngineerId());
        if (upPattenUsage != null) {
            boolean work=engineeringService.changeTask(engineering.getEngineerId(),engineering.getState());
            List<UpPattenUsage> glass = upPattenUsageService.prioritylist();
            optimizeProjectService.changeTask(engineering.getEngineerId(), 200);
            return Result.build(200, "已保存过", work);
        } else {
            List<UpPattenUsage> upPattenUsages = upPattenUsageService.selectSaveUpPattenUsage(engineering.getEngineerId());
            log.info("将查询出的UpPattenUsage数据保存到数据库表里");
            upPattenUsageService.saveUpPattenUsage(upPattenUsages);
            log.info("从PP表查询glassinfo的数据并保存到表里");
            List<GlassInfo> glassinfo = glassInfoService.selectGlassInfo(engineering.getEngineerId());
            glassInfoService.saveGlassInfo(glassinfo);
            log.info("从PP表查询engineering的数据并保存到表里");
            List<Engineering> listEngineering = engineeringService.selectEngineering(engineering.getEngineerId());
            engineeringService.saveEngineering(listEngineering);
            log.info("更改pp表状态为已领取");
            //将engineering表状态为正在上片
            boolean work=engineeringService.changeTask(engineering.getEngineerId(),engineering.getState());
            List<UpPattenUsage> glass = upPattenUsageService.prioritylist();
            optimizeProjectService.changeTask(engineering.getEngineerId(), 200);
            return Result.build(200, "保存成功", work);
        }
    }
    @ApiOperation("查询可以上片的工程号")
    @GetMapping("/selectTask") //调用上片任务
    @ResponseBody
    public Result <List<Engineering>> selectTask() {
        List<Engineering> engineering=engineeringService.selectTask();
        log.info("可领取任务返回:{}", engineering);
        return Result.build(200, "",engineering);
    }
}