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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
package com.mes.rawglassdetails.controller;
 
import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
import com.mes.rawglassdetails.entity.dto.RawGlassStorageDetailsDTO;
import com.mes.rawglassdetails.entity.request.RawGlassRequest;
import com.mes.rawglassdetails.service.RawGlassStorageDetailsService;
import com.mes.utils.Result;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
 
import javax.annotation.Resource;
import java.util.List;
 
/**
 * 前端控制器
 *
 * @author wf
 * @since 2024-09-10
 */
@RestController
@RequestMapping("/rawGlassStorageDetails")
public class RawGlassStorageDetailsController {
 
    @Autowired
    private RawGlassStorageDetailsService rawGlassStorageDetailsService;
 
    // 国际语言库
    @Resource
    private MessageSource messageSource;
 
    @ApiOperation("吊装位请求")
    @PostMapping("/warehousingRequest")
    public Result<String> warehousingRequest(int leftingStation) {
        String result = rawGlassStorageDetailsService.warehousingRequest(leftingStation);
        if ("success".equals(result)) {
            // 成功消息:从资源文件读取国际化文本
            String successMsg = messageSource.getMessage(
                    "rawglass.success",
                    null,
                    LocaleContextHolder.getLocale()
            );
            return Result.build(200, successMsg, null);
        } else {
            // 失败消息已返回国际化文本
            return Result.build(500, result, null);
        }
    }
 
    @ApiOperation("原片入库")
    @PostMapping("/patternWarehousing")
    public Result<String> patternWarehousing(@Validated @RequestBody RawGlassRequest request) {
        String result = rawGlassStorageDetailsService.patternWarehousing(request);
        if ("success".equals(result)) {
            // 成功消息:从资源文件读取国际化文本
            String successMsg = messageSource.getMessage(
                    "rawglass.details.success",
                    null,
                    LocaleContextHolder.getLocale()
            );
            return Result.build(200, successMsg, null);
        } else {
//            String errorMsg = messageSource.getMessage(
//                    "rawglass.error",
//                    null,
//                    LocaleContextHolder.getLocale()
//            );
            return Result.build(500, result, null);
        }
    }
 
    @ApiOperation("更新剩余数量")
    @PostMapping("/updateQuantity")
    public Result<Object> updateQuantity(@Validated @RequestBody RawGlassRequest request) {
        String result = rawGlassStorageDetailsService.updateQuantity(request);
        if ("success".equals(result)) {
            String successMsg = messageSource.getMessage(
                    "rawglass.modify.success",
                    null,
                    LocaleContextHolder.getLocale()
            );
            return Result.build(200, successMsg, null);
        } else {
            return Result.build(500, "fail", null);
        }
    }
 
    @ApiOperation("删除原片")
    @PostMapping("/deleteWarehousing")
    public Result<Object> deleteWarehousing(Long slot) {
        String result = rawGlassStorageDetailsService.deleteWarehousing(slot);
        if ("success".equals(result)) {
            String successMsg = messageSource.getMessage(
                    "rawglass.delete.success",
                    null,
                    LocaleContextHolder.getLocale()
            );
            return Result.build(200, successMsg, null);
        } else {
            return Result.build(500, "fail", null);
        }
    }
 
    @ApiOperation("出库")
    @PostMapping("/outWarehousing")
    public Result<Object> outWarehousing(Long slotId) {
        String result = rawGlassStorageDetailsService.outWarehousing(slotId);
        if ("success".equals(result)) {
            String successMsg = messageSource.getMessage(
                    "rawglass.success",
                    null,
                    LocaleContextHolder.getLocale()
            );
            return Result.build(200, successMsg, null);
        } else {
            return Result.build(500, result, null);
        }
    }
 
 
    @ApiOperation("回库")
    @PostMapping("/outWarehousingRequest")
    public Result<String> outWarehousingRequest(int leftingStation) {
        String result = rawGlassStorageDetailsService.outWarehousingRequest(leftingStation);
        if ("success".equals(result)) {
            String successMsg = messageSource.getMessage(
                    "rawglass.success",
                    null,
                    LocaleContextHolder.getLocale()
            );
            return Result.build(200, successMsg, null);
        } else {
            return Result.build(500, result, null);
        }
    }
 
    @ApiOperation("架子复位")
    @PostMapping("/shelfReset")
    public Result<String> shelfReset(Long slot) {
        return Result.success(rawGlassStorageDetailsService.shelfReset(slot));
    }
 
    @ApiOperation("原片使用情况")
    @PostMapping("/patternUsage")
    public Result<List<RawGlassStorageDetailsDTO>> patternUsage(String width, String height, String thickness, String films) {
        return Result.build(200, "查询成功", rawGlassStorageDetailsService.patternUsage(width, height, thickness, films));
    }
 
    @ApiOperation("查询原片存储详情")
    @GetMapping("/selectDetails")
    public Result<List<RawGlassStorageDetails>> selectDetails() {
        return Result.build(200, "查询成功", rawGlassStorageDetailsService.selectDetails());
    }
 
    @ApiOperation("清除异常数据")
    @PostMapping("/deleteData")
    public Result<Boolean> deleteDetails(String id) {
        return Result.success(rawGlassStorageDetailsService.deleteDetails(id));
    }
 
}