main #1

Merged
root merged 5 commits from main into dev 2025-10-13 18:20:56 +08:00
Showing only changes of commit 39207b06bd - Show all commits

View File

@ -147,54 +147,7 @@ public class ScrProductionServiceImpl extends ServiceImpl<ScrProductionMapper, S
@Override
public ScrProductionDriParam driQuery(ScrProductionParam scrProductionParam) {
QueryWrapper<ScrProduction> 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<ScrProduction> productions = this.list(queryWrapper);
@ -210,7 +163,7 @@ public class ScrProductionServiceImpl extends ServiceImpl<ScrProductionMapper, S
.reduce(BigDecimal.ZERO, BigDecimal::add);
// 计算平均合格率
BigDecimal avgPassRate =null;
BigDecimal avgPassRate = BigDecimal.valueOf(0);
if (!productions.isEmpty()) {
List<BigDecimal> validPassRates = productions.stream()
.map(ScrProduction::getPassRate)
@ -237,48 +190,7 @@ public class ScrProductionServiceImpl extends ServiceImpl<ScrProductionMapper, S
public List<ScrProduction> driQhQuery(ScrProductionParam scrProductionParam) {
QueryWrapper<ScrProduction> 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<ScrProduction> productions = this.list(queryWrapper);
@ -312,48 +224,7 @@ public class ScrProductionServiceImpl extends ServiceImpl<ScrProductionMapper, S
public List<ScrProductionMaterParam> driMaterQuery(ScrProductionParam scrProductionParam) {
QueryWrapper<ScrProduction> 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<ScrProductionMapper, S
})
.collect(Collectors.toList());
}
/**
* 构建产量查询的通用日期条件
*
* @param queryWrapper 查询构造器
* @param scrProductionParam 查询参数
*/
private void buildDateQueryConditions(QueryWrapper<ScrProduction> 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());
}
}
}