From 3d66a05e01b17a57f80a422b19fbbff92a69c080 Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期三, 19 二月 2025 16:15:03 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
---
north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportController.java | 245 +++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 239 insertions(+), 6 deletions(-)
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportController.java b/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportController.java
index 21f4e95..6059b9d 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportController.java
@@ -1,25 +1,33 @@
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.dto.pp.*;
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.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.pp.ReportService;
import com.example.erp.service.pp.WorkOrderService;
+import com.example.erp.tools.DownExcel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
import java.sql.Date;
+import java.time.LocalDate;
import java.util.List;
import java.util.Map;
@RestController
-@Api(value="鐢熶骇鎶ヨ〃controller",tags={"鐢熶骇鎶ヨ〃鎿嶄綔鎺ュ彛"})
+@Api(value = "鐢熶骇鎶ヨ〃controller", tags = {"鐢熶骇鎶ヨ〃鎿嶄綔鎺ュ彛"})
@RequestMapping("/report")
public class ReportController {
private final ReportService reportService;
@@ -30,19 +38,244 @@
//娴佺▼鍗¤繘搴�
@ApiOperation("娴佺▼鍗¤繘搴�")
- @PostMapping ("/processCardProgress/{orderId}")
- public Result processCardProgress(@PathVariable String orderId, @RequestBody List<Integer> columns){
- return Result.seccess(reportService.processCardProgressSv(orderId,columns));
+ @SaCheckPermission("processCardProgress.search")
+ @PostMapping("/processCardProgress/{orderId}")
+ public Result processCardProgress(@PathVariable String orderId, @RequestBody List<Integer> 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<String> selectDate,
- @RequestBody DamageDetails damageDetails) {
- return Result.seccess(reportService.crossProcessBreakingSv(pageNum,pageSize,selectDate,damageDetails));
+ @RequestBody CrossProcessBreakingDTO crossProcessBreakingDTO) {
+ return Result.seccess(reportService.crossProcessBreakingSv(pageNum, pageSize, selectDate, crossProcessBreakingDTO));
}
+ @ApiOperation("鍦ㄥ埗鍝佹姤琛�")
+ @SaCheckPermission("workInProgress.search")
+ @PostMapping("/workInProgress/{pageNum}/{pageSize}/{orderId}/{inputProject}/{selectProcesses}/{optionVal}")
+ public Result workInProgress(
+ @PathVariable Integer pageNum,
+ @PathVariable Integer pageSize,
+ @PathVariable String orderId,
+ @PathVariable String inputProject,
+ @PathVariable String selectProcesses,
+ @PathVariable String optionVal,
+ @RequestBody WorkInProgressDTO workInProgressDTO) {
+ return Result.seccess(reportService.workInProgressSv(pageNum, pageSize, orderId, inputProject, selectProcesses,optionVal, workInProgressDTO));
+
+ }
+
+ @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/{pageNum}/{pageSize}/{selectTime1}/{selectTime2}")
+ public Result damageReport(
+ @PathVariable Integer pageNum,
+ @PathVariable Integer pageSize,
+ @PathVariable Date selectTime1,
+ @PathVariable Date selectTime2,
+ @RequestBody DamageReportDTO damageReportDTO) {
+ return Result.seccess(reportService.selectDamageReportSv(pageNum, pageSize, selectTime1, selectTime2, damageReportDTO));
+
+ }
+
+ @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<Integer> 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<Integer> 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));
+ }
+
+ @ApiOperation("鐝粍浜ч噺鏄庣粏鎶ヨ〃")
+ @SaCheckPermission("damageReport.search")
+ @PostMapping("/teamOutput/{pageNum}/{pageSize}/{selectTime1}/{selectTime2}/{selectProcesses}")
+ public Result teamOutput(
+ @PathVariable Integer pageNum,
+ @PathVariable Integer pageSize,
+ @PathVariable Date selectTime1,
+ @PathVariable Date selectTime2,
+ @PathVariable String selectProcesses,
+ @RequestBody TeamOutputDTO teamOutputDTO) {
+ return Result.seccess(reportService.teamOutputSv(pageNum, pageSize, selectTime1, selectTime2,selectProcesses, teamOutputDTO));
+
+ }
+ @ApiOperation("璺ㄥ伐搴忔鐮存姤琛ㄥ鍑�")
+ @PostMapping("/exportCrossProcessBreaking")
+ public void exportCrossProcessBreaking(HttpServletResponse response, @RequestBody List<LocalDate> dates) throws IOException, IllegalAccessException, InstantiationException {
+ //鍙傛暟锛氱浉搴旂殑鏁版嵁锛屽疄浣撶被淇℃伅锛岀浉搴旂殑鏂规硶锛堟暟鎹幏鍙栵級锛岀敓鎴愮殑excel鍚嶅瓧
+ DownExcel.download(response, CrossProcessBreakingDTO.class, reportService.exportCrossProcessBreakingSv(dates), "CrossProcessBreaking");
+ }
+
+ @ApiOperation("娆$牬鏄庣粏鎶ヨ〃瀵煎嚭")
+ @PostMapping("/exportDamageReport")
+ public void exportDamageReport(HttpServletResponse response, @RequestBody List<LocalDate> dates) throws IOException, IllegalAccessException, InstantiationException {
+ //鍙傛暟锛氱浉搴旂殑鏁版嵁锛屽疄浣撶被淇℃伅锛岀浉搴旂殑鏂规硶锛堟暟鎹幏鍙栵級锛岀敓鎴愮殑excel鍚嶅瓧
+ DownExcel.download(response, DamageReportDTO.class, reportService.exportDamageReportSv(dates), "DamageReport");
+ }
+
+ @ApiOperation("璁㈠崟璁″垝鍒嗚В鎶ヨ〃瀵煎嚭")
+ @PostMapping("/exportOrderPlanDecomposition")
+ public void exportOrderPlanDecomposition(HttpServletResponse response, @RequestBody List<LocalDate> dates) throws IOException, IllegalAccessException, InstantiationException {
+ //鍙傛暟锛氱浉搴旂殑鏁版嵁锛屽疄浣撶被淇℃伅锛岀浉搴旂殑鏂规硶锛堟暟鎹幏鍙栵級锛岀敓鎴愮殑excel鍚嶅瓧
+ DownExcel.download(response, OrderPlanDecompositionDTO.class, reportService.exportOrderPlanDecompositionSv(dates), "OrderPlanDecomposition");
+ }
+
+ @ApiOperation("宸ュ簭寰呭畬鎴愭姤琛ㄥ鍑�")
+ @PostMapping("/exportProcessToBeCompleted")
+ public void exportProcessToBeCompleted(HttpServletResponse response,
+ @RequestBody Map<String, Object> dates)
+ throws IOException, IllegalAccessException, InstantiationException {
+ //鍙傛暟锛氱浉搴旂殑鏁版嵁锛屽疄浣撶被淇℃伅锛岀浉搴旂殑鏂规硶锛堟暟鎹幏鍙栵級锛岀敓鎴愮殑excel鍚嶅瓧
+ DownExcel.download(response, ProcessToBeCompletedDTO.class, reportService.exportProcessToBeCompletedSv(dates), "ProcessToBeCompleted");
+ }
+
+ @ApiOperation("鍦ㄥ埗鍝佹姤琛ㄥ鍑�")
+ @PostMapping("/exportWorkInProgress")
+ public void exportWorkInProgress(HttpServletResponse response,
+ @RequestBody Map<String, Object> dates)
+ throws IOException, IllegalAccessException, InstantiationException {
+ //鍙傛暟锛氱浉搴旂殑鏁版嵁锛屽疄浣撶被淇℃伅锛岀浉搴旂殑鏂规硶锛堟暟鎹幏鍙栵級锛岀敓鎴愮殑excel鍚嶅瓧
+ DownExcel.download(response, WorkInProgressDTO.class, reportService.exportWorkInProgressSv(dates), "WorkInProgress");
+ }
+
+//
+
+ @ApiOperation("浠诲姟瀹屾垚鎯呭喌瀵煎嚭")
+ @PostMapping("/exportTaskCompletionStatus")
+ public void exportTaskCompletionStatus(HttpServletResponse response, @RequestBody List<LocalDate> dates) throws IOException, IllegalAccessException, InstantiationException {
+ //鍙傛暟锛氱浉搴旂殑鏁版嵁锛屽疄浣撶被淇℃伅锛岀浉搴旂殑鏂规硶锛堟暟鎹幏鍙栵級锛岀敓鎴愮殑excel鍚嶅瓧
+ DownExcel.download(response, TaskCompletionStatusDTO.class, reportService.exportDamageReportSv(dates), "TaskCompletionStatus");
+ }
+
+ @ApiOperation("鍘熺墖棰嗘枡瀵煎嚭")
+ @PostMapping("/exportRawMaterialRequisition")
+ public void exportRawMaterialRequisition(HttpServletResponse response, @RequestBody List<LocalDate> dates) throws IOException, IllegalAccessException, InstantiationException {
+ //鍙傛暟锛氱浉搴旂殑鏁版嵁锛屽疄浣撶被淇℃伅锛岀浉搴旂殑鏂规硶锛堟暟鎹幏鍙栵級锛岀敓鎴愮殑excel鍚嶅瓧
+ DownExcel.download(response, RawMaterialRequisitionDTO.class, reportService.exportRawMaterialRequisitionSv(dates), "RawMaterialRequisition");
+ }
+
+ @ApiOperation("鍝佽川鎶ヨ〃瀵煎嚭")
+ @PostMapping("/exportQualityReport")
+ public void exportQualityReport(HttpServletResponse response, @RequestBody List<LocalDate> dates) throws IOException, IllegalAccessException, InstantiationException {
+ //鍙傛暟锛氱浉搴旂殑鏁版嵁锛屽疄浣撶被淇℃伅锛岀浉搴旂殑鏂规硶锛堟暟鎹幏鍙栵級锛岀敓鎴愮殑excel鍚嶅瓧
+ DownExcel.download(response, QualityReportDTO.class, reportService.exportQualityReportSv(dates), "QualityReport");
+ }
+
+ @ApiOperation("鎴愬搧鐜囨姤琛ㄥ鍑�")
+ @PostMapping("/exportYield")
+ public void exportYield(HttpServletResponse response,
+ @RequestBody Map<String, Object> dates)
+ throws IOException, IllegalAccessException, InstantiationException {
+ //鍙傛暟锛氱浉搴旂殑鏁版嵁锛屽疄浣撶被淇℃伅锛岀浉搴旂殑鏂规硶锛堟暟鎹幏鍙栵級锛岀敓鎴愮殑excel鍚嶅瓧
+ DownExcel.download(response, YieldDTO.class, reportService.exportYieldSv(dates), "Yield");
+ }
+
+ @ApiOperation("鎺掍骇璁㈠崟淇℃伅鎶ヨ〃")
+ @PostMapping("/scheduleProductionSchedule/{pageNum}/{pageSize}/{selectTime1}/{selectTime2}/{processes}")
+ public Result scheduleProductionSchedule(
+ @PathVariable Integer pageNum,
+ @PathVariable Integer pageSize,
+ @PathVariable Date selectTime1,
+ @PathVariable Date selectTime2,
+ @PathVariable String processes,
+ @RequestBody ScheduleProductionScheduleDTO scheduleProductionScheduleDTO) {
+ return Result.seccess(reportService.scheduleProductionScheduleSv(pageNum, pageSize, selectTime1, selectTime2,processes, scheduleProductionScheduleDTO));
+
+ }
+
+ @ApiOperation("璁㈠崟鎺掍骇璁″垝瀵煎嚭")
+ @PostMapping("/exportScheduleReport")
+ public void exportScheduleReport(HttpServletResponse response,
+ @RequestBody Map<String, Object> dates
+ ) throws IOException, IllegalAccessException, InstantiationException {
+ //鍙傛暟锛氱浉搴旂殑鏁版嵁锛屽疄浣撶被淇℃伅锛岀浉搴旂殑鏂规硶锛堟暟鎹幏鍙栵級锛岀敓鎴愮殑excel鍚嶅瓧
+ DownExcel.download(response, ScheduleProductionScheduleDTO.class, reportService.exportScheduleReportSv(dates), "ScheduleProduction");
+ }
+
+ @ApiOperation("鐝粍浜ч噺瀵煎嚭")
+ @PostMapping("/exportTeamOutput")
+ public void exportTeamOutput(HttpServletResponse response,
+ @RequestBody Map<String, Object> dates
+ ) throws IOException, IllegalAccessException, InstantiationException {
+ //鍙傛暟锛氱浉搴旂殑鏁版嵁锛屽疄浣撶被淇℃伅锛岀浉搴旂殑鏂规硶锛堟暟鎹幏鍙栵級锛岀敓鎴愮殑excel鍚嶅瓧
+ DownExcel.download(response, TeamOutputDTO.class, reportService.exportTeamOutputSv(dates), "TeamOutput");
+ }
}
--
Gitblit v1.8.0