wu
2024-12-23 308f5cad975233789ac9ed4ede6993e854198bf9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
package com.mes.engineering.controller;
 
 
import com.mes.damage.entity.Damage;
import com.mes.damage.service.DamageService;
import com.mes.engineering.entity.Engineering;
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 io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
 
import java.util.List;
 
/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author wu
 * @since 2024-04-22
 */
@RestController
@Slf4j
@RequestMapping("/engineering/engineering")
public class EngineeringController {
    @Autowired
    private EngineeringService engineeringService;
    @Autowired
    private UpPattenUsageService upPattenUsageService;
    @Autowired
    private GlassInfoService glassInfoService;
    @Autowired
    private OptimizeProjectService optimizeProjectService;
    @Autowired
    DamageService damageService;
 
    @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, "成功", null);
        }else {
            return Result.build(100, "成功", null);
        }
    }
 
    @ApiOperation("开始上片")
    @PostMapping("/changeTask") //调用上片任务
    @ResponseBody
    public  Result <Boolean> changeTask(@RequestBody Engineering engineering) {
        log.info("engineeringId:{}", engineering);
        UpPattenUsage upPattenUsage = upPattenUsageService.selectedEngineering(engineering.getEngineerId());
        if (upPattenUsage != null) {
            boolean work = engineeringService.changeTasks(engineering);
            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);
            glassInfoService.saveGlassInfo(glassinfo);
            log.info("从PP表查询engineering的数据并保存到表里");
            List<Engineering> listEngineering = engineeringService.selectEngineering(engineering.getEngineerId());
            engineeringService.saveEngineering(listEngineering);
            log.info("更改pp表状态为已领取");
            //将engineering表状态为正在上片
            boolean work = engineeringService.changeTasks(engineering);
            List<UpPattenUsage> glass = upPattenUsageService.prioritylist();
            optimizeProjectService.changeTask(engineering.getEngineerId(), 200);
            if (work) {
                return Result.build(200, "保存成功"+engineering.getEngineerId(), true);
            }else {
                return Result.build(200, "保存失败"+engineering.getEngineerId(), false);
            }
        }
 
    }
 
    @ApiOperation("删除工程上片")
    @PostMapping("/deleteTask") //调用上片任务
    @ResponseBody
    public  Result <List<GlassInfo>> deleteTask(@RequestBody Engineering engineering) {
        //删除工程表、小片表、上片表,更改优化表状态
//        boolean work=engineeringService.deleteTask(engineering.getEngineerId());
//        glassInfoService.deleteTask(engineering.getEngineerId());
//        upPattenUsageService.deleteTask(engineering.getEngineerId());
//        optimizeProjectService.changeTask(engineering.getEngineerId(), 100);
        //暂停工程
        engineeringService.pauseTask(engineering.getEngineerId(),0);
          //查询未上片的小片信息
        List<GlassInfo>glasslist=glassInfoService.selectEdgGlassInfo(engineering.getEngineerId());
        return Result.build(200, "删除成功"+engineering.getEngineerId(), glasslist);
 
 
    }
 
    @ApiOperation("查询可以上片的工程号")
    @GetMapping("/selectTask") //调用上片任务
    @ResponseBody
    public Result <List<Engineering>> selectTask() {
        List<Engineering> engineering=engineeringService.selectTask();
        log.info("可领取任务返回:{}", engineering);
        return Result.build(200, "",engineering);
    }
 
    @ApiOperation("//上片破损拿走")
    @PostMapping("/insetDamage") //上片破损拿走
    public Result <Integer> updateTemperingState(@RequestBody Damage damage) {
        damageService.insertDamage(damage);
        return Result.build(200, "操作成功", null);
    }
 
}