package com.example.erp.controller.sd;
|
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
import com.example.erp.common.Constants;
|
import com.example.erp.common.Result;
|
import com.example.erp.dto.sd.OrderDTO;
|
import com.example.erp.entity.sd.Order;
|
import com.example.erp.entity.sd.OrderDetail;
|
import com.example.erp.entity.sd.OrderGlassDetail;
|
import com.example.erp.exception.ServiceException;
|
import com.example.erp.service.sd.OrderService;
|
import com.example.erp.tools.DownExcel;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
import java.time.LocalDate;
|
import java.util.List;
|
import java.util.Map;
|
|
@RestController
|
@RequestMapping("/order")
|
@Api(value="订单controller",tags={"订单操作接口"})
|
public class OrderController {
|
private final OrderService orderService;
|
|
public OrderController(OrderService orderService) {
|
this.orderService = orderService;
|
}
|
|
|
@ApiOperation("订单保存")
|
@PostMapping("/saveOrder")
|
@SaCheckPermission("createOrder.add")
|
public Result saveOrder(@RequestBody Map<String, Object> orderMap) throws Exception {
|
if(orderService.saveOrder(orderMap)) {
|
return Result.seccess(true);
|
}else{
|
throw new ServiceException(Constants.Code_500,Constants.Code_msg);
|
}
|
}
|
@ApiOperation("订单分页筛选查询")
|
@SaCheckPermission("selectOrder.search")
|
@PostMapping("/getOrderList/{pageNum}/{pageSize}/{orderType}/{selectDate}")
|
public Result getOrderList(@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable Integer orderType, @PathVariable List<String> selectDate, @RequestBody Order order) {
|
return Result.seccess(orderService.getOrderList(pageNum, pageSize, selectDate, order,orderType));
|
}
|
@ApiOperation("删除订单")
|
@SaCheckPermission("selectOrder.delete")
|
@PostMapping("/deleteOrder/{id}")
|
public Result deleteOrder(@PathVariable String id) {
|
return Result.seccess(orderService.deleteOrder(id));
|
}
|
|
@ApiOperation("订单作废")
|
@SaCheckPermission("createOrder.cancel")
|
@PostMapping("/cancelOrder/{id}")
|
public Result cancelOrder(@PathVariable String id) {
|
return Result.seccess(orderService.cancelOrder(id));
|
}
|
|
@ApiOperation("根据id获取订单信息")
|
@PostMapping("/getOrderById/{id}")
|
public Result getOrderById(@PathVariable String id) {
|
return Result.seccess(orderService.getOrderById(id));
|
}
|
|
@ApiOperation("根据id获取订单明细信息")
|
@SaCheckPermission("selectOrder.edit")
|
@PostMapping("/getOrderDetailById/{id}")
|
public Result getOrderDetailById(@PathVariable String id) {
|
return Result.seccess(orderService.getOrderDetailById(id));
|
}
|
|
|
|
|
@ApiOperation("查询订单工艺")
|
@SaCheckPermission("updateOrderCraft.search")
|
@PostMapping("/getOrderCraftById/{id}")
|
public Result getOrderCraftById(@PathVariable String id) {
|
return Result.seccess(orderService.getOrderCraftById(id));
|
}
|
|
@PostMapping("/getOrderCraftDetailById/{id}")
|
public Result getOrderCraftDetailById(@PathVariable String id) {
|
return Result.seccess(orderService.getOrderCraftDetailById(id));
|
}
|
@ApiOperation("审核订单")
|
@SaCheckPermission("createOrder.review")
|
@PostMapping("/reviewOrderById/{id}/{status}")
|
public Result reviewOrderById(@PathVariable String id,@PathVariable Integer status) {
|
return Result.seccess(orderService.reviewOrderById(id,status));
|
}
|
|
@ApiOperation("审核工艺")
|
@SaCheckPermission("updateOrderCraft.review")
|
@PostMapping("/reviewProcessById/{id}/{status}")
|
public Result reviewProcessById(@PathVariable String id,@PathVariable Integer status,@RequestBody List<OrderGlassDetail> orderGlassDetails) {
|
return Result.seccess(orderService.reviewProcessById(id,status,orderGlassDetails));
|
}
|
|
@ApiOperation("更新订单金额单价")
|
@SaCheckPermission("createOrder.amountReset")
|
@PostMapping("/updateOrderMoney")
|
public Result updateOrderMoney(@RequestBody Map<String,Object> map) {
|
return Result.seccess(orderService.updateOrderMoney(map));
|
}
|
|
@SaCheckPermission("orderReport.search")
|
@ApiOperation("查询订单报表")
|
@PostMapping("/getOrderReport/{pageNum}/{pageSize}/{selectDate}")
|
public Result getOrderReport(@PathVariable Integer pageNum,
|
@PathVariable Integer pageSize,
|
@PathVariable List<String> selectDate,
|
@RequestBody OrderDetail orderDetail) {
|
return Result.seccess(orderService.getOrderReport(pageNum,pageSize,selectDate,orderDetail));
|
|
}
|
|
//@SaCheckPermission("orderProductSummary.search")
|
@ApiOperation("查询订单产品汇总报表")
|
@PostMapping("/getOrderProductSummary/{pageNum}/{pageSize}/{selectDate}")
|
public Result getOrderProductSummary(@PathVariable Integer pageNum,
|
@PathVariable Integer pageSize,
|
@PathVariable List<String> selectDate,
|
@RequestBody OrderDetail orderDetail) {
|
return Result.seccess(orderService.getOrderProductSummary(pageNum,pageSize,selectDate,orderDetail));
|
|
}
|
@ApiOperation("订单报表导出")
|
@PostMapping("/exportOrderReport")
|
public void exportOrderReport(HttpServletResponse response, @RequestBody List<LocalDate> dates) throws IOException, IllegalAccessException, InstantiationException {
|
|
//参数:相应的数据,实体类信息,相应的方法(数据获取),生成的excel名字
|
DownExcel.download(response, OrderDTO.class, orderService.exportOrderReport(dates),"orderReport");
|
}
|
|
@ApiOperation("订单产品汇总报表导出")
|
@PostMapping("/exportOrderProductSummary")
|
public void exportOrderProductSummary(HttpServletResponse response, @RequestBody List<LocalDate> dates) throws IOException, IllegalAccessException, InstantiationException {
|
//参数:相应的数据,实体类信息,相应的方法(数据获取),生成的excel名字
|
DownExcel.download(response, OrderDTO.class, orderService.exportOrderProductSummary(dates),"orderReport");
|
}
|
|
@ApiOperation("订单小片标签")
|
@PostMapping("/getOrderProductDetailTag/{orderId}")
|
public Result getOrderProductDetailTag(@PathVariable String orderId) {
|
return Result.seccess(orderService.getOrderProductDetailTag(orderId));
|
}
|
|
|
}
|