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 67d7c34..04a48d5 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 0000000..4b04f93 --- /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 9447b26..fe94d17 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 441b01f..ca45866 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 76caeb3..089aa52 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 ab3f3d6..34b2375 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 5f5ead0..7fa8524 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 + +