package com.ruoyi.process.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.Result; import com.ruoyi.inspect.dto.InsPlaceOrderDto; import com.ruoyi.process.dto.InspectionOrderDto; import com.ruoyi.process.dto.InspectionOrderBindingDto; import com.ruoyi.process.pojo.InspectionOrderAttachment; import com.ruoyi.process.pojo.InspectionOrder; import com.ruoyi.process.service.InspectionOrderService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.security.access.prepost.PreAuthorize; import javax.servlet.http.HttpServletResponse; import java.util.List; /** *

* 检验委托单 前端控制器 *

* * @author 江苏鵷雏网络科技有限公司 * @since 2024-12-09 */ @Api(tags = "检验委托单") @AllArgsConstructor @RestController @RequestMapping("/inspectionOrder") public class InspectionOrderController { private InspectionOrderService inspectionOrderService; /** * 委托单检验分页查询 * @return */ @ApiOperation(value = "委托单检验分页查询") @GetMapping("/pageInspectionOrder") public Result> pageInspectionOrder(InspectionOrder inspectionOrder,Page page) throws Exception { return Result.success(inspectionOrderService.pageInspectionOrder(page, inspectionOrder)); } /** * 委托单检验新增 * @return */ @ApiOperation(value = "委托单检验新增") @PostMapping("/addInspectionOrder") public Result addInspectionOrder(@RequestBody InspectionOrderDto InspectionOrder){ return Result.success(inspectionOrderService.addInspectionOrder(InspectionOrder)); } @ApiOperation(value = "查询未绑定检验委托单") @GetMapping("/pageUnboundInspectionOrder") public Result> pageUnboundInspectionOrder(InspectionOrder inspectionOrder, Page page) { return Result.success(inspectionOrderService.pageUnboundInspectionOrder(page, inspectionOrder)); } @ApiOperation(value = "查询可重复绑定的检验委托单") @GetMapping("/pageSelectableInspectionOrder") public Result> pageSelectableInspectionOrder(InspectionOrder inspectionOrder, Page page) { return Result.success(inspectionOrderService.pageUnboundInspectionOrder(page, inspectionOrder)); } @ApiOperation(value = "查询检验委托单的历次下单记录") @GetMapping("/pageInspectionOrderBindings") public Result> pageInspectionOrderBindings(Page page, Integer inspectionOrderId, Boolean includeDeleted) { return Result.success(inspectionOrderService.pageInspectionOrderBindings(page, inspectionOrderId, includeDeleted)); } @ApiOperation(value = "查询检验委托单附件") @GetMapping("/listInspectionOrderAttachments") public Result> listInspectionOrderAttachments(Integer inspectionOrderId, Long bindingId) { return Result.success(inspectionOrderService.listInspectionOrderAttachments(inspectionOrderId, bindingId)); } @ApiOperation(value = "获取成品下单关联的委托单信息") @GetMapping("/getInspectionOrderForPlaceOrder") public Result getInspectionOrderForPlaceOrder(Integer inspectionOrderId) { return Result.success(inspectionOrderService.getInspectionOrderForPlaceOrder(inspectionOrderId)); } @ApiOperation(value = "新增成品下单并绑定检验委托单") @PreAuthorize("@ss.hasPermi('add:insOrder')") @PostMapping("/addInsOrderWithInspectionOrder") public Result addInsOrderWithInspectionOrder(@RequestBody InsPlaceOrderDto insPlaceOrderDto) { return Result.success(inspectionOrderService.addInsOrderWithInspectionOrder(insPlaceOrderDto)); } @ApiOperation(value = "变更检验委托单关联") @PreAuthorize("@ss.hasPermi('add:insOrder')") @PostMapping("/changeBinding") public Result changeBinding(Integer insOrderId, Integer inspectionOrderId, String reason) { return Result.success(inspectionOrderService.changeBinding(insOrderId, inspectionOrderId, reason)); } /** * 委托单检验修改 * @return */ @ApiOperation(value = "委托单检验修改") @PostMapping("/updateInspectionOrder") public Result updateInspectionOrder(@RequestBody InspectionOrderDto InspectionOrder){ return Result.success(inspectionOrderService.updateInspectionOrder(InspectionOrder)); } /** * 委托单检验删除 * @return */ @ApiOperation(value = "委托单检验删除") @DeleteMapping("/delInspectionOrder") public Result delInspectionOrder(Integer inspectionOrderId){ return Result.success(inspectionOrderService.delInspectionOrder(inspectionOrderId)); } /** * 委托单检验查看详情 * @return */ @ApiOperation(value = "委托单检验查看详情") @GetMapping("/getInspectionOrderOne") public Result getInspectionOrderOne(Integer inspectionOrderId){ return Result.success(inspectionOrderService.getInspectionOrderOne(inspectionOrderId)); } /** * 委托单成品报告上传 * @return */ @ApiOperation(value = "委托单成品报告上传") @PostMapping("/uploadInspectionOrderFile") public Result uploadInspectionOrderFile(MultipartFile file, Integer inspectionOrderId) { return Result.success(inspectionOrderService.uploadInspectionOrderFile(file, inspectionOrderId)); } @ApiOperation(value = "按下单记录上传委托单附件") @PreAuthorize("@ss.hasPermi('add:insOrder')") @PostMapping("/uploadInspectionOrderBindingFile") public Result uploadInspectionOrderBindingFile(MultipartFile file, Long bindingId) { return Result.success(inspectionOrderService.uploadInspectionOrderBindingFile(file, bindingId)); } @ApiOperation(value = "重试同步正式报告到检验委托单") @PreAuthorize("@ss.hasPermi('add:insOrder')") @PostMapping("/retryInspectionOrderReportSync") public Result retryInspectionOrderReportSync(Integer insReportId) { inspectionOrderService.syncReportFile(insReportId); return Result.success(true); } /** * 导出检验委托单 * @return */ @ApiOperation(value = "导出检验委托单") @GetMapping("/exportInspectionOrder") public void exportInspectionOrder(Integer inspectionOrderId, Long bindingId, HttpServletResponse response){ inspectionOrderService.exportInspectionOrder(inspectionOrderId, bindingId, response); } }