package com.example.erp.controller.pp; import cn.dev33.satoken.annotation.SaCheckPermission; import com.example.erp.common.Constants; import com.example.erp.common.Result; import com.example.erp.entity.pp.DamageDetails; import com.example.erp.entity.pp.FlowCard; import com.example.erp.entity.pp.Report; 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.pp.ReportService; import com.example.erp.service.pp.WorkOrderService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.sql.Date; import java.util.List; import java.util.Map; @RestController @Api(value="生产报表controller",tags={"生产报表操作接口"}) @RequestMapping("/report") public class ReportController { private final ReportService reportService; public ReportController(ReportService reportService) { this.reportService = reportService; } //流程卡进度 @ApiOperation("流程卡进度") @SaCheckPermission("ProcessCardProgress.search") @PostMapping ("/processCardProgress/{orderId}") public Result processCardProgress(@PathVariable String orderId, @RequestBody List columns){ return Result.seccess(reportService.processCardProgressSv(orderId,columns)); } @ApiOperation("跨工序次破") @SaCheckPermission("CrossProcessBreaking.search") @PostMapping("/crossProcessBreaking/{pageNum}/{pageSize}/{selectDate}") public Result getOrderReport(@PathVariable Integer pageNum, @PathVariable Integer pageSize, @PathVariable List selectDate, @RequestBody DamageDetails damageDetails) { return Result.seccess(reportService.crossProcessBreakingSv(pageNum,pageSize,selectDate,damageDetails)); } @ApiOperation("在制品报表") @SaCheckPermission("WorkInProgress.search") @PostMapping("/workInProgress/{selectTime1}/{selectTime2}/{orderId}/{inputProject}/{selectProcesses}") public Result workInProgress( @PathVariable Date selectTime1, @PathVariable Date selectTime2, @PathVariable String orderId, @PathVariable String inputProject, @PathVariable String selectProcesses, @RequestBody Report report) { return Result.seccess(reportService.workInProgressSv(selectTime1,selectTime2,orderId,inputProject,selectProcesses,report)); } @ApiOperation("工序待完成报表") @SaCheckPermission("ProcessToBeCompleted.search") @PostMapping("/selectProcessToBeCompleted/{selectTime1}/{selectTime2}/{orderId}/{inputProject}/{selectProcesses}") public Result selectProcessToBeCompleted( @PathVariable Date selectTime1, @PathVariable Date selectTime2, @PathVariable String orderId, @PathVariable String inputProject, @PathVariable String selectProcesses, @RequestBody Report report) { return Result.seccess(reportService.selectProcessToBeCompletedSv(selectTime1,selectTime2,orderId,inputProject,selectProcesses,report)); } @ApiOperation("次破明细报表") @SaCheckPermission("DamageReport.search") @PostMapping("/damageReport/{selectTime1}/{selectTime2}") public Result damageReport( @PathVariable Date selectTime1, @PathVariable Date selectTime2, @RequestBody Report report) { return Result.seccess(reportService.selectDamageReportSv(selectTime1,selectTime2,report)); } @ApiOperation("分架明细报表") @SaCheckPermission("SplittingDetailsOutside.search") @PostMapping("/splittingDetailsOutside/{orderId}") public Result splittingDetailsOutside( @PathVariable String orderId, @RequestBody Report report) { return Result.seccess(reportService.splittingDetailsOutsideSv(orderId,report)); } @ApiOperation("品质报表") @SaCheckPermission("QualityReport.search") @PostMapping("/qualityReport/{selectTime1}/{selectTime2}") public Result qualityReport( @PathVariable Date selectTime1, @PathVariable Date selectTime2, @RequestBody Report report) { return Result.seccess(reportService.qualityReportSv(selectTime1,selectTime2,report)); } @ApiOperation("成品率报表") @SaCheckPermission("Yield.search") @PostMapping("/yield/{selectTime1}/{selectTime2}/{selectProcesses}") public Result yield( @PathVariable Date selectTime1, @PathVariable Date selectTime2, @PathVariable String selectProcesses, @RequestBody Report report) { return Result.seccess(reportService.yieldSv(selectTime1,selectTime2,selectProcesses,report)); } @ApiOperation("生产发货进度") @SaCheckPermission("ProductionSchedule.search") @PostMapping ("/productionSchedule/{orderId}") public Result productionSchedule(@PathVariable String orderId, @RequestBody List columns){ return Result.seccess(reportService.productionScheduleSv(orderId,columns)); } @ApiOperation("任务完成情况汇总进度") @SaCheckPermission("TaskCompletionStatus.search") @PostMapping ("/taskCompletionStatus/{selectTime1}/{selectTime2}") public Result taskCompletionStatus(@PathVariable Date selectTime1, @PathVariable Date selectTime2, @RequestBody List columns){ return Result.seccess(reportService.taskCompletionStatusSv(selectTime1,selectTime2,columns)); } @ApiOperation("订单计划分解") @SaCheckPermission("OrderPlanDecomposition.search") @PostMapping ("/orderPlanDecomposition/{selectTime1}/{selectTime2}") public Result orderPlanDecomposition(@PathVariable Date selectTime1, @PathVariable Date selectTime2, @RequestBody Report report){ return Result.seccess(reportService.orderPlanDecompositionSv(selectTime1,selectTime2,report)); } @ApiOperation("原片领料") @SaCheckPermission("RawMaterialRequisition.search") @PostMapping ("/rawMaterialRequisition/{selectTime1}/{selectTime2}") public Result rawMaterialRequisition(@PathVariable Date selectTime1, @PathVariable Date selectTime2, @RequestBody Report report){ return Result.seccess(reportService.rawMaterialRequisitionSv(selectTime1,selectTime2,report)); } }