package doumeemes.api.ext; import doumeemes.api.BaseController; import doumeemes.core.annotation.excel.ExcelExporter; import doumeemes.core.annotation.pr.PreventRepeat; import doumeemes.core.annotation.trace.Trace; import doumeemes.core.model.ApiResponse; import doumeemes.core.model.PageData; import doumeemes.core.model.PageWrap; import doumeemes.dao.business.model.MaterialDistribute; import doumeemes.dao.business.model.Procedures; import doumeemes.dao.ext.dto.QueryMaterialDistributeExtDTO; import doumeemes.dao.ext.vo.MaterialDistributeExtListVO; import doumeemes.service.business.MaterialDistributeService; import doumeemes.service.ext.MaterialDistributeExtService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; /** * 物料分配信息接口 * @author 江蹄蹄 * @date 2022/04/20 10:59 */ @RestController @RequestMapping("/ext/materialDistributeExt") @Api(tags = "物料分配信息接口") @Trace(withRequestResult = false,withRequestParameters = false) public class MaterialDistributeExtController extends BaseController { @Autowired private MaterialDistributeExtService materialDistributeExtService; @Autowired private MaterialDistributeService materialDistributeService; @PreventRepeat @ApiOperation("新建") @PostMapping("/create") @RequiresPermissions("ext:materialdistributeext:create") public ApiResponse create(@RequestBody MaterialDistribute materialDistribute) { return ApiResponse.success(materialDistributeService.create(materialDistribute)); } @ApiOperation("根据ID删除") @GetMapping("/delete/{id}") @RequiresPermissions("ext:materialdistributeext:delete") public ApiResponse deleteById(@PathVariable Integer id) { materialDistributeService.deleteById(id); return ApiResponse.success(null); } @ApiOperation("批量删除") @GetMapping("/delete/batch") @RequiresPermissions("ext:materialdistributeext:delete") public ApiResponse deleteByIds(@RequestParam String ids) { String [] idArray = ids.split(","); List idList = new ArrayList<>(); for (String id : idArray) { idList.add(Integer.valueOf(id)); } materialDistributeService.deleteByIdInBatch(idList); return ApiResponse.success(null); } @ApiOperation("根据ID修改") @PostMapping("/updateById") @RequiresPermissions("ext:materialdistributeext:update") public ApiResponse updateById(@RequestBody MaterialDistribute materialDistribute) { materialDistributeService.updateById(materialDistribute); return ApiResponse.success(null); } @ApiOperation("分页查询") @PostMapping("/page") @RequiresPermissions("ext:materialdistributeext:query") public ApiResponse> findPage (@RequestBody PageWrap pageWrap) { return ApiResponse.success(materialDistributeExtService.findPage(pageWrap)); } @ApiOperation("导出Excel") @PostMapping("/exportExcel") @RequiresPermissions("ext:materialdistributeext:exportExcel") public void exportExcel (@RequestBody PageWrap pageWrap, HttpServletResponse response) { ExcelExporter.build(MaterialDistributeExtListVO.class).export(materialDistributeExtService.findPage(pageWrap).getRecords(), "物料分配信息", response); } @ApiOperation("根据ID查询") @GetMapping("/{id}") @RequiresPermissions("ext:materialdistributeext:query") public ApiResponse findById(@PathVariable Integer id) { return ApiResponse.success(materialDistributeService.findById(id)); } @GetMapping("/updateStatusById") @ApiImplicitParams({ @ApiImplicitParam(value = "ids", name = "ids", paramType = "query", required = true, dataType = "String"), @ApiImplicitParam(value = "状态0.无效 1.有效", name = "status", paramType = "query", required = true, dataType = "String") }) @RequiresPermissions("ext:materialdistributeext:updateStatusById") public ApiResponse updateStatusById (@RequestParam String ids,@RequestParam String status) { if(StringUtils.isEmpty(ids)||StringUtils.isEmpty(status)){ return ApiResponse.failed("参数不正确"); } materialDistributeService.updateStatusById(ids,status); return ApiResponse.success(null); } @ApiOperation("查询所有") @PostMapping("/findListByCondition") public ApiResponse> findListByCondition (@RequestBody QueryMaterialDistributeExtDTO pageWrap) { return ApiResponse.success(materialDistributeExtService.findListByCondition(pageWrap)); } @ApiOperation("根据物料主键查询物料分配数据") @GetMapping("/findByMaterialId") @ApiImplicitParams({ @ApiImplicitParam(value = "物料主键", name = "materialId", paramType = "query", required = true, dataType = "Integer") }) public ApiResponse findByMaterialId(@RequestParam Integer materialId) { return ApiResponse.success(materialDistributeExtService.findByMaterialId(materialId)); } }