package com.klp.controller; import com.klp.common.annotation.Log; import com.klp.common.annotation.RepeatSubmit; import com.klp.common.core.controller.BaseController; import com.klp.common.core.domain.PageQuery; import com.klp.common.core.domain.R; import com.klp.common.core.page.TableDataInfo; import com.klp.common.core.validate.AddGroup; import com.klp.common.core.validate.EditGroup; import com.klp.common.enums.BusinessType; import com.klp.common.utils.poi.ExcelUtil; import com.klp.domain.bo.WmsProcessSpecBo; import com.klp.domain.vo.WmsProcessSpecVo; import com.klp.service.IWmsProcessSpecService; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.util.Arrays; import java.util.List; /** * 规程主表 * * @author klp */ @Validated @RequiredArgsConstructor @RestController @RequestMapping("/wms/processSpec") public class WmsProcessSpecController extends BaseController { private final IWmsProcessSpecService wmsProcessSpecService; /** * 查询规程主表列表 */ @GetMapping("/list") public TableDataInfo list(WmsProcessSpecBo bo, PageQuery pageQuery) { return wmsProcessSpecService.queryPageList(bo, pageQuery); } /** * 导出规程主表列表 */ @Log(title = "规程主表", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(WmsProcessSpecBo bo, HttpServletResponse response) { List list = wmsProcessSpecService.queryList(bo); ExcelUtil.exportExcel(list, "规程主表", WmsProcessSpecVo.class, response); } /** * 获取规程主表详细信息 * * @param specId 主键 */ @GetMapping("/{specId}") public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long specId) { return R.ok(wmsProcessSpecService.queryById(specId)); } /** * 新增规程主表 */ @Log(title = "规程主表", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() public R add(@Validated(AddGroup.class) @RequestBody WmsProcessSpecBo bo) { return toAjax(wmsProcessSpecService.insertByBo(bo)); } /** * 修改规程主表 */ @Log(title = "规程主表", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() public R edit(@Validated(EditGroup.class) @RequestBody WmsProcessSpecBo bo) { return toAjax(wmsProcessSpecService.updateByBo(bo)); } /** * 删除规程主表 * * @param specIds 主键串 */ @Log(title = "规程主表", businessType = BusinessType.DELETE) @DeleteMapping("/{specIds}") public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] specIds) { return toAjax(wmsProcessSpecService.deleteWithValidByIds(Arrays.asList(specIds), true)); } }