自动化立体仓库 - WMS系统
zhang
2 天以前 5833f3f3aa5313fa1170cd9ab0c5857f964ba96c
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -34,6 +34,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@@ -109,6 +110,9 @@
    @Resource
    private OrderMapper orderMapper;
    @Resource
    private OrderDetlMapper orderDetlMapper;
    @Resource
    private BasCrnpMapper basCrnpMapper;
@@ -1517,6 +1521,7 @@
        gwmsGenerateInventoryDto.setWarehouseType(4);
        gwmsGenerateInventoryDto.setBarcode(wrkMast.getBarcode());
        gwmsGenerateInventoryDto.setPalletizingNo(wrkMast.getStaNo());
        gwmsGenerateInventoryDto.setGroupOrderNumber(wrkMast.getMemo());
        List<GwmsGenerateInventoryDto.MatList> matLists = new ArrayList<>();
        for (WrkDetl wrkDetl : wrkDetls) {
            boolean flag = true;
@@ -2266,5 +2271,60 @@
        return crnStn;
    }
    @Override
    @Transactional
    public R groupOrderConfirm(GroupOrderConfirmParam param) {
        // 1. 查询单据是否存在
        Order order = orderMapper.selectOrderByOrderNo(param.getGroupOrderNumber());
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        if (order == null) {
            // 1.1 不存在,新建单据
            order = new Order();
            order.setOrderNo(param.getGroupOrderNumber());
            order.setStatus(Integer.valueOf(param.getGroupStatus()));
            order.setOrderTime(sdf.format(new Date()));
            order.setCreateTime(new Date());
            order.setSettle(1L);
            order.setDocType(25L);
            orderMapper.insert(order);
        } else {
            // 1.2 存在,更新单据状态
            order.setStatus(Integer.valueOf(param.getGroupStatus()));
            orderMapper.updateById(order);
        }
        // 2. 一一对应遍历
        List<GroupOrderConfirmParam.PackageGroupNo> pkgList = param.getPackageGroupNos();
        List<GroupOrderConfirmParam.VolumeNumber> volList = param.getVolumeNumbers();
        int size = Math.min(pkgList.size(), volList.size()); // 防止越界
        for (int i = 0; i < size; i++) {
            GroupOrderConfirmParam.PackageGroupNo pg = pkgList.get(i);
            GroupOrderConfirmParam.VolumeNumber vn = volList.get(i);
            // 查询是否已存在该 detl
            OrderDetl detl = orderDetlMapper.selectByOrderNoAndPkgGroupNoAndVolumeNo(
                    param.getGroupOrderNumber(), pg.getPackageGroupNo(), vn.getVolumeNumber()
            );
            if (detl == null) {
                detl = new OrderDetl();
                detl.setOrderId(order.getId());
                detl.setOrderNo(param.getGroupOrderNumber());
                detl.setCreateTime(new Date());
                detl.setAnfme(1.0);
                detl.setBrand(pg.getPackageGroupNo());   // 包装组号
                detl.setModel(vn.getVolumeNumber());     // 卷号
                orderDetlMapper.insert(detl);
            }
        }
        return R.ok("组货确认成功");
    }
    /*...........................上饶江铜..............以上.............徐工汉云...........................*/
}