package com.example.erp.controller.sd; import cn.dev33.satoken.annotation.SaCheckPermission; import com.alibaba.fastjson.JSONObject; import com.example.erp.common.Constants; import com.example.erp.common.Result; import com.example.erp.dto.sd.OrderDTO; import com.example.erp.dto.sd.OrderDetailProductDTO; 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 com.fasterxml.jackson.core.JsonProcessingException; 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 orderMap) throws Exception { if(orderService.saveOrder(orderMap)) { return Result.success(true); }else{ throw new ServiceException(Constants.Code_500,Constants.Code_msg); } } @ApiOperation("其他系统传输订单保存") @PostMapping("/saveOtherSystemOrder") public Result saveOtherSystemOrder(@RequestBody Map orderMap) throws Exception { if(orderService.saveOrder(orderMap)) { return Result.success(true); }else{ throw new ServiceException(Constants.Code_500,Constants.Code_msg); } } @ApiOperation("订单表头保存") @PostMapping("/saveOrderTitle") @SaCheckPermission("createOrder.add") public Result saveOrderTitle(@RequestBody Map orderMap) throws Exception { if(orderService.saveOrderTitle(orderMap)) { return Result.success(true); }else{ throw new ServiceException(Constants.Code_500,Constants.Code_msg); } } @ApiOperation("重复订单查询") @SaCheckPermission("createOrder.search") @PostMapping("/selectOrder") public Result selectOrder(@RequestBody Map orderMap) throws Exception { return Result.success(orderService.selectOrder(orderMap)); } @ApiOperation("订单分页筛选查询") @SaCheckPermission("selectOrder.search") @PostMapping("/getOrderList/{pageNum}/{pageSize}/{orderType}/{selectDate}") public Result getOrderList(@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable Integer orderType, @PathVariable List selectDate, @RequestBody Map config) { return Result.success(orderService.getOrderList(pageNum, pageSize, selectDate, config,orderType)); } @ApiOperation("删除订单") @SaCheckPermission("selectOrder.delete") @PostMapping("/deleteOrder/{id}") public Result deleteOrder(@PathVariable String id) { return Result.success(orderService.deleteOrder(id)); } @ApiOperation("订单作废") @SaCheckPermission("createOrder.cancel") @PostMapping("/cancelOrder/{id}") public Result cancelOrder(@PathVariable String id) { return Result.success(orderService.cancelOrder(id)); } @ApiOperation("根据id获取订单信息") @PostMapping("/getOrderById/{id}") public Result getOrderById(@PathVariable String id) { return Result.success(orderService.getOrderById(id)); } @ApiOperation("根据id获取订单明细信息") @SaCheckPermission("selectOrder.search") @PostMapping("/getOrderDetailById/{id}") public Result getOrderDetailById(@PathVariable String id) { return Result.success(orderService.getOrderDetailById(id)); } @ApiOperation("查询订单工艺") @SaCheckPermission("updateOrderCraft.search") @PostMapping("/getOrderCraftById/{id}") public Result getOrderCraftById(@PathVariable String id) { return Result.success(orderService.getOrderCraftById(id)); } @PostMapping("/getOrderCraftDetailById/{id}") public Result getOrderCraftDetailById(@PathVariable String id) { return Result.success(orderService.getOrderCraftDetailById(id)); } @ApiOperation("审核订单") @SaCheckPermission("createOrder.review") @PostMapping("/reviewOrderById/{id}/{status}/{userId}/{userName}") public Result reviewOrderById(@PathVariable String id, @PathVariable Integer status ,@PathVariable String userId,@PathVariable String userName) { return Result.success(orderService.reviewOrderById(id,status,userId,userName)); } @ApiOperation("审核工艺") @SaCheckPermission("updateOrderCraft.review") @PostMapping("/reviewProcessById/{id}/{status}") public Result reviewProcessById(@PathVariable String id,@PathVariable Integer status,@RequestBody List orderGlassDetails) { return Result.success(orderService.reviewProcessById(id,status,orderGlassDetails)); } @ApiOperation("更新订单金额单价") @SaCheckPermission("createOrder.amountReset") @PostMapping("/updateOrderMoney") public Result updateOrderMoney(@RequestBody Map map) { return Result.success(orderService.updateOrderMoney(map)); } @SaCheckPermission("orderReport.search") @ApiOperation("查询订单报表") @PostMapping("/getOrderReport/{pageNum}/{pageSize}/{selectDate}/{model}/{scope}") public Result getOrderReport(@PathVariable Integer pageNum, @PathVariable Integer pageSize, @PathVariable List selectDate, @PathVariable Integer model,//0:精确查找,1:模糊查询 @PathVariable Integer scope,//模糊范围 @RequestBody OrderDetail orderDetail) { return Result.success(orderService.getOrderReport(pageNum,pageSize,selectDate,orderDetail,model,scope)); } //@SaCheckPermission("orderProductSummary.search") @ApiOperation("查询订单产品汇总报表") @PostMapping("/getOrderProductSummary/{pageNum}/{pageSize}/{selectDate}") public Result getOrderProductSummary(@PathVariable Integer pageNum, @PathVariable Integer pageSize, @PathVariable List selectDate, @RequestBody OrderDetail orderDetail) { return Result.success(orderService.getOrderProductSummary(pageNum,pageSize,selectDate,orderDetail)); } @SaCheckPermission("orderReport.search") @ApiOperation("查询订单总报表") @PostMapping("/getOrderSummaryReport/{pageNum}/{pageSize}/{selectDate}") public Result getOrderSummaryReport(@PathVariable Integer pageNum, @PathVariable Integer pageSize, @PathVariable List selectDate, @RequestBody Order order) { return Result.success(orderService.getOrderSummaryReport(pageNum,pageSize,selectDate,order)); } @ApiOperation("订单报表导出") @PostMapping("/exportOrderReport") public void exportOrderReport(HttpServletResponse response, @RequestBody List 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 dates) throws IOException, IllegalAccessException, InstantiationException { //参数:相应的数据,实体类信息,相应的方法(数据获取),生成的excel名字 DownExcel.download(response, OrderDTO.class, orderService.exportOrderProductSummary(dates),"orderReport"); } @ApiOperation("订单总报表导出") @PostMapping("/exportOrderSummary") public void exportOrderSummary(HttpServletResponse response, @RequestBody List dates) throws IOException, IllegalAccessException, InstantiationException { //参数:相应的数据,实体类信息,相应的方法(数据获取),生成的excel名字 DownExcel.download(response, Order.class, orderService.exportOrderSummary(dates),"orderReport"); } @ApiOperation("订单小片标签") @PostMapping("/getOrderProductDetailTag/{orderId}") public Result getOrderProductDetailTag(@PathVariable String orderId) { return Result.success(orderService.getOrderProductDetailTag(orderId)); } @ApiOperation("订单加工单打印-成品") @GetMapping ("/printOrderProductDetail/{orderId}") public Result printOrderProductDetail(@PathVariable String orderId) { return Result.success(orderService.printOrderProductDetail(orderId)); } @ApiOperation("订单加工单打印-小片明细") @GetMapping ("/printOrderProductGlassDetail/{orderId}") public Result printOrderProductGlassDetail(@PathVariable String orderId) { return Result.success(orderService.printOrderProductGlassDetail(orderId)); } @ApiOperation("订单加工单打印-小片明细1") @PostMapping ("/printOrderProductGlassDetailMonolithic/{orderId}") public Result printOrderProductGlassDetailMonolithic(@PathVariable String orderId,@RequestBody List selectedValues) { return Result.success(orderService.printOrderProductGlassDetailMonolithic(orderId,selectedValues)); } @ApiOperation("订单加工单打印-成品2") @GetMapping ("/printOrderProductDetail/{orderId}/{selectedValues}") public Result printOrderProductDetail(@PathVariable String orderId,@PathVariable List selectedValues) { return Result.success(orderService.printOrderProductDetails(orderId,selectedValues)); } @ApiOperation("订单打印计数") @PostMapping ("/updateOrderPrintNumber/{orderId}") public Result updateOrderPrintNumber(@PathVariable String orderId) { return Result.success(orderService.updateOrderPrintNumber(orderId)); } @ApiOperation("修改订单号") @SaCheckPermission("createOrder.amountReset") @PostMapping("/updateOrderId") public Result updateOrderId(@RequestBody Map map) { return Result.success(orderService.updateOrderId(map)); } @ApiOperation("订单反审是否存在手动大小片") @PostMapping("/selectDifferentSize/{orderId}") public Result selectDifferentSize(@PathVariable String orderId) { return Result.success(orderService.selectDifferentSize(orderId)); } @ApiOperation("退回流程") @PostMapping("/processBack/{orderId}/{status}") public Result processBack(@PathVariable String orderId,@PathVariable Integer status) { return Result.success(orderService.processBack(orderId,status)); } @ApiOperation("手机扫码玻璃信息") @PostMapping("/scannerGlassInfo/{projectNo}") public Result scannerGlassInfo(@PathVariable String projectNo) { return Result.success(orderService.scannerGlassInfo(projectNo)); } @PostMapping("/test") public Result scannerGlassInfo() { return Result.success(null); } @PostMapping("/upload-dxf") public Result uploadDxf(@RequestBody Map object) { return Result.success(orderService.uploadDxf(object)); } @PostMapping("/selectUploadDxf") public Result selectUploadDxf(@RequestBody Map object) { return Result.success(orderService.selectUploadDxf(object)); } @PostMapping("/updateOrderFile") public Result updateOrderFile(@RequestBody JSONObject map) throws JsonProcessingException { return Result.success(orderService.updateOrderFile(map)); } @ApiOperation("查询工艺属性配置") @PostMapping("/processAttributeConfig") public Result processAttributeConfig() { return Result.success(orderService.processAttributeConfig()); } }