| | |
| | | import cn.iocoder.yudao.module.mes.controller.admin.pro.feedback.vo.MesProFeedbackPageReqVO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.pro.feedback.MesProFeedbackDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.pro.task.MesProTaskDO; |
| | | import cn.iocoder.yudao.module.mes.enums.pro.MesProFeedbackStatusEnum; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * MES 生产报工 Mapper |
| | |
| | | .in(MesProFeedbackDO::getTaskId, taskIds)); |
| | | } |
| | | |
| | | /** |
| | | * 汇总指定工单、指定工序下已完成报工的合格数量 |
| | | * |
| | | * @param workOrderId 生产工单编号 |
| | | * @param processIds 工序编号集合 |
| | | * @return 合格数量合计 |
| | | */ |
| | | default BigDecimal selectFinishedQualifiedQuantitySum(Long workOrderId, Collection<Long> processIds) { |
| | | return selectList(new LambdaQueryWrapperX<MesProFeedbackDO>() |
| | | .eq(MesProFeedbackDO::getWorkOrderId, workOrderId) |
| | | .in(MesProFeedbackDO::getProcessId, processIds) |
| | | .eq(MesProFeedbackDO::getStatus, MesProFeedbackStatusEnum.FINISHED.getStatus())) |
| | | .stream() |
| | | .map(MesProFeedbackDO::getQualifiedQuantity) |
| | | .filter(Objects::nonNull) |
| | | .reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | } |
| | | |
| | | } |