自动化立体仓库 - WMS系统
1
zhang
19 小时以前 be5373a650a8a40e808ab1664e59c60807809a7c
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -99,6 +99,9 @@
    @Autowired
    private ApiLogService apiLogService;
    @Autowired
    private WrkDetlLogService wrkDetlLogService;
    @Resource
    private MatMapper matMapper;
@@ -116,6 +119,14 @@
    @Resource
    private BasCrnpMapper basCrnpMapper;
    @Resource
    private ReviewService reviewService;
    @Resource
    private ReviewDetlService reviewDetlService;
    @Override
    @Transactional
@@ -1260,7 +1271,7 @@
                    // 箱号
                    HashMap<String, Object> zz = new HashMap<>();
                    List<GwmsGenerateInventoryDto.Rolls> rolls = obj.getRolls();
                    for(GwmsGenerateInventoryDto.Rolls roll :rolls) {
                    for (GwmsGenerateInventoryDto.Rolls roll : rolls) {
                        barcodeCount2 = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("model", roll.getRollNo()));
                        if (barcodeCount2 > 0) {
                            throw new CoolException("卷号已存在工作档(输送线):" + roll.getRollNo());
@@ -2385,6 +2396,70 @@
    @Override
    @Transactional
    public R groupOrderConfirmV2(GroupOrderConfirmParam param) {
        // 1. 查询单据是否存在
        String time = DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmss_F);
        Review review = reviewService.selectOne(new EntityWrapper<Review>().eq("order_no", param.getGroupOrderNumber()));
        if (review == null) {
            review = new Review();
            review.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
            review.setOrderNo(param.getGroupOrderNumber());
            review.setOrderTime(time);
            review.setDefNumber("系统同步");
            review.setSettle(1L);
            review.setStatus(1);
            review.setCreateBy(9527L);
            review.setCreateTime(new Date());
            reviewService.insert(review);
            review = reviewService.selectOne(new EntityWrapper<Review>().eq("order_no", param.getGroupOrderNumber()));
        } else {
            // 1.2 存在,更新单据状态
            review.setSettle(1L);
            reviewService.updateById(review);
        }
        reviewService.delete(
                new EntityWrapper<Review>().eq("order_no", param.getGroupOrderNumber())
        );
        // 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
            ReviewDetl detl = reviewDetlService.selectOne(new EntityWrapper<ReviewDetl>().eq("order_no", param.getGroupOrderNumber()).eq("brand", pg.getPackageGroupNo()).eq("model", vn.getVolumeNumber()));
            if (detl == null) {
                List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectList(new EntityWrapper<WrkDetlLog>().eq("brand", pg.getPackageGroupNo()).eq("model", vn.getVolumeNumber()));
                detl = new ReviewDetl();
                if (wrkDetlLogs != null && !wrkDetlLogs.isEmpty() && wrkDetlLogs.size() >= 1) {
                    detl.setSpecs(wrkDetlLogs.get(0).getSpecs());
                    detl.setBatch(wrkDetlLogs.get(0).getBatch());
                    detl.setAnfme(wrkDetlLogs.get(0).getAnfme());
                    detl.setMatnr(wrkDetlLogs.get(0).getMatnr());
                    detl.setMaktx(wrkDetlLogs.get(0).getMaktx());
                    detl.setUnit(wrkDetlLogs.get(0).getUnit());
                    detl.setDeadTime(wrkDetlLogs.get(0).getModiTime$());
                }
                detl.setOrderId(review.getId());
                detl.setOrderNo(param.getGroupOrderNumber());
                detl.setCreateTime(new Date());
                detl.setBrand(pg.getPackageGroupNo());   // 包装组号
                detl.setModel(vn.getVolumeNumber());     // 卷号
                reviewDetlService.insert(detl);
            }
        }
        return R.ok("组货确认成功");
    }
    @Override
    @Transactional
    public R returnOrder(ReturnOrderConfirmParam param) {
        if (Cools.isEmpty(param.getOrderNumber())) {
            param.setOrderNumber("THCK" + DateUtils.convert(new Date(), DateUtils.yyyyMMdd));