package com.mes.rawglassdetails.controller; 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.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; 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 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 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 updateQuantity(@Validated @RequestBody RawGlassRequest request) { String successMsg = messageSource.getMessage( "rawglass.modify.success", null, LocaleContextHolder.getLocale() ); return Result.build(200, successMsg, rawGlassStorageDetailsService.updateQuantity(request)); } @ApiOperation("删除原片") @PostMapping("/deleteWarehousing") public Result deleteWarehousing(Long slot) { String successMsg = messageSource.getMessage( "rawglass.delete.success", null, LocaleContextHolder.getLocale() ); return Result.build(200, successMsg, rawGlassStorageDetailsService.deleteWarehousing(slot)); } @ApiOperation("出库") @PostMapping("/outWarehousing") public Result 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 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 shelfReset(Long slot) { return Result.success(rawGlassStorageDetailsService.shelfReset(slot)); } @ApiOperation("原片使用情况") @PostMapping("/patternUsage") public Result> patternUsage(String width, String height, String thickness, String films) { return Result.build(200, "查询成功", rawGlassStorageDetailsService.patternUsage(width, height, thickness, films)); } }