自动化立体仓库 - WMS系统
Junjie
2023-12-23 19e76055b26c9513e5bfd4e62e34a88b192109dd
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -1,6 +1,8 @@
package com.zy.asrs.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
@@ -389,7 +391,7 @@
            while (iterator1.hasNext()) {
                LocDetlAdjustParam.LocDetlAdjust adjust = iterator1.next();
                if (adjust.getCount() == 0) { continue; }
                if (locDetl.getMatnr().equals(adjust.getMatnr()) && Cools.eq(locDetl.getBatch(), adjust.getBatch())) {
                if (locDetl.getMatnr().equals(adjust.getMatnr()) && Cools.eq(locDetl.getBatch(), adjust.getBatch()) && Cools.eq(locDetl.getSuppCode(),adjust.getSuppCode()) && Cools.eq(locDetl.getThreeCode(),adjust.getThreeCode()) && Cools.eq(locDetl.getDeadTime(),adjust.getDeadTime())) {
                    if (!locDetl.getAnfme().equals(adjust.getCount())) {
                        // todo 盘点记录
                        // 修改库存
@@ -506,7 +508,9 @@
        if (Cools.isEmpty(wrkMast)){
            throw new CoolException(workNo+"工作档不存在");
        }
        if(!wrkMast.getLocNo().contains("@") || !wrkMast.getSourceLocNo().contains("@")){
            throw new CoolException("目标库位或者源库位暂未分配,无法取消");
        }
        //修改AGV工作档的工作状态为205.工作完成
        agvWrkMastService.updateWrkStsByWrkNo(wrkMast.getWrkNo(),205);
@@ -561,9 +565,21 @@
        agvWrkDetlList1.forEach(agvWrkDetl -> {
            if(!Cools.isEmpty(agvWrkDetl.getOrderNo())){
                OrderDetl orderDetl = orderDetlService.selectByOrderNoAndMatnr(agvWrkDetl.getOrderNo(),agvWrkDetl.getMatnr(),agvWrkDetl.getThreeCode(),agvWrkDetl.getDeadTime());
                orderDetl.setQty(orderDetl.getQty() - agvWrkDetl.getAnfme());
                orderDetlService.updateById(orderDetl);
                String orderNo = agvWrkDetl.getOrderNo();
                if(orderNo.contains("{")){
                    JSONArray orderArray = JSON.parseArray(orderNo);
                    for (Object o : orderArray){
                        JSONObject jsonobject = (JSONObject) o;
                        OrderDetl orderDetl = orderDetlService.selectByOrderNoAndMatnr(jsonobject.get("orderNo").toString(),agvWrkDetl.getMatnr(),agvWrkDetl.getThreeCode(),agvWrkDetl.getDeadTime());
                        orderDetl.setQty(orderDetl.getQty() - agvWrkDetl.getAnfme());
                        orderDetlService.updateById(orderDetl);
                    }
                }else {
                    OrderDetl orderDetl = orderDetlService.selectByOrderNoAndMatnr(agvWrkDetl.getOrderNo(),agvWrkDetl.getMatnr(),agvWrkDetl.getThreeCode(),agvWrkDetl.getDeadTime());
                    orderDetl.setQty(orderDetl.getQty() - agvWrkDetl.getAnfme());
                    orderDetlService.updateById(orderDetl);
                }
            }
        });