| | |
| | | import cn.iocoder.yudao.framework.mybatis.core.query.MPJLambdaWrapperX; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.pro.task.vo.MesProTaskPageReqVO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProcessDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.pro.task.MesProTaskAssigneeDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.pro.task.MesProTaskDO; |
| | | import cn.iocoder.yudao.module.mes.enums.pro.MesProTaskStatusEnum; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | |
| | | /** |
| | | * MES 生产任务 Mapper |
| | | * |
| | | * @author 芋道源码 |
| | | * @author 超级管理员 |
| | | */ |
| | | @Mapper |
| | | public interface MesProTaskMapper extends BaseMapperX<MesProTaskDO> { |
| | |
| | | default PageResult<MesProTaskDO> selectPendingFeedbackPage(MesProTaskPageReqVO reqVO) { |
| | | MPJLambdaWrapperX<MesProTaskDO> query = new MPJLambdaWrapperX<>(); |
| | | query.selectAll(MesProTaskDO.class); |
| | | // 当需要按 assigneeUserId 过滤时,INNER JOIN mes_pro_task_assignee |
| | | if (reqVO.getAssigneeUserId() != null) { |
| | | query.innerJoin(MesProTaskAssigneeDO.class, on -> on |
| | | .eq(MesProTaskAssigneeDO::getTaskId, MesProTaskDO::getId)); |
| | | query.eq(MesProTaskAssigneeDO::getUserId, reqVO.getAssigneeUserId()); |
| | | } |
| | | // 待报工台账:进行中的任务(排除已完成/已取消),且仍有待报工量 |
| | | query.eq(MesProTaskDO::getStatus, MesProTaskStatusEnum.PREPARE.getStatus()); |
| | | query.in(MesProTaskDO::getStatus, MesProTaskStatusEnum.PREPARE.getStatus(),MesProTaskStatusEnum.PAUSED.getStatus()); |
| | | query.apply("(quantity - IFNULL(produced_quantity, 0)) > 0"); |
| | | query.likeIfPresent(MesProTaskDO::getCode, reqVO.getCode()) |
| | | .likeIfPresent(MesProTaskDO::getName, reqVO.getName()) |