package org.jeecg.modules.mdcJc.service.impl; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; import lombok.extern.slf4j.Slf4j; import org.jeecg.modules.mdcJc.dto.MesRcJobreport; import org.jeecg.modules.mdcJc.entity.MdcJcRcJobreport; import org.jeecg.modules.mdcJc.mapper.MdcJcRcJobreportMapper; import org.jeecg.modules.mdcJc.service.IMdcJcRcJobreportService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.List; /** * @Description: 设备集成mes合格率表 * @Author: Lius * @Date: 2025-04-14 */ @Service @Slf4j public class MdcJcRcJobreportServiceImpl extends ServiceImpl implements IMdcJcRcJobreportService { @Override public Integer selectTotalProcessCount(String equipmentId, String validDate) { Integer totalProcessCount = this.baseMapper.selectTotalProcessCount(equipmentId, validDate); if (totalProcessCount == null) { return 0; } else { return totalProcessCount; } } @Override public Integer selectTotalPassCount(String equipmentId, String validDate) { Integer totalPassCount = this.baseMapper.selectTotalPassCount(equipmentId, validDate); if (totalPassCount == null) { return 0; } else { return totalPassCount; } } @Override public BigDecimal findRateByMonth(String equipmentId, String month) { BigDecimal rate = BigDecimal.ZERO; MesRcJobreport mesRcJobreport = this.baseMapper.findRateByMonth(equipmentId, month); if (mesRcJobreport != null && mesRcJobreport.getQty().compareTo(BigDecimal.ZERO) > 0) { rate = mesRcJobreport.getOkuqty().divide(mesRcJobreport.getQty(), 2, RoundingMode.HALF_UP); } return rate; } }