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.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;
/**
*
* 检验委托单 前端控制器
*
*
* @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("/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));
}
/**
* 导出检验委托单
* @return
*/
@ApiOperation(value = "导出检验委托单")
@GetMapping("/exportInspectionOrder")
public void exportInspectionOrder(Integer inspectionOrderId, HttpServletResponse response){
inspectionOrderService.exportInspectionOrder(inspectionOrderId, response);
}
}