自动化立体仓库 - WMS系统
1
3 天以前 8ad01551a218f3dfa615ac3b5c4358ce5711c1d2
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -34,6 +34,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
 * Created by vincent on 2022/4/9
@@ -74,7 +75,8 @@
    private CommonService commonService;
    @Autowired
    private LocMastServiceImpl locMastService;
    @Autowired
    private WrkDetlService wrkDetlService;
    @Override
    @Transactional
    public void pakinOrderCreate(OpenOrderPakinParam param) {
@@ -773,7 +775,7 @@
        if (Cools.isEmpty(basArmMast)){
            throw new CoolException("未查询到相关机械臂拆码垛任务!!!"+ JSON.toJSONString(param));
        }
        basArmMastService.updateArmMastStatus(param.getArm_no(),basArmMast.getSortingLine(),basArmMast.getStaNo(),1,3);
//        basArmMastService.updateArmMastStatus(param.getArm_no(),basArmMast.getSortingLine(),basArmMast.getStaNo(),1,3);
        basArmMastService.updateArmMastStatus(param.getArm_no(),basArmMast.getSortingLine(),basArmMast.getStaNo(),2,3);
    }
@@ -797,6 +799,22 @@
        if (!Cools.isEmpty(basArmMast)){
            basArmMastService.updateArmMastStatus(param.getArm_no(),basArmMast.getSortingLine(),basArmMast.getStaNo(), 5,6);
        }
    }
    @Override
    @Transactional
    public boolean taskArmOrderResult(OrderArmEndParam param){
        if(param.getDone_num() == 0){
            if(basArmMastService.delete(new EntityWrapper<BasArmMast>().eq("arm_no",param.getArm_no())
                    .eq("status",1))){
                return true;
            }
        }
        if(param.getDone_num() == 1){
            return true;
        }
        log.error("未找到对应任务"+ param);
        return false;
    }
    @Override
@@ -839,11 +857,15 @@
        if (ts == null) {
            throw new CoolException("timestamp 生成失败");
        }
        String barcode = String.valueOf(ts);
        if (barcode.length() > 16) {
            barcode = barcode.substring(0, 16);
        }
        basAgvMast.setBarcode(barcode);
        String locNo = null;
        String staNo = null;
        basAgvMast.setBarcode(Long.toString(ts));
        basAgvMast.setTaskNo(commonService.getWorkNo(0));
        basAgvMast.setSourceStaNo(param.getSourceStaNo());
        basAgvMast.setStaNo(param.getStaNo());
@@ -872,7 +894,7 @@
        basAgvMastService.insert(basAgvMast);
        bindCtnrAndBinParam bindParam = new bindCtnrAndBinParam();
        bindParam.setBarcode(Long.toString(ts));
        bindParam.setBarcode(basAgvMast.getBarcode());
        bindParam.setIndBind("1");
        bindParam.setFloorNo(basAgvMast.getFloorNo());
        bindParam.setLocNo(locNo);
@@ -882,6 +904,44 @@
        }else{
            throw new CoolException("未能绑定");
        }
    }
    @Override
    @Transactional
    public List<PickWrkDetlListParam> getPickList(PdaPickListParam param) {
        List<WrkDetl> wrkDetls = wrkDetlService.findByBarcode(param.getBarcode());
        List<PickWrkDetlListParam> result = new ArrayList<>();
        wrkDetls.forEach(wrkDetl -> {
            Double total;
            EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
            LocDetl locDetl = locDetlService.selectOne(
                    wrapper.eq("zpallet", wrkDetl.getZpallet())
                            .eq("matnr", wrkDetl.getMatnr())
            );
            // 可拣总量:优先取库存表,否则取作业数量
            if (Cools.isEmpty(locDetl)) {
                total = wrkDetl.getAnfme();
            } else {
                total = locDetl.getAnfme();
            }
            // ===== 组装返回对象 =====
            PickWrkDetlListParam dto = new PickWrkDetlListParam();
            dto.setMatnr(wrkDetl.getMatnr());
            dto.setMaknx(wrkDetl.getMaktx());
            dto.setOrderNo(wrkDetl.getOrderNo());
            dto.setBoxType3(wrkDetl.getBoxType3());
            dto.setStandby1(wrkDetl.getStandby1());
            dto.setStandby2(wrkDetl.getStandby2());
            dto.setStandby3(wrkDetl.getStandby3());
            dto.setManu(wrkDetl.getManu());
            dto.setMemo(wrkDetl.getMemo());
            // 当前拣货数量
            dto.setCount(wrkDetl.getAnfme());
            // 可拣总数量
            dto.setTotal(total);
            result.add(dto);
        });
        return result;
    }
    @Override
@@ -1046,7 +1106,11 @@
            }
            return false;
        }else {
            if (basAgvMast.getIoType()==0 && (basAgvMast.getSourceStaNo()==2033 || basAgvMast.getStaNo()==4003)){
            if (basAgvMast != null
                    && basAgvMast.getIoType() != null
                    && (basAgvMast.getIoType() == 0)
                    && (Objects.equals(basAgvMast.getSourceStaNo(), 2033) || Objects.equals(basAgvMast.getStaNo(), 2034)
                    || Objects.equals(basAgvMast.getStaNo(), 4003)|| Objects.equals(basAgvMast.getSourceStaNo(), 4006))){
                AgvBindCtnrAndBinTwoParam agvBindCtnrAndBinTwoParam = new AgvBindCtnrAndBinTwoParam();
                agvBindCtnrAndBinTwoParam.setReqCode(String.valueOf(snowflakeIdWorker.nextId()));
                agvBindCtnrAndBinTwoParam.setPodcode(basAgvMast.getBarcode());