| | |
| | | |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.mes.common.config.Const; |
| | | import com.mes.rawglassdetails.entity.RawGlassStorageDetails; |
| | | import com.mes.rawglassdetails.service.RawGlassStorageDetailsService; |
| | | import com.mes.rawglassstation.entity.RawGlassStorageStation; |
| | | import com.mes.rawglasstask.entity.RawGlassStorageTask; |
| | | import com.mes.rawglasstask.entity.request.RawGlassTaskRequest; |
| | | import com.mes.rawglasstask.mapper.RawGlassStorageTaskMapper; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | |
| | | @Autowired |
| | | RedisUtil redisUtil; |
| | | |
| | | @Resource |
| | | RawGlassStorageDetailsService rawGlassStorageDetailsService; |
| | | |
| | | @Override |
| | | public Page<RawGlassStorageTask> queryRawGlassHistoryTask(RawGlassTaskRequest request) { |
| | | if (request.getBeginDate() == null) { |
| | | //设置默认时间 startDate:开始时间 endDate:结束时间 |
| | | request.setBeginDate(DateUtil.getBeginDate()); |
| | | request.setEndDate(DateUtil.getEndDate()); |
| | | } |
| | | Page<RawGlassStorageTask> page = new Page<>(request.getPageNo(), request.getPageSize()); |
| | | return page(page, new LambdaQueryWrapper<RawGlassStorageTask>() |
| | | .between(RawGlassStorageTask::getCreateTime, request.getBeginDate(), request.getEndDate()) |
| | | .in(CollectionUtil.isNotEmpty(request.getTaskState()), RawGlassStorageTask::getTaskState, request.getTaskState()) |
| | | .in(CollectionUtil.isNotEmpty(request.getTaskType()), RawGlassStorageTask::getTaskType, request.getTaskType()) |
| | | .orderByDesc(RawGlassStorageTask::getCreateTime)); |
| | | } |
| | | |
| | | @Override |
| | | public List<RawGlassStorageTask> listRawGlassTask() { |
| | |
| | | .in(CollectionUtil.isNotEmpty(request.getTaskType()), RawGlassStorageTask::getTaskType, request.getTaskType()) |
| | | .orderByDesc(RawGlassStorageTask::getCreateTime)); |
| | | |
| | | // return list(new QueryWrapper<RawGlassStorageTask>() |
| | | // .in(CollectionUtil.isNotEmpty(request.getTaskState()), "task_state", request.getTaskState()) |
| | | // .in(CollectionUtil.isNotEmpty(request.getTaskType()), "task_type", request.getTaskType()) |
| | | // .between("create_time", request.getBeginDate(), request.getEndDate()) |
| | | // .orderByDesc("create_time")); |
| | | } |
| | | |
| | | @Override |
| | |
| | | log.info("前端传入参数:{}", request); |
| | | return "success"; |
| | | } |
| | | |
| | | @Override |
| | | public Boolean taskSuccess(Long taskId) { |
| | | //获取任务正在执行的任务信息 |
| | | RawGlassStorageTask task = this.getById(taskId); |
| | | //去详情表获取正在执行的原片详情信息 |
| | | RawGlassStorageDetails details = rawGlassStorageDetailsService.getOne(new LambdaQueryWrapper<RawGlassStorageDetails>() |
| | | .ne(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_OUT).eq(RawGlassStorageDetails::getSlot, task.getStartSlot()) |
| | | ); |
| | | if(details!=null){ |
| | | RawGlassStorageDetails targetDetails = rawGlassStorageDetailsService.generateDetails(details, task.getEndSlot()); |
| | | int deviceId = details.getDeviceId(); |
| | | Integer taskType = task.getTaskType(); |
| | | log.info("将详情表的状态改为已出库"); |
| | | rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>() |
| | | .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_OUT) |
| | | .ne(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_OUT) |
| | | .eq(RawGlassStorageDetails::getSlot, task.getStartSlot())); |
| | | log.info("任务状态已更改为:已完成"); |
| | | this.update(new LambdaUpdateWrapper<RawGlassStorageTask>() |
| | | .eq(RawGlassStorageTask::getTaskState, Const.RAW_GLASS_TASK_NEW) |
| | | .set(RawGlassStorageTask::getTaskState, Const.RAW_GLASS_TASK_SUCCESS)); |
| | | switch (taskType) { |
| | | case 1: |
| | | case 3: |
| | | log.info("1、入库,3、调度任务。{}", taskType); |
| | | if (details.getRemainQuantity() > 0) { |
| | | rawGlassStorageDetailsService.save(targetDetails); |
| | | } |
| | | break; |
| | | case 2: |
| | | case 4: |
| | | log.info("2、出片,4、入库请求。{}", taskType); |
| | | targetDetails = new RawGlassStorageDetails(); |
| | | targetDetails.setSlot(task.getEndSlot()); |
| | | targetDetails.setDeviceId(deviceId); |
| | | targetDetails.setShelf(task.getStartSlot()); |
| | | targetDetails.setState(Const.RAW_GLASS_STATE_IN); |
| | | rawGlassStorageDetailsService.save(targetDetails); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | return Boolean.TRUE; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Boolean taskError(Long taskId) { |
| | | //获取任务正在执行的任务信息 |
| | | RawGlassStorageTask task = this.getById(taskId); |
| | | Integer taskType = task.getTaskType(); |
| | | if (taskType.equals(Const.RAW_GLASS_TASK_TYPE_IN_REQUEST)) { |
| | | rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>() |
| | | .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_OUT) |
| | | .eq(RawGlassStorageDetails::getSlot, task.getStartSlot()) |
| | | .in(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RUNNING, Const.RAW_GLASS_STATE_CAR)); |
| | | } else { |
| | | rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>() |
| | | .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN) |
| | | .eq(RawGlassStorageDetails::getSlot, task.getStartSlot()) |
| | | .in(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RUNNING, Const.RAW_GLASS_STATE_CAR)); |
| | | } |
| | | this.update(new LambdaUpdateWrapper<RawGlassStorageTask>() |
| | | .eq(RawGlassStorageTask::getTaskState, Const.RAW_GLASS_TASK_NEW) |
| | | .set(RawGlassStorageTask::getTaskState, Const.RAW_GLASS_TASK_FAILURE)); |
| | | return Boolean.TRUE; |
| | | } |
| | | |
| | | |
| | | } |