gongchunyi
10 小时以前 467615249613c312a984097d3ebb673ebef3e10d
src/main/java/com/ruoyi/production/controller/ProductOrderController.java
@@ -1,13 +1,13 @@
package com.ruoyi.production.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.basic.pojo.Customer;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.production.dto.ProductOrderDto;
import com.ruoyi.production.pojo.ProcessRoute;
import com.ruoyi.production.dto.ProductOrderSourceDto;
import com.ruoyi.production.pojo.ProductOrder;
import com.ruoyi.production.service.ProductOrderService;
import io.swagger.annotations.Api;
@@ -16,10 +16,9 @@
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.List;
@RequestMapping("productOrder")
@RequestMapping("/productOrder")
@RestController
@Api(tags = "生产订单")
public class ProductOrderController {
@@ -29,8 +28,8 @@
    @ApiOperation("分页查询")
    @GetMapping("page")
    public R page(ProductOrderDto productOrder, Page page) {
    @GetMapping("/page")
    public R page(ProductOrderDto productOrder, Page<ProductOrder> page) {
        return R.ok(productOrderService.pageProductOrder(page, productOrder));
    }
@@ -46,6 +45,18 @@
        return R.ok(productOrderService.listProcessRoute(productModelId));
    }
    @PostMapping("/revoke")
    @ApiOperation("撤回生产计划")
    public R revoke(@RequestBody List<Long> ids) {
        return R.ok(productOrderService.revoke(ids));
    }
    @ApiOperation("删除生产订单")
    @DeleteMapping("/{id}")
    public R delete(@PathVariable("id") Long ids) {
        return R.ok(productOrderService.delete(ids));
    }
    /**
     * 导出生产订单
     */
@@ -53,29 +64,6 @@
    @PostMapping("/export")
    public void export(HttpServletResponse response, ProductOrderDto productOrderDto) {
        List<ProductOrderDto> list = productOrderService.pageProductOrder(new Page<>(1, -1), productOrderDto).getRecords();
        if (list != null && !list.isEmpty()) {
            list.forEach(item -> {
                // 判空
                if (item.getQuantity() == null || item.getCompleteQuantity() == null) {
                    item.setCompletionStatus(BigDecimal.ZERO);
                    return;
                }
                // 判零
                if (item.getQuantity().compareTo(BigDecimal.ZERO) == 0) {
                    item.setCompletionStatus(BigDecimal.ZERO);
                    return;
                }
                BigDecimal progress = item.getCompleteQuantity()
                        .divide(item.getQuantity(), 4, BigDecimal.ROUND_HALF_UP)
                        .multiply(new BigDecimal(100))
                        .setScale(2, BigDecimal.ROUND_HALF_UP);
                item.setCompletionStatus(progress);
            });
        }
        ExcelUtil<ProductOrderDto> util = new ExcelUtil<>(ProductOrderDto.class);
        util.exportExcel(response, list, "生产订单数据");
    }
@@ -87,4 +75,17 @@
    }
    @ApiOperation("新增生产订单")
    @PostMapping("addProductOrder")
    public R addProductOrder(@RequestBody ProductOrder productOrder) {
        return R.ok(productOrderService.addProductOrder(productOrder));
    }
    @GetMapping("/productOrderSource/{orderId}")
    @ApiOperation("查看生产订单对应的生产计划")
    public AjaxResult productOrderSource(@PathVariable Long orderId) {
        List<ProductOrderSourceDto> list = productOrderService.productOrderSource(orderId);
        return AjaxResult.success(list);
    }
}