package com.ruoyi.production.controller;
|
|
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.R;
|
import com.ruoyi.production.bean.vo.MaterialConsumptionStatVo;
|
import com.ruoyi.production.service.MaterialConsumptionService;
|
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
import jakarta.servlet.http.HttpServletResponse;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.time.LocalDate;
|
import java.util.List;
|
|
@RestController
|
@RequestMapping("/materialConsumption")
|
@RequiredArgsConstructor
|
@Tag(name = "材料消耗核算")
|
public class MaterialConsumptionController {
|
|
private final MaterialConsumptionService materialConsumptionService;
|
|
@GetMapping("/stat")
|
@Operation(summary = "材料消耗核算(BOM标准vs实际投入)")
|
public R<List<MaterialConsumptionStatVo>> stat(
|
@RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate startDate,
|
@RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate endDate,
|
@RequestParam(required = false) String npsNo,
|
@RequestParam(required = false) String productName,
|
@RequestParam(required = false) Boolean onlyDiff) {
|
return R.ok(materialConsumptionService.stat(startDate, endDate, npsNo, productName, onlyDiff));
|
}
|
|
@GetMapping("/stat/export")
|
@Log(title = "Export material consumption", businessType = BusinessType.EXPORT)
|
@Operation(summary = "材料消耗核算导出")
|
public void export(HttpServletResponse response,
|
@RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate startDate,
|
@RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate endDate,
|
@RequestParam(required = false) String npsNo,
|
@RequestParam(required = false) String productName,
|
@RequestParam(required = false) Boolean onlyDiff) {
|
List<MaterialConsumptionStatVo> list =
|
materialConsumptionService.stat(startDate, endDate, npsNo, productName, onlyDiff);
|
ExcelUtil<MaterialConsumptionStatVo> util = new ExcelUtil<>(MaterialConsumptionStatVo.class);
|
util.exportExcel(response, list, "材料消耗核算");
|
}
|
}
|