| | |
| | | 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; |
| | |
| | | RawGlassStorageDetailsService rawGlassStorageDetailsService; |
| | | |
| | | @Override |
| | | public List<RawGlassStorageTask> queryRawGlassHistoryTask(RawGlassTaskRequest request) { |
| | | 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() { |
| | | RawGlassTaskRequest request = redisUtil.getCacheObject("rawGlassTaskRequest"); |
| | | if (null == request) { |
| | | request = new RawGlassTaskRequest(); |
| | | } |
| | |
| | | .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() { |
| | | RawGlassTaskRequest request = redisUtil.getCacheObject("rawGlassTaskRequest"); |
| | | return queryRawGlassHistoryTask(request); |
| | | |
| | | } |
| | | |
| | |
| | | RawGlassStorageDetails details = rawGlassStorageDetailsService.getOne(new LambdaQueryWrapper<RawGlassStorageDetails>() |
| | | .ne(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_OUT).eq(RawGlassStorageDetails::getSlot, task.getStartSlot()) |
| | | ); |
| | | 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) { |
| | | 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; |
| | | 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; |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | return Boolean.TRUE; |
| | | } |