package doumeemes.api.ext; 
 | 
  
 | 
import doumeemes.api.BaseController; 
 | 
import doumeemes.core.annotation.excel.ExcelExporter; 
 | 
import doumeemes.core.annotation.pr.PreventRepeat; 
 | 
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 = "工艺卡管理接口") 
 | 
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<RouteCard> 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<PageData<RouteCardExtListVO>> findPage (@RequestBody PageWrap<QueryRouteCardExtDTO> pageWrap) { 
 | 
        return ApiResponse.success(routeCardExtService.findPage(pageWrap)); 
 | 
    } 
 | 
  
 | 
    @ApiOperation("导出Excel") 
 | 
    @PostMapping("/exportExcel") 
 | 
    @RequiresPermissions("ext:routecardext:exportExcel") 
 | 
    public void exportExcel (@RequestBody PageWrap<QueryRouteCardExtDTO> 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<QueryRouteCardExtDTO> pageWrap=new PageWrap<>(); 
 | 
        pageWrap.getModel().setId(id); 
 | 
        List<RouteCardExtListVO> 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<String> 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<RouteCardExtListVO> getListByWorkOrderId(@RequestBody QueryRouteCardExtDTO routeCard) { 
 | 
        return  routeCardExtService.getListByWorkOrderId(routeCard); 
 | 
    } 
 | 
} 
 |