skyouc
昨天 3217d6f977040632c116293dbe483e0d22712e81
拣货功能优化
4个文件已修改
50 ■■■■ 已修改文件
rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/ContainerWaveParam.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/TaskService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/ContainerWaveParam.java
@@ -16,7 +16,7 @@
    private String container;
    private List<WkOrderItem> orderItems;
    private List<WkOrderItem> containerWaveDtos;
    private List<ContainerWaveDto> containerWaveDtos;
//    private List<ContainerWaveDto> containerWaveDtos;
}
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java
@@ -18,6 +18,7 @@
import com.vincent.rsf.server.system.service.FieldsService;
import com.vincent.rsf.server.system.service.impl.FieldsItemServiceImpl;
import com.vincent.rsf.server.system.service.impl.FieldsServiceImpl;
import com.vincent.rsf.server.system.utils.SystemAuthUtils;
import lombok.Synchronized;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -279,17 +280,18 @@
        List<WkOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getOrderId, params.getOrderId()));
        double total = orderItems.stream().mapToDouble(WkOrderItem::getQty).sum();
        order.setQty(total);
        double wkQty = orderItems.stream().mapToDouble(WkOrderItem::getWorkQty).sum();
        order.setQty(total).setWorkQty(order.getWorkQty() - wkQty);
        if (!asnOrderService.updateById(order)) {
            throw new CoolException("订单数量更新失败!!");
        }
//        //检查单据是否完成
//        if (order.getAnfme().compareTo(order.getQty()) == 0) {
//            order.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val);
//            if (!asnOrderService.updateById(order)) {
//                throw new CoolException("出库单更新状态失败");
//            }
//        }
        //检查单据是否完成
        if (order.getAnfme().compareTo(order.getQty()) == 0) {
            order.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val);
            if (!asnOrderService.updateById(order)) {
                throw new CoolException("出库单更新状态失败");
            }
        }
        return R.ok();
    }
@@ -304,9 +306,14 @@
    @Transactional(rollbackFor = Exception.class)
    @Synchronized
    public R saveWavePick(ContainerWaveParam containerWaveParam, Long loginUserId) {
        if (null == containerWaveParam || containerWaveParam.getContainerWaveDtos().size() <= 0) {
        if (null == containerWaveParam ) {
            return R.error("参数错误");
        }
        List<WkOrderItem> orderItems = containerWaveParam.getContainerWaveDtos();
        if (Objects.isNull(orderItems) || orderItems.isEmpty()) {
            return R.error("数据错误!!");
        }
        Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, containerWaveParam.getContainer()));
        if (null == task) {
            return R.error("未找到托盘对应的任务");
@@ -315,6 +322,21 @@
            return R.error("任务状态不是等待确认");
        }
        List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId()));
        taskItems.forEach(taskItem -> {
           if (!(taskItem.getQty().compareTo(taskItem.getAnfme()) == 0)) {
               throw new CoolException("有单据物料未拣,请拣完后再确认!!");
           }
        });
        orderItems.forEach(orderItem -> {
            try {
                taskService.saveOutStockItem(taskItems, orderItem, null, null, SystemAuthUtils.getLoginUserId());
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        });
//        containerWaveParam.getOrderItems().forEach(orderItem -> {
//
//        });
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/TaskService.java
@@ -3,8 +3,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.server.manager.controller.params.GenerateTaskParams;
import com.vincent.rsf.server.manager.entity.Task;
import com.vincent.rsf.server.manager.entity.WaitPakin;
import com.vincent.rsf.server.manager.entity.*;
import java.util.List;
@@ -29,4 +28,6 @@
    Task operateComplete(Long id, Long loginUserId);
    void moveToDeep(Long loginUserId, String curLoc) throws Exception;
    void saveOutStockItem(List<TaskItem> taskItems, WkOrderItem orderItem, WaveItem waveItem, WkOrderItem diffItem, Long loginUserId) throws Exception;
}
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -1251,6 +1251,7 @@
     * @description: 出库信息保存至库存明细表
     * @version 1.0
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void saveOutStockItem(List<TaskItem> taskItems, WkOrderItem orderItem, WaveItem waveItem, WkOrderItem diffItem, Long loginUserId) throws Exception {
        Stock stock = new Stock();