package com.chinaztt.mes.quality.controller; import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaztt.mes.common.wrapper.QueryWrapperUtil; import com.chinaztt.mes.quality.dto.TestStandardDTO; import com.chinaztt.mes.quality.excel.TestStandardData; import com.chinaztt.mes.quality.excel.TestStandardUploadListener; import com.chinaztt.mes.quality.state.standard.constant.StandardStateStringValues; import com.chinaztt.ztt.common.core.util.R; import com.chinaztt.ztt.common.log.annotation.SysLog; import com.chinaztt.mes.quality.entity.TestStandard; import com.chinaztt.mes.quality.service.TestStandardService; import org.springframework.security.access.prepost.PreAuthorize; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.util.List; /** * 检测标准 * * @author cxf * @date 2021-04-22 09:03:06 */ @RestController @AllArgsConstructor @RequestMapping("/testStandard") @Api(value = "testStandard", tags = "检测标准管理") public class TestStandardController { private final TestStandardService testStandardService; /** * 分页查询 * * @param page 分页对象 * @param testStandardDTO 检测标准 * @return */ @ApiOperation(value = "分页查询", notes = "分页查询") @GetMapping("/page") public R getTestStandardPage(Page page, TestStandardDTO testStandardDTO) { return R.ok(testStandardService.pageInfo(page, QueryWrapperUtil.gen(testStandardDTO))); } /** * 通过id查询检测标准 * * @param id id * @return R */ @ApiOperation(value = "通过id查询", notes = "通过id查询") @GetMapping("/{id}") public R getById(@PathVariable("id") Long id) { return R.ok(testStandardService.getInfoById(id)); } /** * 新增检测标准 * * @param testStandard 检测标准 * @return R */ @ApiOperation(value = "新增检测标准", notes = "新增检测标准") @SysLog("新增检测标准") @PostMapping public R save(@RequestBody TestStandard testStandard) { return R.ok(testStandardService.save(testStandard)); } /** * 修改检测标准 * * @param testStandard 检测标准 * @return R */ @ApiOperation(value = "修改检测标准", notes = "修改检测标准") @SysLog("修改检测标准") @PutMapping public R updateById(@RequestBody TestStandard testStandard) { return R.ok(testStandardService.updateById(testStandard)); } /** * 通过id删除检测标准 * * @param ids id * @return R */ @ApiOperation(value = "通过id删除检测标准", notes = "通过id删除检测标准") @SysLog("通过id删除检测标准") @DeleteMapping public R removeById(@RequestBody List ids) { return testStandardService.removeByIds(ids); } /** * 通过id复制检测标准 * * @param id id * @return R */ @ApiOperation(value = "通过id复制检测标准", notes = "通过id复制检测标准") @SysLog("通过id复制检测标准") @PostMapping("/{id}") public R copyTestById(@PathVariable Long id) { return R.ok(testStandardService.copyTestById(id)); } /** * 批准 * @param ids * @return */ @PostMapping("/state/accept") public R accept(@RequestBody List ids){ for (Long id : ids) { TestStandard testStandard = testStandardService.getById(id); testStandard.setState(StandardStateStringValues.ACCEPTED); //testStandardService.updateById(testStandard); testStandardService.approveTestStandard(testStandard); } return R.ok(); } /** * 拒绝 * @param ids * @return */ @PostMapping("/state/reject") public R reject(@RequestBody List ids){ for (Long id : ids) { TestStandard testStandard = testStandardService.getById(id); testStandard.setState(StandardStateStringValues.CANCELLED); testStandardService.updateById(testStandard); } return R.ok(); } /** * 取消 * @param ids * @return */ @PostMapping("/state/cancel") public R cancel(@RequestBody List ids){ for (Long id : ids) { TestStandard testStandard = testStandardService.getById(id); testStandard.setState(StandardStateStringValues.DRAFT); testStandardService.updateById(testStandard); } return R.ok(); } /** * 失效 * @param ids * @return */ @PostMapping("/state/disabled") public R disabled(@RequestBody List ids){ for (Long id : ids) { TestStandard testStandard = testStandardService.getById(id); testStandard.setState(StandardStateStringValues.DISABLED); testStandardService.updateById(testStandard); } return R.ok(); } /** * 导入检测标准 * @param file 导入文件 * @return * @throws Exception */ @ApiOperation("导入检测标准") @PostMapping("/upload") public R upload(@RequestParam("file") MultipartFile file) throws Exception { EasyExcel.read(file.getInputStream(), TestStandardData.class, new TestStandardUploadListener(testStandardService)).sheet().doRead(); return R.ok(); } /** * 通过编号查询检测标准 * * @param no no * @return R */ @ApiOperation(value = "通过no查询", notes = "通过no查询") @GetMapping("/getByNo/{no}") public R getByNo(@PathVariable("no") String no) { return R.ok(testStandardService.getByNo(no)); } }