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.core.utils.Constants; import doumeemes.dao.business.model.RouteCard; import doumeemes.dao.ext.dto.QueryRouteCardExtDTO; import doumeemes.dao.ext.vo.RouteCardExtListVO; import doumeemes.service.business.RouteCardService; import doumeemes.service.ext.RouteCardExtService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.commons.CommonsMultipartResolver; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; /** * 工艺卡管理接口 * @author 江蹄蹄 * @date 2022/06/27 13:58 */ @RestController @RequestMapping("/ext/routeCardExt") @Api(tags = "工艺卡管理接口") @Trace(withRequestResult = false,withRequestParameters = false) public class RouteCardExtController extends BaseController { @Autowired private RouteCardExtService routeCardExtService; @Autowired private RouteCardService routeCardService; @PreventRepeat @ApiOperation("新建") @PostMapping("/create") @RequiresPermissions("ext:routecardext:create") public ApiResponse create(@RequestBody RouteCard routeCard) { return routeCardService.create(routeCard); } @ApiOperation("根据ID删除") @GetMapping("/delete/{id}") @RequiresPermissions("ext:routecardext:delete") public ApiResponse deleteById(@PathVariable Integer id) { routeCardService.deleteById(id); return ApiResponse.success(null); } @ApiOperation("批量删除") @GetMapping("/delete/batch") @RequiresPermissions("ext:routecardext:delete") public ApiResponse deleteByIds(@RequestParam String ids) { String [] idArray = ids.split(","); List idList = new ArrayList<>(); for (String id : idArray) { RouteCard routeCard = routeCardService.findById(Integer.valueOf(id)); routeCard.setDeleted(Constants.ONE); idList.add(routeCard); } routeCardService.updateByIdInBatch(idList); return ApiResponse.success(null); } @ApiOperation("根据ID修改") @PostMapping("/updateById") @RequiresPermissions("ext:routecardext:update") public ApiResponse updateById(@RequestBody RouteCard routeCard) { return routeCardService.updateById(routeCard); } @ApiOperation("分页查询") @PostMapping("/page") @RequiresPermissions("ext:routecardext:query") public ApiResponse> findPage (@RequestBody PageWrap pageWrap) { return ApiResponse.success(routeCardExtService.findPage(pageWrap)); } @ApiOperation("导出Excel") @PostMapping("/exportExcel") @RequiresPermissions("ext:routecardext:exportExcel") public void exportExcel (@RequestBody PageWrap pageWrap, HttpServletResponse response) { ExcelExporter.build(RouteCardExtListVO.class).export(routeCardExtService.findPage(pageWrap).getRecords(), "工艺卡管理", response); } @ApiOperation("根据ID查询") @GetMapping("/{id}") @RequiresPermissions("ext:routecardext:query") public ApiResponse findById(@PathVariable Integer id) { PageWrap pageWrap=new PageWrap<>(); pageWrap.getModel().setId(id); List list= routeCardExtService.findlistBycondition(pageWrap); return ApiResponse.success(list.get(0)); } /** * 工艺卡文件上传 * * @param folder * @param request * @param response * @throws Exception */ @ApiOperation(value = "工艺卡文件上传", notes = "上传", httpMethod = "POST") @ApiImplicitParams({ @ApiImplicitParam(name = "folder", value = "文件夹", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class), }) @PostMapping(value = "/upload") public void uploadMobile(@RequestParam(name = "file") MultipartFile file,@RequestParam(name = "folder") String folder, HttpServletRequest request, HttpServletResponse response) throws Exception { // MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; upload2(file, response, folder + "/", systemDictDataBiz.queryByCode(Constants.OSS,Constants.BUCKETNAME).getCode(), systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_ID).getCode(), systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_KEY).getCode(), systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode(), systemDictDataBiz.queryByCode(Constants.OSS,Constants.ENDPOINT).getCode()); } /** * 导入 * * @param request * @param response * @throws Exception */ @ApiOperation(value = "工艺卡导入", notes = "导入", httpMethod = "POST") @PostMapping(value = "/importExcel") @RequiresPermissions("ext:routecardext:importExcel") public ApiResponse importExcel(@RequestParam(name = "file") MultipartFile file,HttpServletRequest request, HttpServletResponse response) throws Exception { CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver(); try{ /* if (multipartResovler.isMultipart(request)) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Iterator it = multipartRequest.getFileNames(); while (it.hasNext()) {*/ // MultipartFile file = multipartRequest.getFile((String) it.next());// file routeCardExtService.importExcel(file); // break; /* } }*/ }catch (Exception e){ e.printStackTrace(); if(e.getMessage().length()>=200){ return ApiResponse.failed( e.getMessage().substring(0,200)); }else{ return ApiResponse.failed( e.getMessage().substring(0,200)); } } return ApiResponse.success( null); } @ApiOperation("根据工单查询工艺卡") @PostMapping("/getListByWorkOrderId") @RequiresPermissions("ext:routecardext:getListByWorkOrderId") public ApiResponse getListByWorkOrderId(@RequestBody QueryRouteCardExtDTO routeCard) { return routeCardExtService.getListByWorkOrderId(routeCard); } }