From 39207b06bdbbfc366b9d2916ac60f00d43b4cf5a Mon Sep 17 00:00:00 2001 From: zhangyanan Date: Thu, 11 Sep 2025 10:16:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=A7=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ScrProductionServiceImpl.java | 175 +++++------------- 1 file changed, 42 insertions(+), 133 deletions(-) diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/scrproduction/service/impl/ScrProductionServiceImpl.java b/snowy-main/src/main/java/vip/xiaonuo/modular/scrproduction/service/impl/ScrProductionServiceImpl.java index 0b0832f..b525c31 100644 --- a/snowy-main/src/main/java/vip/xiaonuo/modular/scrproduction/service/impl/ScrProductionServiceImpl.java +++ b/snowy-main/src/main/java/vip/xiaonuo/modular/scrproduction/service/impl/ScrProductionServiceImpl.java @@ -147,54 +147,7 @@ public class ScrProductionServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); - if (ObjectUtil.isNotNull(scrProductionParam)) { - // 按指定日期查询 - if (ObjectUtil.isNotEmpty(scrProductionParam.getProductionDay())) { - LocalDate targetDate = LocalDate.parse(scrProductionParam.getProductionDay()); - queryWrapper.lambda().eq(ScrProduction::getProductionDay, targetDate); - } - - // 按月份查询(如果有年份和月份参数) - if (ObjectUtil.isNotEmpty(scrProductionParam.getYear()) && ObjectUtil.isNotEmpty(scrProductionParam.getMonth())) { - Integer year = scrProductionParam.getYear(); - Integer month = scrProductionParam.getMonth(); - - LocalDate startDate = LocalDate.of(year, month, 1); - LocalDate endDate = startDate.withDayOfMonth(startDate.lengthOfMonth()); - - queryWrapper.lambda() - .ge(ScrProduction::getProductionDay, startDate) - .le(ScrProduction::getProductionDay, endDate); - } - - // 按年份查询(只有年份参数,没有月份参数) - else if (ObjectUtil.isNotEmpty(scrProductionParam.getYear())) { - Integer year = scrProductionParam.getYear(); - - LocalDate startDate = LocalDate.of(year, 1, 1); - LocalDate endDate = LocalDate.of(year, 12, 31); - - queryWrapper.lambda() - .ge(ScrProduction::getProductionDay, startDate) - .le(ScrProduction::getProductionDay, endDate); - } - - // 按日期范围查询 - if (ObjectUtil.isNotEmpty(scrProductionParam.getStartDate()) && ObjectUtil.isNotEmpty(scrProductionParam.getEndDate())) { - queryWrapper.lambda() - .ge(ScrProduction::getProductionDay, scrProductionParam.getStartDate()) - .le(ScrProduction::getProductionDay, scrProductionParam.getEndDate()); - } - - // 其他可能的过滤条件 - if (ObjectUtil.isNotEmpty(scrProductionParam.getFurnaceNumber())) { - queryWrapper.lambda().eq(ScrProduction::getFurnaceNumber, scrProductionParam.getFurnaceNumber()); - } - - if (ObjectUtil.isNotEmpty(scrProductionParam.getProduct())) { - queryWrapper.lambda().eq(ScrProduction::getProduct, scrProductionParam.getProduct()); - } - } + buildDateQueryConditions(queryWrapper, scrProductionParam); // 查询符合条件的所有产量记录 List productions = this.list(queryWrapper); @@ -210,7 +163,7 @@ public class ScrProductionServiceImpl extends ServiceImpl validPassRates = productions.stream() .map(ScrProduction::getPassRate) @@ -237,48 +190,7 @@ public class ScrProductionServiceImpl extends ServiceImpl driQhQuery(ScrProductionParam scrProductionParam) { QueryWrapper queryWrapper = new QueryWrapper<>(); - if (ObjectUtil.isNotNull(scrProductionParam)) { - // 按指定日期查询 - if (ObjectUtil.isNotEmpty(scrProductionParam.getProductionDay())) { - queryWrapper.lambda().eq(ScrProduction::getProductionDay, scrProductionParam.getProductionDay()); - } - - // 按年月查询 - if (ObjectUtil.isNotEmpty(scrProductionParam.getYear()) && ObjectUtil.isNotEmpty(scrProductionParam.getMonth())) { - Integer year = scrProductionParam.getYear(); - Integer month = scrProductionParam.getMonth(); - - LocalDate startDate = LocalDate.of(year, month, 1); - LocalDate endDate = startDate.withDayOfMonth(startDate.lengthOfMonth()); - - queryWrapper.lambda() - .ge(ScrProduction::getProductionDay, startDate) - .le(ScrProduction::getProductionDay, endDate); - } - // 按年度查询 - else if (ObjectUtil.isNotEmpty(scrProductionParam.getYear())) { - Integer year = scrProductionParam.getYear(); - - LocalDate startDate = LocalDate.of(year, 1, 1); - LocalDate endDate = LocalDate.of(year, 12, 31); - - queryWrapper.lambda() - .ge(ScrProduction::getProductionDay, startDate) - .le(ScrProduction::getProductionDay, endDate); - } - - // 按日期范围查询 - if (ObjectUtil.isNotEmpty(scrProductionParam.getStartDate()) && ObjectUtil.isNotEmpty(scrProductionParam.getEndDate())) { - queryWrapper.lambda() - .ge(ScrProduction::getProductionDay, scrProductionParam.getStartDate()) - .le(ScrProduction::getProductionDay, scrProductionParam.getEndDate()); - } - - // 按产品查询 - if (ObjectUtil.isNotEmpty(scrProductionParam.getProduct())) { - queryWrapper.lambda().eq(ScrProduction::getProduct, scrProductionParam.getProduct()); - } - } + buildDateQueryConditions(queryWrapper, scrProductionParam); // 查询原始数据 List productions = this.list(queryWrapper); @@ -312,48 +224,7 @@ public class ScrProductionServiceImpl extends ServiceImpl driMaterQuery(ScrProductionParam scrProductionParam) { QueryWrapper queryWrapper = new QueryWrapper<>(); - if (ObjectUtil.isNotNull(scrProductionParam)) { - // 按指定日期查询 - if (ObjectUtil.isNotEmpty(scrProductionParam.getProductionDay())) { - queryWrapper.lambda().eq(ScrProduction::getProductionDay, scrProductionParam.getProductionDay()); - } - - // 按年月查询 - if (ObjectUtil.isNotEmpty(scrProductionParam.getYear()) && ObjectUtil.isNotEmpty(scrProductionParam.getMonth())) { - Integer year = scrProductionParam.getYear(); - Integer month = scrProductionParam.getMonth(); - - LocalDate startDate = LocalDate.of(year, month, 1); - LocalDate endDate = startDate.withDayOfMonth(startDate.lengthOfMonth()); - - queryWrapper.lambda() - .ge(ScrProduction::getProductionDay, startDate) - .le(ScrProduction::getProductionDay, endDate); - } - // 按年度查询 - else if (ObjectUtil.isNotEmpty(scrProductionParam.getYear())) { - Integer year = scrProductionParam.getYear(); - - LocalDate startDate = LocalDate.of(year, 1, 1); - LocalDate endDate = LocalDate.of(year, 12, 31); - - queryWrapper.lambda() - .ge(ScrProduction::getProductionDay, startDate) - .le(ScrProduction::getProductionDay, endDate); - } - - // 按日期范围查询 - if (ObjectUtil.isNotEmpty(scrProductionParam.getStartDate()) && ObjectUtil.isNotEmpty(scrProductionParam.getEndDate())) { - queryWrapper.lambda() - .ge(ScrProduction::getProductionDay, scrProductionParam.getStartDate()) - .le(ScrProduction::getProductionDay, scrProductionParam.getEndDate()); - } - - // 按炉号查询 - if (ObjectUtil.isNotEmpty(scrProductionParam.getFurnaceNumber())) { - queryWrapper.lambda().eq(ScrProduction::getFurnaceNumber, scrProductionParam.getFurnaceNumber()); - } - } + buildDateQueryConditions(queryWrapper, scrProductionParam); // 添加产品过滤条件:只查询硅锰、铬铁、硅铁 queryWrapper.lambda().in(ScrProduction::getProduct, "硅锰", "铬铁", "硅铁"); @@ -483,5 +354,43 @@ public class ScrProductionServiceImpl extends ServiceImpl queryWrapper, ScrProductionParam scrProductionParam) { + if (ObjectUtil.isNotEmpty(scrProductionParam.getProductionDay())) { + queryWrapper.lambda().eq(ScrProduction::getProductionDay, scrProductionParam.getProductionDay()); + } + + if (ObjectUtil.isNotEmpty(scrProductionParam.getYear()) && ObjectUtil.isNotEmpty(scrProductionParam.getMonth())) { + Integer year = scrProductionParam.getYear(); + Integer month = scrProductionParam.getMonth(); + + LocalDate startDate = LocalDate.of(year, month, 1); + LocalDate endDate = startDate.withDayOfMonth(startDate.lengthOfMonth()); + + queryWrapper.lambda() + .ge(ScrProduction::getProductionDay, startDate) + .le(ScrProduction::getProductionDay, endDate); + } else if (ObjectUtil.isNotEmpty(scrProductionParam.getYear())) { + Integer year = scrProductionParam.getYear(); + + LocalDate startDate = LocalDate.of(year, 1, 1); + LocalDate endDate = LocalDate.of(year, 12, 31); + + queryWrapper.lambda() + .ge(ScrProduction::getProductionDay, startDate) + .le(ScrProduction::getProductionDay, endDate); + } + + if (ObjectUtil.isNotEmpty(scrProductionParam.getStartDate()) && ObjectUtil.isNotEmpty(scrProductionParam.getEndDate())) { + queryWrapper.lambda() + .ge(ScrProduction::getProductionDay, scrProductionParam.getStartDate()) + .le(ScrProduction::getProductionDay, scrProductionParam.getEndDate()); + } +} }