package com.whyc.controller; import com.whyc.dto.Response; import com.whyc.dto.SopDto; import com.whyc.pojo.SOP; import com.whyc.pojo.SOPLockLog; import com.whyc.service.SOPService; import com.whyc.util.ActionUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.text.ParseException; import java.util.List; @RequestMapping("sop") @RestController @Api(tags = "SOP") public class SOPController { @Autowired private SOPService service; @ApiOperation("excel解析") @PostMapping("excelParse") public Response excelParse(@RequestParam MultipartFile multipartFile) throws IOException, InvalidFormatException, ParseException { Response response = new Response<>(); String name=multipartFile.getOriginalFilename(); assert name != null; if(!name.substring(name.length()-4).equals(".xls") && !name.substring(name.length()-5).equals(".xlsx")){ response.set(1,false,"文件解析错误:上传格式非excel格式"); }else{ response = service.excelParse(multipartFile); } return response; } @ApiOperation("确定sop") @PostMapping("confirm") public Response add(@RequestParam MultipartFile multipartFile,@RequestParam String sopStr) throws IOException { SOP sop=ActionUtil.getGson().fromJson(sopStr,SOP.class); return service.add(sop,multipartFile); } @ApiOperation("查询sop信息") @PostMapping("getSopInfo") public Response getSopInfo(@RequestBody(required = false) List list , @RequestParam(required = false) String code, @RequestParam(required = false) String model , @RequestParam(required = false) Integer status, @RequestParam(required = false) String fileName , @RequestParam int pageCurr, @RequestParam int pageSize) { return service.getSopInfo(list,code,model,status,fileName,pageCurr,pageSize); } @ApiOperation("查询sop历史") @GetMapping("getSopHis") public Response getSopHis(@RequestParam(required = false) String fileName) { return service.getSopHis(fileName); } @ApiOperation("更新sop说明(不含锁信息)") @PostMapping("updateSop") public Response updateSop(@RequestBody SOP sop) { return service.updateSop(sop); } @ApiOperation("设置sop有效状态") @PutMapping("updateStatusById") public Response updateStatusById(@RequestBody SOPLockLog lockLog) { return service.updateStatusById(lockLog); } }