You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
3.3 KiB
109 lines
3.3 KiB
package com.nov.KgLowDurable.controller; |
|
import com.nov.KgLowDurable.enums.MaterialCategoryEnum; |
|
import com.nov.KgLowDurable.pojo.entity.LdMaterial; |
|
import com.nov.KgLowDurable.service.ILdMaterialService; |
|
import com.nov.KgLowDurable.util.ImageUploadUtil; |
|
import com.nov.KgLowDurable.util.Result; |
|
import com.nov.KgLowDurable.util.StringUtils; |
|
import io.swagger.annotations.*; |
|
import lombok.AllArgsConstructor; |
|
import org.springframework.beans.factory.annotation.Autowired; |
|
import org.springframework.web.bind.annotation.*; |
|
import org.springframework.web.multipart.MultipartFile; |
|
import java.io.IOException; |
|
|
|
|
|
/** |
|
* @author liweidong |
|
*/ |
|
@RestController |
|
@AllArgsConstructor |
|
@RequestMapping("/material") |
|
public class LdMaterialController { |
|
|
|
private final ILdMaterialService materialService; |
|
|
|
|
|
@GetMapping("/detail") |
|
@ApiOperationSort(1) |
|
@ApiOperation(value = "获取物料详情", notes = "根据物料ID获取详细信息") |
|
public Result<LdMaterial> detail(@RequestParam Long id) { |
|
return Result.OK(materialService.getById(id)); |
|
} |
|
|
|
|
|
@GetMapping("/list") |
|
@ApiOperationSort(2) |
|
@ApiOperation(value = "获取物料列表", notes = "获取物料列表,支持条件筛选", httpMethod = "GET", response = Result.class) |
|
@ApiImplicitParams({ |
|
@ApiImplicitParam(name = "materialName", value = "物料名称", dataType = "string", paramType = "query") |
|
}) |
|
public Result list(@ApiParam(hidden = true) |
|
@RequestParam(required = false) String materialName, |
|
@RequestParam(required = false ,defaultValue = "1") Integer pageNum, |
|
@RequestParam(required = false ,defaultValue = "10") Integer pageSize) { |
|
|
|
return Result.OK(materialService.getMaterialList(materialName,pageNum,pageSize)); |
|
} |
|
|
|
|
|
/** |
|
* 新增或修改 |
|
*/ |
|
@PostMapping("/submit") |
|
@ApiOperationSort(3) |
|
@ApiOperation(value = "新增或修改", notes = "传入material") |
|
public Result submit(@RequestBody LdMaterial material) { |
|
|
|
return Result.OK(materialService.submit(material)); |
|
} |
|
|
|
/** |
|
* 任务分派表 删除 |
|
*/ |
|
@PostMapping("/remove") |
|
@ApiOperationSort(4) |
|
@ApiOperation(value = "逻辑删除", notes = "传入ids") |
|
public Result remove(@RequestParam String ids) { |
|
if(StringUtils.isEmpty(ids)){ |
|
return Result.error("ids为空"); |
|
} |
|
return Result.OK(materialService.deleteLogic(ids)); |
|
} |
|
|
|
@GetMapping("/getMaterialList") |
|
@ApiOperationSort(5) |
|
@ApiOperation(value = "获取物料列表", notes = "获取所有物料列表", httpMethod = "GET", response = Result.class) |
|
public Result getMaterialList() { |
|
|
|
return Result.OK(materialService.getMaterialList()); |
|
} |
|
|
|
@GetMapping("/getMaterialEnumList") |
|
@ApiOperationSort(6) |
|
@ApiOperation(value = "获取物料分类", notes = "获取所有物料列表", httpMethod = "GET", response = Result.class) |
|
public Result getMaterialEnumList() { |
|
|
|
return Result.OK(MaterialCategoryEnum.getEnumList()); |
|
} |
|
|
|
@Autowired |
|
private ImageUploadUtil imageUploadUtil; |
|
|
|
@PostMapping("/upload") |
|
@ApiOperationSort(7) |
|
public Result uploadImage( |
|
@RequestParam("file") MultipartFile file) { |
|
|
|
try { |
|
String module = "material"; |
|
String fileUrl = imageUploadUtil.uploadImage(file, module); |
|
return Result.ok(fileUrl); |
|
} catch (IllegalArgumentException e) { |
|
return Result.error(e.getMessage()); |
|
} catch (IOException e) { |
|
return Result.error("文件上传失败: " + e.getMessage()); |
|
} |
|
} |
|
|
|
}
|
|
|