skyouc
2025-07-10 7aad95c1e8c51da713e630aa1bed0bbfa1078484
no message
1个文件已修改
45 ■■■■■ 已修改文件
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WaveSeedServiceImpl.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/WaveSeedServiceImpl.java
@@ -4,13 +4,13 @@
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.zy.asrs.framework.exception.CoolException;
import com.zy.asrs.wms.apis.wcs.entity.response.SowSeeds;
import com.zy.asrs.wms.apis.wcs.services.WcsApiService;
import com.zy.asrs.wms.asrs.entity.*;
import com.zy.asrs.wms.asrs.entity.dto.ShippingOrderDetlDto;
import com.zy.asrs.wms.asrs.entity.enums.OrderPickStatus;
import com.zy.asrs.wms.asrs.entity.param.WaveSeedReviewParam;
import com.zy.asrs.wms.asrs.mapper.*;
import com.zy.asrs.wms.asrs.service.OrderDetlService;
import com.zy.asrs.wms.asrs.service.WaveSeedService;
import com.zy.asrs.wms.asrs.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -24,14 +24,17 @@
public class WaveSeedServiceImpl extends ServiceImpl<WaveSeedMapper, WaveSeed> implements WaveSeedService {
    @Autowired
    private OrderMapper orderMapper;
    private OrderService orderMapper;
    @Autowired
    private OrderDetlMapper orderDetlMapper;
    @Autowired
    private TaskDetlMapper taskDetlMapper;
    private TaskDetlService taskDetlMapper;
    @Autowired
    private TaskService taskService;
    @Autowired
    private CacheSiteMapper cacheSiteMapper;
    @Autowired
    private WcsApiService wcsApiService;
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -68,7 +71,7 @@
        }
        waveSeed.setWorkQty(waveSeed.getWorkQty() + param.getReviewNum());
        TaskDetl taskDetl = taskDetlMapper.selectOne(new LambdaQueryWrapper<TaskDetl>().eq(TaskDetl::getId, waveSeed.getTaskDetlId()));
        TaskDetl taskDetl = taskDetlMapper.getOne(new LambdaQueryWrapper<TaskDetl>().eq(TaskDetl::getId, waveSeed.getTaskDetlId()));
        if (Objects.isNull(taskDetl)) {
            throw new CoolException("当前播种任务明细不存在!!");
        }
@@ -101,19 +104,29 @@
            return ord.getPickStatus() != OrderPickStatus.ORDER_PICK_STATUS_DONE.val;
        }).collect(Collectors.toList());
        int update;
        if (detlList.isEmpty()) {
             update = orderMapper.update(new LambdaUpdateWrapper<Order>()
             if (!orderMapper.update(new LambdaUpdateWrapper<Order>()
                     .eq(Order::getOrderNo, orderDetl.getOrderNo())
                     .set(Order::getPickStatus, OrderPickStatus.ORDER_PICK_STATUS_DONE.val));
        } else {
            update = orderMapper.update(new LambdaUpdateWrapper<Order>()
                    .eq(Order::getOrderNo, orderDetl.getOrderNo())
                    .set(Order::getPickStatus, OrderPickStatus.ORDER_PICK_STATUS_SECTION.val));
        }
                     .set(Order::getPickStatus, OrderPickStatus.ORDER_PICK_STATUS_DONE.val))) {
                 throw new CoolException("原始订单主单拣货状态更新失败!!");
             }
            try {
                Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getId, waveSeed.getTaskId()));
                if (Objects.isNull(task)) {
                    throw new CoolException("数据错误: 任务单据不存在!!");
                }
                wcsApiService.containerConveryor(task.getBarcode());
            } catch (Exception e) {
                log.error("执行异常:UNK",  e);
                throw new CoolException(e.getMessage());
            }
        if (update < 1) {
            throw new CoolException("原始订单主单拣货状态更新失败!!");
        } else {
            if (!orderMapper.update(new LambdaUpdateWrapper<Order>()
                    .eq(Order::getOrderNo, orderDetl.getOrderNo())
                    .set(Order::getPickStatus, OrderPickStatus.ORDER_PICK_STATUS_SECTION.val))) {
                throw new CoolException("原始订单主单拣货状态更新失败");
            }
        }
        waveSeed.setUpdateTime(new Date());