From a84caeacf643f50ea552e9e70115053011f07d6d Mon Sep 17 00:00:00 2001 From: yinq Date: Tue, 4 Mar 2025 20:18:07 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E7=94=9F=E4=BA=A7=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=8E=87=E5=AF=B9=E6=AF=94=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=E3=80=81=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/controller/ProdReportController.java | 36 ++++-- .../vo/PlanCompletionContrastReportVo.java | 103 ++++++++++++++++++ .../dromara/mes/mapper/ProdReportMapper.java | 26 ++++- .../mes/service/IProdReportService.java | 17 +++ .../impl/ProdBaseMachineInfoServiceImpl.java | 4 + .../service/impl/ProdReportServiceImpl.java | 25 +++++ .../resources/mapper/mes/ProdReportMapper.xml | 64 +++++++++++ 7 files changed, 263 insertions(+), 12 deletions(-) create mode 100644 ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/PlanCompletionContrastReportVo.java diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdReportController.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdReportController.java index 67d7c34f..04a48d50 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdReportController.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdReportController.java @@ -3,17 +3,11 @@ package org.dromara.mes.controller; import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; -import org.dromara.common.core.domain.R; -import org.dromara.common.core.utils.sql.SqlUtil; import org.dromara.common.excel.utils.ExcelUtil; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.web.core.BaseController; -import org.dromara.mes.domain.bo.ProdMaterialBomBo; -import org.dromara.mes.domain.vo.PlanCompletionRateReportVo; -import org.dromara.mes.domain.vo.ProdMaterialBomVo; -import org.dromara.mes.domain.vo.ProdOrderInfoVo; -import org.dromara.mes.domain.vo.ProdPlanInfoVo; +import org.dromara.mes.domain.vo.*; import org.dromara.mes.service.IProdReportService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -43,7 +37,7 @@ public class ProdReportController extends BaseController { * @return */ @GetMapping("/planCompletionRateReport") - public TableDataInfo qualityIssuesReportList(@RequestParam(required = false) Map hashMap, PageQuery pageQuery) { + public TableDataInfo planCompletionRateReportList(@RequestParam(required = false) Map hashMap, PageQuery pageQuery) { return prodReportService.planCompletionRateReportVoList(hashMap, pageQuery); } @@ -54,9 +48,33 @@ public class ProdReportController extends BaseController { * @return */ @PostMapping("/planCompletionRateReport/export") - public void export(@RequestParam(required = false) Map hashMap, HttpServletResponse response) { + public void planCompletionRateReportListExport(@RequestParam(required = false) Map hashMap, HttpServletResponse response) { List list = prodReportService.planCompletionRateReportVoList(hashMap); ExcelUtil.exportExcel(list, "生产计划完成率报表", PlanCompletionRateReportVo.class, response); } + + /** + * 生产计划完成率对比报表 + * + * @param hashMap + * @return + */ + @GetMapping("/planCompletionContrastReport") + public TableDataInfo planCompletionContrastReportVoList(@RequestParam(required = false) Map hashMap, PageQuery pageQuery) { + return prodReportService.planCompletionContrastReportVoList(hashMap, pageQuery); + } + + /** + * 生产计划完成率对比报表导出 + * + * @param hashMap + * @return + */ + @PostMapping("/planCompletionContrastReport/export") + public void planCompletionContrastReportExport(@RequestParam(required = false) Map hashMap, HttpServletResponse response) { + List list = prodReportService.planCompletionContrastReportVoList(hashMap); + ExcelUtil.exportExcel(list, "生产计划完成率对比报表", PlanCompletionContrastReportVo.class, response); + } + } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/PlanCompletionContrastReportVo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/PlanCompletionContrastReportVo.java new file mode 100644 index 00000000..4b04f93a --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/PlanCompletionContrastReportVo.java @@ -0,0 +1,103 @@ +package org.dromara.mes.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; + + +/** + * 生产计划完成率对比报表 + * + * @author Yinq + * @date 2025-02-28 + */ +@Data +@ExcelIgnoreUnannotated +public class PlanCompletionContrastReportVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 物料名称 + */ + @ExcelProperty(value = "物料名称") + private String materialName; + + /** + * 当日计划 + */ + @ExcelProperty(value = "当日计划") + private BigDecimal dayPlanNumber; + + /** + * 当日实际 + */ + @ExcelProperty(value = "当日实际") + private BigDecimal dayActualNumber; + + /** + * 当日差异 + */ + @ExcelProperty(value = "当日差异") + private BigDecimal dayDeviationNumber; + + /** + * 日完成率 + */ + @ExcelProperty(value = "日完成率") + private String dayCompletionRate; + + /** + * 当月计划 + */ + @ExcelProperty(value = "当月计划") + private BigDecimal monthPlanNumber; + + /** + * 当月实际 + */ + @ExcelProperty(value = "当月实际") + private BigDecimal monthActualNumber; + + /** + * 当月差异 + */ + @ExcelProperty(value = "当月差异") + private BigDecimal monthDeviationNumber; + + /** + * 月完成率 + */ + @ExcelProperty(value = "月完成率") + private String monthCompletionRate; + + /** + * 当年计划 + */ + @ExcelProperty(value = "当年计划") + private BigDecimal yearPlanNumber; + + /** + * 当年实际 + */ + @ExcelProperty(value = "当年实际") + private BigDecimal yearActualNumber; + + /** + * 当年差异 + */ + @ExcelProperty(value = "当年差异") + private BigDecimal yearDeviationNumber; + + /** + * 年完成率 + */ + @ExcelProperty(value = "年完成率") + private String yearCompletionRate; + +} diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/ProdReportMapper.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/ProdReportMapper.java index 9447b26b..fe94d175 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/ProdReportMapper.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/mapper/ProdReportMapper.java @@ -3,8 +3,8 @@ package org.dromara.mes.mapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; +import org.dromara.mes.domain.vo.PlanCompletionContrastReportVo; import org.dromara.mes.domain.vo.PlanCompletionRateReportVo; -import org.dromara.mes.domain.vo.ProdPlanInfoVo; import java.util.List; import java.util.Map; @@ -21,9 +21,11 @@ public interface ProdReportMapper { * 生产计划完成率报表 * * @param hashMap + * @param page + * @param tableName * @return */ - Page planCompletionRateReportVoList(@Param("map") Map hashMap, @Param("page") Page page, @Param("tableName")String tableName); + Page planCompletionRateReportVoList(@Param("map") Map hashMap, @Param("page") Page page, @Param("tableName") String tableName); /** * 生产计划完成率报表导出 @@ -31,6 +33,24 @@ public interface ProdReportMapper { * @param hashMap * @return */ - List planCompletionRateReportVoList(@Param("map") Map hashMap, @Param("tableName")String tableName); + List planCompletionRateReportVoList(@Param("map") Map hashMap, @Param("tableName") String tableName); + /** + * 生产计划完成率对比报表 + * + * @param hashMap + * @param page + * @param tableName + * @return + */ + Page planCompletionContrastReportVoList(@Param("map") Map hashMap, @Param("page") Page page, @Param("tableName") String tableName); + + /** + * 生产计划完成率对比报表导出 + * + * @param hashMap + * @param tableName + * @return + */ + List planCompletionContrastReportVoList(@Param("map") Map hashMap, @Param("tableName") String tableName); } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdReportService.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdReportService.java index 441b01f8..ca45866d 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdReportService.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdReportService.java @@ -3,6 +3,7 @@ package org.dromara.mes.service; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.mes.domain.vo.PlanCompletionContrastReportVo; import org.dromara.mes.domain.vo.PlanCompletionRateReportVo; import java.util.List; @@ -20,6 +21,7 @@ public interface IProdReportService { * 生产计划完成率报表 * * @param hashMap + * @param pageQuery * @return */ TableDataInfo planCompletionRateReportVoList(Map hashMap, PageQuery pageQuery); @@ -32,4 +34,19 @@ public interface IProdReportService { */ List planCompletionRateReportVoList(Map hashMap); + /** + * 生产计划完成率对比报表 + * @param hashMap + * @param pageQuery + * @return + */ + TableDataInfo planCompletionContrastReportVoList(Map hashMap, PageQuery pageQuery); + + /** + * 生产计划完成率对比报表导出 + * + * @param hashMap + * @return + */ + List planCompletionContrastReportVoList(Map hashMap); } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseMachineInfoServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseMachineInfoServiceImpl.java index 76caeb3e..089aa521 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseMachineInfoServiceImpl.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdBaseMachineInfoServiceImpl.java @@ -84,6 +84,10 @@ public class ProdBaseMachineInfoServiceImpl implements IProdBaseMachineInfoServi @Override public List queryList(ProdBaseMachineInfoBo bo) { MPJLambdaWrapper lqw = buildQueryWrapper(bo); + if (StringUtils.isNotNull(bo.getProcessId())) { + lqw.leftJoin(ProdBaseMachineProcess.class, ProdBaseMachineProcess::getMachineId, ProdBaseMachineInfo::getMachineId) + .eq(StringUtils.isNotNull(bo.getProcessId()), ProdBaseMachineProcess::getProcessId, bo.getProcessId()); + } return baseMapper.selectVoList(lqw); } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdReportServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdReportServiceImpl.java index ab3f3d6f..34b23753 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdReportServiceImpl.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdReportServiceImpl.java @@ -6,6 +6,7 @@ import org.dromara.common.constant.DatabaseConstants; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.mes.domain.vo.PlanCompletionContrastReportVo; import org.dromara.mes.domain.vo.PlanCompletionRateReportVo; import org.dromara.mes.mapper.ProdReportMapper; import org.dromara.mes.service.IProdReportService; @@ -72,4 +73,28 @@ public class ProdReportServiceImpl implements IProdReportService { return tableName; } + /** + * 生产计划完成率对比报表 + * @param hashMap + * @param pageQuery + * @return + */ + @Override + public TableDataInfo planCompletionContrastReportVoList(Map hashMap, PageQuery pageQuery) { + String tableName = getPlanInfoTableNameByProcessId(Long.parseLong(String.valueOf(hashMap.get("processId")))); + Page page = prodReportMapper.planCompletionContrastReportVoList(hashMap, pageQuery.build(), tableName); + return TableDataInfo.build(page); + } + + /** + * 生产计划完成率对比报表导出 + * @param hashMap + * @return + */ + @Override + public List planCompletionContrastReportVoList(Map hashMap) { + String tableName = getPlanInfoTableNameByProcessId(Long.parseLong(String.valueOf(hashMap.get("processId")))); + return prodReportMapper.planCompletionContrastReportVoList(hashMap, tableName); + } + } diff --git a/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdReportMapper.xml b/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdReportMapper.xml index 5f5ead05..7fa85240 100644 --- a/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdReportMapper.xml +++ b/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdReportMapper.xml @@ -40,4 +40,68 @@ ORDER BY materialName + +